---------- Forwarded message ----------
From: Mark Pupilli <mpupi...@gmail.com>
Date: 17 November 2013 14:07
Subject: condition_variable_any missing from libstdc
To: linaro-toolchain@lists.linaro.org


Hi,

I sent this message a week ago but I don't think I was subscribed to the
list correctly. Apologies if it is repeated (it doesn't show in the
archive).

I have a problem with my cross build of (Linaro GCC 4.8-2013.10). I get the
following runtime linker errors regarding condition_variable_any:
"relocation error: /usr/local/lib/librobolib.so: symbol
_ZNSt22condition_variable_anyC1Ev, version GLIBCXX_3.4.11 not defined in
file libstdc++.so.6 with link time reference"

 If I examine my built version of libstdc with readelf I get the following
output:

 $ readelf -s ./src/.libs/libstdc++.so.6 | grep condition
 10383: 000c58d8    68 FUNC    LOCAL  DEFAULT   11 _ZNSt15error_conditionC1E
 10818: 000c58d8    68 FUNC    LOCAL  DEFAULT   11 _ZNSt15error_conditionC2E
 10837: 000c5944    40 FUNC    LOCAL  DEFAULT   11 _ZNKSt15error_condition8c
 10942: 000c591c    40 FUNC    LOCAL  DEFAULT   11 _ZNKSt15error_condition5v

Where as with the apt-get installed 4.6 version of the toolchain shows:

$ readelf -s /usr/arm-linux-gnueabi/lib/libstdc++.so.6 | grep condition
   777: 000523b1    12 FUNC    GLOBAL DEFAULT   12
_ZNSt22condition_variable@@GLIBCXX_3.4.11
   929: 000522f1   104 FUNC    GLOBAL DEFAULT   12
_ZNSt18condition_variable@@GLIBCXX_3.4.11
  1037: 000523b1    12 FUNC    GLOBAL DEFAULT   12
_ZNSt22condition_variable@@GLIBCXX_3.4.11
  1198: 000522f1   104 FUNC    GLOBAL DEFAULT   12
_ZNSt18condition_variable@@GLIBCXX_3.4.11
  1686: 00052385    14 FUNC    GLOBAL DEFAULT   12
_ZNSt18condition_variable@@GLIBCXX_3.4.11
  2166: 00052359    12 FUNC    GLOBAL DEFAULT   12
_ZNSt18condition_variable@@GLIBCXX_3.4.11
  2438: 00052359    12 FUNC    GLOBAL DEFAULT   12
_ZNSt18condition_variable@@GLIBCXX_3.4.11
  2685: 00052365    16 FUNC    GLOBAL DEFAULT   12
_ZNSt18condition_variable@@GLIBCXX_3.4.11
  3186: 00052395    26 FUNC    GLOBAL DEFAULT   12
_ZNSt22condition_variable@@GLIBCXX_3.4.11
  3448: 00052395    26 FUNC    GLOBAL DEFAULT   12
_ZNSt22condition_variable@@GLIBCXX_3.4.11
  3643: 00052375    14 FUNC    GLOBAL DEFAULT   12
_ZNSt18condition_variable@@GLIBCXX_3.4.11

(Which is still missing anything to do with condition_variable_any, but
given that my native 4.8 compiler doesn't contain this symbol either and my
code builds and runs natively, I assume this is how it should be).

Here is my build's version information:

$ arm-linux-gnueabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/home/mark/arm-linux-gnueabi-4.8.2/libexec/gcc/arm-linux-gnueabi/4.8.2/lto-wrapper
Target: arm-linux-gnueabi
Configured with: ../gcc-linaro-4.8-2013.10/configure
--target=arm-linux-gnueabi --prefix=/home/mark/arm-linux-gnueabi-4.8.2
--with-local-prefix=/home/mark/arm-linux-gnueabi-4.8.2 --disable-nls
--enable-shared --enable-multilib --disable-decimal-float
--enable-languages=c,c++
--with-mpfr-include=/home/mark/gcc-4.8-arm-linux/gcc-build/../gcc-linaro-4.8-2013.10/mpfr/src
--with-mpfr-lib=/home/mark/gcc-4.8-arm-linux/gcc-build/mpfr/src/.libs
--enable-clocale=gnu --enable-threads=posix --enable-__cxa_atexit
--disable-libstdcxx-pch --with-system-zlib
--with-headers=/home/mark/arm-linux-gnueabi-4.8.2/include
--with-libs=/home/mark/arm-linux-gnueabi-4.8.2/lib
--enable-libstdcxx-threads --enable-libstdcxx-time
Thread model: posix
gcc version 4.8.2 20131014 (prerelease) (Linaro GCC 4.8-2013.10)

I configured libstdc++-v3 respectively as follows:

$ ../gcc-linaro-4.8-2013.10/libstdc++-v3/configure --host=arm-linux-gnueabi
--prefix=/home/mark/arm-linux-gnueabi-4.8.2/ --enable-multilib
--enable-shared --disable-nls --disable-libstdcxx-pch
--enable-libstdcxx-threads --enable-libstdcxx-time

I assumed the relevant entries to enable C++11 threading and condition
variables etc would have been --enable-libstdcxx-threads
--enable-libstdcxx-time. I must be missing some other options or have done
something else wrong. Any suggestions?

thanks,
Mark
_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to