Package: ola
Version: 0.10.7.nojsmin-1
Severity: minor
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu disco ubuntu-patch

Dear maintainers,

The ola package is failing its c++ compile-and-run autopkgtest in Ubuntu,
because the test passes libraries on the g++ commandline before the source
file that references them, causing undefined references:

autopkgtest [05:31:12]: test command5: set -e; g++ -o linktest $(pkg-config --cf
lags --libs libola) debian/tests/hw.cc; ./linktest
autopkgtest [05:31:12]: test command5: [-----------------------
/usr/bin/ld: /tmp/cce3slFM.o: in function `main':
hw.cc:(.text+0x30): undefined reference to 
`ola::io::LoopbackDescriptor::LoopbackDescriptor()'
/usr/bin/ld: hw.cc:(.text+0x4a): undefined reference to 
`ola::client::OlaClient::OlaClient(ola::io::ConnectedDescriptor*)'
/usr/bin/ld: hw.cc:(.text+0x5a): undefined reference to 
`ola::client::OlaClient::Setup()'
/usr/bin/ld: hw.cc:(.text+0xfa): undefined reference to 
`ola::client::OlaClient::~OlaClient()'
/usr/bin/ld: hw.cc:(.text+0x142): undefined reference to 
`ola::client::OlaClient::~OlaClient()'
/usr/bin/ld: /tmp/cce3slFM.o: in function 
`ola::io::BidirectionalFileDescriptor::~BidirectionalFileDescriptor()':
hw.cc:(.text._ZN3ola2io27BidirectionalFileDescriptorD2Ev[_ZN3ola2io27BidirectionalFileDescriptorD5Ev]+0x18):
 undefined reference to `vtable for ola::io::BidirectionalFileDescriptor'
/usr/bin/ld: 
hw.cc:(.text._ZN3ola2io27BidirectionalFileDescriptorD2Ev[_ZN3ola2io27BidirectionalFileDescriptorD5Ev]+0x32):
 undefined reference to `vtable for ola::io::BidirectionalFileDescriptor'
[...]

  (http://autopkgtest.ubuntu.com/packages/o/ola/disco/s390x)

Per <https://wiki.ubuntu.com/ToolChain/CompilerFlags#A-Wl.2C--as-needed>,
libraries must be passed on the commandline after the objects which
reference them, otherwise they will be discarded by the linker, resulting in
errors such as the above.

I have uploaded the attached patch to ola in Ubuntu.  Please consider
applying it in Debian as well.

This is only a minor issue in Debian, but in Ubuntu it is a failing test
that is treated as a release blocker for this package.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
diff -Nru ola-0.10.7.nojsmin/debian/tests/control 
ola-0.10.7.nojsmin/debian/tests/control
--- ola-0.10.7.nojsmin/debian/tests/control     2018-09-07 11:27:03.000000000 
-0700
+++ ola-0.10.7.nojsmin/debian/tests/control     2018-11-13 23:27:32.000000000 
-0800
@@ -10,6 +10,6 @@
 Test-Command: pkg-config --cflags --libs libola
 Depends: libola-dev, pkg-config
 
-Test-Command: set -e; g++ -o linktest $(pkg-config --cflags --libs libola) 
debian/tests/hw.cc; ./linktest
+Test-Command: set -e; g++ -o linktest debian/tests/hw.cc $(pkg-config --cflags 
--libs libola); ./linktest
 Depends: libola-dev, g++, pkg-config
 Restrictions: rw-build-tree

Reply via email to