Re: trying to solve the pytango FTBFS with gcc5
On Sun, 06 Sep 2015 18:28:04 +0300, Dmitry Shachnev wrote: > The actual error is about another symbol: > > _PyTango.so: undefined symbol: _ZN5Tango17ranges_type2constIjE3strE > > This symbol is old ABI, as opposed to > _ZN5Tango17ranges_type2constIjE3strB5cxx11E > (which *does* exist in libtango.so.8). > > Can it be a bug in GCC? I don't think it should produce such a broken > _PyTango.so. I have created a small test project (attached) that has a library exporting "std::string Tango::ranges_type2const::str" symbol and a test program using it. Interestingly, GCC uses the symbol _ZN5Tango17ranges_type2constIjE3strE (*without* the B5cxx11 part) for both library and client. So now I wonder why does libtango have B5cxx11 in it symbols and what is it needed for. -- Dmitry Shachnev test-project.tar.gz Description: Unix tar archive signature.asc Description: OpenPGP digital signature
Re: trying to solve the pytango FTBFS with gcc5
On Sun, 6 Sep 2015 16:35:40 +0200, Matthias Klose wrote: >> The old abi is explicitly set by line 261 of setup.py. > > no. the libstdc++ ABI is unrelated to the C++ standard used for the build. > > the symbol is defined: > > $ objdump -T /usr/lib/x86_64-linux-gnu/libtango.so|grep > _ZN5Tango11DeviceProxy14get_corba_nameB5cxx11Eb > 002ce1a0 gDF .text 0388 Base > _ZN5Tango11DeviceProxy14get_corba_nameB5cxx11Eb > > so find out why _PyTango.so doesn't find it. The actual error is about another symbol: _PyTango.so: undefined symbol: _ZN5Tango17ranges_type2constIjE3strE This symbol is old ABI, as opposed to _ZN5Tango17ranges_type2constIjE3strB5cxx11E (which *does* exist in libtango.so.8). Can it be a bug in GCC? I don't think it should produce such a broken _PyTango.so. -- Dmitry Shachnev signature.asc Description: OpenPGP digital signature
Re: trying to solve the pytango FTBFS with gcc5
On 09/06/2015 04:24 PM, Scott Kitterman wrote: > On Sunday, September 06, 2015 08:23:37 AM PICCA Frederic-Emmanuel wrote: >> Hello, guyes, >> >> I am working on this bug report[1], and I would like your opinion. >> this package depends on the tango library which was rebuilt with gcc5 and >> updated for the libstdc++6 transition. >> >> Now as you can see in the bug report, pytango FTBFS with a missing symbol. >> and indeed the missing symbol correspond to a c++11 string. >> >> I would like to understand why pytango expect old abi string instead of the >> new c++11 even if during the build -std=cxx01 is given to gcc. For >> information the files are in fact c++ files. >> >> I also tryed with c++11 and I got the same error. >> >> So I do not understand what is going on. >> Is there something special done by distutil when compiling an extension ? >> is it a problem with gcc (the C compiler) which doesn not use correctly the >> -std:cxx flag when compiling c++ files ? >> >> any help would be appreciate. >> >> thanks >> >> Frederic >> >> >> [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797284 > > The old abi is explicitly set by line 261 of setup.py. no. the libstdc++ ABI is unrelated to the C++ standard used for the build. the symbol is defined: $ objdump -T /usr/lib/x86_64-linux-gnu/libtango.so|grep _ZN5Tango11DeviceProxy14get_corba_nameB5cxx11Eb 002ce1a0 gDF .text 0388 Base _ZN5Tango11DeviceProxy14get_corba_nameB5cxx11Eb so find out why _PyTango.so doesn't find it.
Re: trying to solve the pytango FTBFS with gcc5
On Sunday, September 06, 2015 08:23:37 AM PICCA Frederic-Emmanuel wrote: > Hello, guyes, > > I am working on this bug report[1], and I would like your opinion. > this package depends on the tango library which was rebuilt with gcc5 and > updated for the libstdc++6 transition. > > Now as you can see in the bug report, pytango FTBFS with a missing symbol. > and indeed the missing symbol correspond to a c++11 string. > > I would like to understand why pytango expect old abi string instead of the > new c++11 even if during the build -std=cxx01 is given to gcc. For > information the files are in fact c++ files. > > I also tryed with c++11 and I got the same error. > > So I do not understand what is going on. > Is there something special done by distutil when compiling an extension ? > is it a problem with gcc (the C compiler) which doesn not use correctly the > -std:cxx flag when compiling c++ files ? > > any help would be appreciate. > > thanks > > Frederic > > > [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797284 The old abi is explicitly set by line 261 of setup.py. Scott K