RM: rsplib fails to build from source: ‘SCTP_GET_PEER_ADDRS_NUM_OLD’ undeclared

Bug #1714101 reported by Steve Langasek
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
rsplib (Ubuntu)
Fix Released
High
Thomas Dreibholz

Bug Description

The rsplib package fails to build in artful:

netutilities.c: In function ‘sctp_getpaddrs’:
netutilities.c:1947:15: error: ‘SCTP_GET_PEER_ADDRS_NUM_OLD’ undeclared (first use in this function)
               SCTP_GET_PEER_ADDRS_NUM_OLD,
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
netutilities.c:1947:15: note: each undeclared identifier is reported only once for each function it appears in
netutilities.c:1948:15: error: ‘SCTP_GET_PEER_ADDRS_OLD’ undeclared (first use in this function)
               SCTP_GET_PEER_ADDRS_OLD,
               ^~~~~~~~~~~~~~~~~~~~~~~
netutilities.c: In function ‘sctp_getladdrs’:
netutilities.c:1961:14: error: ‘SCTP_GET_LOCAL_ADDRS_NUM_OLD’ undeclared (first use in this function)
              SCTP_GET_LOCAL_ADDRS_NUM_OLD,
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
netutilities.c:1962:14: error: ‘SCTP_GET_LOCAL_ADDRS_OLD’ undeclared (first use in this function)
              SCTP_GET_LOCAL_ADDRS_OLD,
              ^~~~~~~~~~~~~~~~~~~~~~~~

https://launchpad.net/ubuntu/+source/rsplib/3.0.1-1ubuntu4

Despite a current version number of 3.0.1-1ubuntuN, it appears this package has never been in Debian; and it hasn't seen any new upstream versions since 2012. If this package is no longer being maintained, it should be removed from the archive.

Tags: ftbfs patch
Steve Langasek (vorlon)
Changed in rsplib (Ubuntu):
assignee: nobody → Thomas Dreibholz (dreibh)
status: New → Triaged
importance: Undecided → High
tags: added: ftbfs
Revision history for this message
Steve Langasek (vorlon) wrote :

I see that there is a new upstream version available (debian/watch is out of date, the current site seems to be https://www.uni-due.de/~be0001/rserpool/), and it does fix this build failure. Attached is a debdiff against the packaging for this, but it's incomplete because librsplib2 has an ABI-breaking change without an soname change, so that would need to be resolved. In any case, I'm not planning to upload this to the archive as-is; someone would need to show interest in keeping this package in Ubuntu long-term for me to be willing to do so.

tags: added: patch
Revision history for this message
Steve Langasek (vorlon) wrote :

This build failure has remained unfixed in a stable Ubuntu release after 2 months +, so I'm going to go ahead and turn this into a removal bug for rsplib. It can always be brought back into Ubuntu later if there is a maintainer for it.

summary: - rsplib fails to build from source: ‘SCTP_GET_PEER_ADDRS_NUM_OLD’
+ RM: rsplib fails to build from source: ‘SCTP_GET_PEER_ADDRS_NUM_OLD’
undeclared
Revision history for this message
Steve Langasek (vorlon) wrote :

Removing packages from bionic:
 rsplib 3.0.1-1ubuntu3 in bionic
  libcpprspserver-dev 3.0.1-1ubuntu3 in bionic amd64
  libcpprspserver-dev 3.0.1-1ubuntu3 in bionic armhf
  libcpprspserver-dev 3.0.1-1ubuntu3 in bionic i386
  libcpprspserver2 3.0.1-1ubuntu3 in bionic amd64
  libcpprspserver2 3.0.1-1ubuntu3 in bionic armhf
  libcpprspserver2 3.0.1-1ubuntu3 in bionic i386
  librsplib-dev 3.0.1-1ubuntu3 in bionic amd64
  librsplib-dev 3.0.1-1ubuntu3 in bionic armhf
  librsplib-dev 3.0.1-1ubuntu3 in bionic i386
  librsplib2 3.0.1-1ubuntu3 in bionic amd64
  librsplib2 3.0.1-1ubuntu3 in bionic armhf
  librsplib2 3.0.1-1ubuntu3 in bionic i386
  rsplib-dbg 3.0.1-1ubuntu3 in bionic amd64
  rsplib-dbg 3.0.1-1ubuntu3 in bionic armhf
  rsplib-dbg 3.0.1-1ubuntu3 in bionic i386
  rsplib-docs 3.0.1-1ubuntu3 in bionic amd64
  rsplib-docs 3.0.1-1ubuntu3 in bionic arm64
  rsplib-docs 3.0.1-1ubuntu3 in bionic armhf
  rsplib-docs 3.0.1-1ubuntu3 in bionic i386
  rsplib-docs 3.0.1-1ubuntu3 in bionic ppc64el
  rsplib-docs 3.0.1-1ubuntu3 in bionic s390x
  rsplib-fgp-cfgfiles 3.0.1-1ubuntu3 in bionic amd64
  rsplib-fgp-cfgfiles 3.0.1-1ubuntu3 in bionic arm64
  rsplib-fgp-cfgfiles 3.0.1-1ubuntu3 in bionic armhf
  rsplib-fgp-cfgfiles 3.0.1-1ubuntu3 in bionic i386
  rsplib-fgp-cfgfiles 3.0.1-1ubuntu3 in bionic ppc64el
  rsplib-fgp-cfgfiles 3.0.1-1ubuntu3 in bionic s390x
  rsplib-legacy-wrappers 3.0.1-1ubuntu3 in bionic amd64
  rsplib-legacy-wrappers 3.0.1-1ubuntu3 in bionic armhf
  rsplib-legacy-wrappers 3.0.1-1ubuntu3 in bionic i386
  rsplib-registrar 3.0.1-1ubuntu3 in bionic amd64
  rsplib-registrar 3.0.1-1ubuntu3 in bionic armhf
  rsplib-registrar 3.0.1-1ubuntu3 in bionic i386
  rsplib-services 3.0.1-1ubuntu3 in bionic amd64
  rsplib-services 3.0.1-1ubuntu3 in bionic armhf
  rsplib-services 3.0.1-1ubuntu3 in bionic i386
  rsplib-tools 3.0.1-1ubuntu3 in bionic amd64
  rsplib-tools 3.0.1-1ubuntu3 in bionic armhf
  rsplib-tools 3.0.1-1ubuntu3 in bionic i386
Comment: FTBFS, Ubuntu-only, no maintainer; LP: #1714101
1 package successfully removed.
Removing packages from bionic-proposed:
 rsplib 3.0.1-1ubuntu4 in bionic
Comment: FTBFS, Ubuntu-only, no maintainer; LP: #1714101
1 package successfully removed.

Changed in rsplib (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Thomas Dreibholz (dreibh) wrote :

This bug should better have been reported upstream into the bug tracker of the rsplib GitHub repository. I just noticed it now.

For Ubuntu 18.04, it is strongly recommended to upgrade from version 3.0.1 to the latest version 3.1.7, which has just been released (https://www.uni-due.de/~be0001/rserpool/#Download). I created updated packages for 3.1.7 in my PPA at https://launchpad.net/~dreibh/+archive/ubuntu/ppa/+packages?field.name_filter=rsplib&field.status_filter=published&field.series_filter= . The bug (actually a change of the underlying lksctp header files) is solved there.

For version 3.0.1, I will create a backport.

Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Bug 1714101] Re: RM:rsplib fails to build from source: ‘SCTP_GET_PEER_ADDRS_NUM_OLD’undeclared

Hi Thomas,

On Sun, Oct 29, 2017 at 10:53:52AM -0000, Thomas Dreibholz wrote:
> This bug should better have been reported upstream into the bug tracker
> of the rsplib GitHub repository. I just noticed it now.

Unfortunately, neither the contents of the source package nor the upstream
webpage I found had directed me towards this github repository at the time I
was looking.

Furthermore, Launchpad is the bug tracker that Ubuntu users will use to file
bugs against packages in Ubuntu. We have no way to automatically forward
these bug reports to github issues; but anyone can subscribe to bug reports
on a given package if they are interested.

If you want this package to be in Ubuntu, I strongly encourage you to
subscribe to those bug reports.

> For Ubuntu 18.04, it is strongly recommended to upgrade from version
> 3.0.1 to the latest version 3.1.7, which has just been released
> (https://www.uni-due.de/~be0001/rserpool/#Download). I created updated
> packages for 3.1.7 in my PPA at
> https://launchpad.net/~dreibh/+archive/ubuntu/ppa/+packages?field.name_filter=rsplib&field.status_filter=published&field.series_filter=
> . The bug (actually a change of the underlying lksctp header files) is
> solved there.

Yes, that was the conclusion I came to as well, but please see my previous
comment about the issue that blocked me from updating this in Ubuntu:

  librsplib2 has an ABI-breaking change without an soname change, so that
  would need to be resolved.

I see that the packages uploaded to your ppa still call this binary package
librsplib2. Is it your intention to keep the soname the same in spite of
the ABI break?

Do you want this package reuploaded to bionic? I'd be more than willing to
sponsor it back in if you plan to maintain it, and given a resolution to the
ABI question.

Revision history for this message
Thomas Dreibholz (dreibh) wrote :

The attached patch fixes the issue in rsplib-3.0.1.

Details: the code causing the issues provides a work-around for a bug in the long obsolete libsctp<=1.0.7. For example, even Ubuntu 12.04 already uses libsctp-1.0.11. So, the bugfix for rsplib is rather straightforward: it just removes the obsolete work-around, and rsplib uses the original libsctp functions.

Revision history for this message
Thomas Dreibholz (dreibh) wrote :

Link to the rsplib-3.0.1 branch (with the fix) in the rsplib GitHub repository: https://github.com/dreibh/rsplib/tree/rsplib-3.0.1 .

Revision history for this message
Thomas Dreibholz (dreibh) wrote :

I will fix the rsplib-3.1.7 issue shortly with an updated version number, in order to reflect the ABI break. Of course, I am still interested in getting rsplib up-to-date in Bionic.

Revision history for this message
Steve Langasek (vorlon) wrote :

Hi Thomas,

I've reuploaded rsplib 3.0.1 to bionic, but it fails as shown here:

/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DLINUX -D_GNU_SOURCE -std=c++98 -D_FORTIFY_SOURCE=2 -DHAVE_KERNEL_SCTP -Wall -g -D_REENTRANT -D_THREAD_SAFE -DINCLUDE_SIMPLEREDBLACKTREE -DUSE_SIMPLEREDBLACKTREE -c -o udplikeserver.lo udplikeserver.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DLINUX -D_GNU_SOURCE -std=c++98 -D_FORTIFY_SOURCE=2 -DHAVE_KERNEL_SCTP -Wall -g -D_REENTRANT -D_THREAD_SAFE -DINCLUDE_SIMPLEREDBLACKTREE -DUSE_SIMPLEREDBLACKTREE -c udplikeserver.cc -fPIC -DPIC -o .libs/udplikeserver.o
udplikeserver.cc: In member function ‘virtual void UDPLikeServer::poolElement(const char*, const char*, rsp_info*, rsp_loadinfo*, const sockaddr*, size_t, unsigned int, unsigned int, bool, bool, TagItem*)’:
udplikeserver.cc:275:38: error: ‘min’ was not declared in this scope
                            timeout = min(timeout, NextTimerTimeStamp - now);
                                      ^~~
udplikeserver.cc:275:38: note: suggested alternative: ‘fmin’
                            timeout = min(timeout, NextTimerTimeStamp - now);
                                      ^~~
                                      fmin
Makefile:1375: recipe for target 'udplikeserver.lo' failed

https://launchpad.net/ubuntu/+source/rsplib/3.0.1-1ubuntu5/+build/13650519

Revision history for this message
Thomas Dreibholz (dreibh) wrote :

The updated patch also allows to build rsplib-3.0.1 under Bionic.

Revision history for this message
Steve Langasek (vorlon) wrote :

This patch gets through the compilation, but the package build fails because this drops the sctp_get{l,p}addrs symbols from the library. It looks like nothing should be using these symbols (they're not exported in any public headers), so they should be ok to drop without considering it an ABI change?

Revision history for this message
Thomas Dreibholz (dreibh) wrote :

sctp_get{l,p}addrs() are functions provided by libsctp from libsctp1 (source package: lksctp-tools). The ugly bug work-around (for obsolete versions of libsctp) was to just redefine these functions in the rsplib code, and to provide working implementations for rsplib-based programs. So, it is fine to drop these functions, since they are not part of the rsplib ABI.

Revision history for this message
Thomas Dreibholz (dreibh) wrote :

The current rsplib-3.1.8 (from the PPA) now uses updated package names for the library, in order to indicate the ABI changes. It would be useful to get rsplib updated in Bionic.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.