[Bug 1331242] [NEW] libstdc++6: missing symbols std::__once_functor, std::__get_once_mutex(), `std::__set_once_functor_lock_ptr(std::unique_lock<std::mutex>*)

Steve Langasek steve.langasek at canonical.com
Tue Jun 17 23:51:57 UTC 2014


Public bug reported:

Building unity-scope-click in the landing ppa against current utopic
fails with undefined references to various libstdc functions.

/usr/bin/arm-linux-gnueabihf-g++   -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2  -std=c++11 -O2 -g -Wextra -Wall -Werror -fPIC   -Wl,-Bsymbolic-functions -Wl,-z,relro CMakeFiles/libclick-scope-tests.dir/test_download_manager.cpp.o CMakeFiles/libclick-scope-tests.dir/test_index.cpp.o CMakeFiles/libclick-scope-tests.dir/test_interface.cpp.o CMakeFiles/libclick-scope-tests.dir/test_configuration.cpp.o CMakeFiles/libclick-scope-tests.dir/test_reviews.cpp.o CMakeFiles/libclick-scope-tests.dir/test_smartconnect.cpp.o CMakeFiles/libclick-scope-tests.dir/test_webclient.cpp.o CMakeFiles/libclick-scope-tests.dir/test_data.cpp.o CMakeFiles/libclick-scope-tests.dir/libclick-scope-tests_automoc.cpp.o  -o libclick-scope-tests -rdynamic /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5.2.1 ../click/libclickscope.a -lunity-scopes -lunity-api -lubuntuoneauth-2.0 -lQt5DBus -lQt5Network -lsignon-qt5 -laccounts-qt5 -lQt5Xml -lQt5Core -lubuntu-download-manager-client -lQt5DBus -lQt5Core -lubuntu-download-manager-common -lQt5DBus -lQt5Core -ljsoncpp ../../gmock/libgmock.a ../../gmock/libgmock_main.a -lpthread -lQt5Network -lsignon-qt5 -laccounts-qt5 -lQt5Xml -lubuntu-download-manager-client -lubuntu-download-manager-common -lboost_locale 
../click/libclickscope.a(qtbridge.cpp.o): In function `void std::call_once<void (std::__future_base::_State_base::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>&, bool&), std::__future_base::_State_base* const, std::reference_wrapper<std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()> >, std::reference_wrapper<bool> >(std::once_flag&, void (std::__future_base::_State_base::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>&, bool&), std::__future_base::_State_base* const&&, std::reference_wrapper<std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()> >&&, std::reference_wrapper<bool>&&)':
/usr/include/c++/4.8/mutex:779: undefined reference to `std::__get_once_mutex()'
/usr/include/c++/4.8/mutex:783: undefined reference to `std::__set_once_functor_lock_ptr(std::unique_lock<std::mutex>*)'
/usr/include/c++/4.8/mutex:790: undefined reference to `std::__set_once_functor_lock_ptr(std::unique_lock<std::mutex>*)'
../click/libclickscope.a(qtbridge.cpp.o): In function `function<std::call_once(std::once_flag&, _Callable&&, _Args&& ...) [with _Callable = void (std::__future_base::_State_base::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>()>&, bool&); _Args = {std::__future_base::_State_base* const, std::reference_wrapper<std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>()> >, std::reference_wrapper<bool>}]::__lambda0, void>':
/usr/include/c++/4.8/functional:2030: undefined reference to `std::__once_functor'
collect2: error: ld returned 1 exit status

https://launchpadlibrarian.net/177798305/buildlog_ubuntu-utopic-armhf.unity-scope-click_0.1%2B14.10.20140617.5-0ubuntu1_FAILEDTOBUILD.txt.gz
https://launchpad.net/~ci-train-ppa-service/+archive/landing-018/

This build was done with binutils 2.24.51.20140617-1ubuntu1, g++-4.8
4.8.3-3ubuntu2, libstdc++-4.8-dev .3-3ubuntu2, and libstdc++6
4.9.0-7ubuntu2.

/usr/include/c++/4.8/mutex:779: undefined reference to `std::__get_once_mutex()'
/usr/include/c++/4.8/mutex:783: undefined reference to `std::__set_once_functor_lock_ptr(std::unique_lock<std::mutex>*)'
/usr/include/c++/4.8/mutex:790: undefined reference to `std::__set_once_functor_lock_ptr(std::unique_lock<std::mutex>*)'

None of these symbols are present in libstdc++6 4.8.2-19ubuntu1 from
trusty, nor are they present in current libstdc++6 4.9.0-7ubuntu2 in
utopic.  All were present in libstdc++6 4.9.0-7ubuntu1.

The same issue has been seen when building mir in the landing-016 silo.

https://launchpad.net/~ci-train-ppa-service/+archive/landing-016/+build/6107085/+files/buildlog_ubuntu-utopic-armhf.mir_0.3.0%2B14.10.20140617.4-0ubuntu1_FAILEDTOBUILD.txt.gz
https://launchpad.net/~ci-train-ppa-service/+archive/landing-016/

(Other packages in that silo have failed to build because they're
incorrectly building against an older version of mir in the ppa.  They
are basically showing the converse of this bug, caused by a previous mir
build succeeding against a libstdc++6 with a different ABI.)

** Affects: gcc-4.9 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-4.9 in Ubuntu.
https://bugs.launchpad.net/bugs/1331242

Title:
  libstdc++6: missing symbols std::__once_functor,
  std::__get_once_mutex(),
  `std::__set_once_functor_lock_ptr(std::unique_lock<std::mutex>*)

Status in “gcc-4.9” package in Ubuntu:
  New

Bug description:
  Building unity-scope-click in the landing ppa against current utopic
  fails with undefined references to various libstdc functions.

  /usr/bin/arm-linux-gnueabihf-g++   -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2  -std=c++11 -O2 -g -Wextra -Wall -Werror -fPIC   -Wl,-Bsymbolic-functions -Wl,-z,relro CMakeFiles/libclick-scope-tests.dir/test_download_manager.cpp.o CMakeFiles/libclick-scope-tests.dir/test_index.cpp.o CMakeFiles/libclick-scope-tests.dir/test_interface.cpp.o CMakeFiles/libclick-scope-tests.dir/test_configuration.cpp.o CMakeFiles/libclick-scope-tests.dir/test_reviews.cpp.o CMakeFiles/libclick-scope-tests.dir/test_smartconnect.cpp.o CMakeFiles/libclick-scope-tests.dir/test_webclient.cpp.o CMakeFiles/libclick-scope-tests.dir/test_data.cpp.o CMakeFiles/libclick-scope-tests.dir/libclick-scope-tests_automoc.cpp.o  -o libclick-scope-tests -rdynamic /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5.2.1 ../click/libclickscope.a -lunity-scopes -lunity-api -lubuntuoneauth-2.0 -lQt5DBus -lQt5Network -lsignon-qt5 -laccounts-qt5 -lQt5Xml -lQt5Core -lubuntu-download-manager-client -lQt5DBus -lQt5Core -lubuntu-download-manager-common -lQt5DBus -lQt5Core -ljsoncpp ../../gmock/libgmock.a ../../gmock/libgmock_main.a -lpthread -lQt5Network -lsignon-qt5 -laccounts-qt5 -lQt5Xml -lubuntu-download-manager-client -lubuntu-download-manager-common -lboost_locale 
  ../click/libclickscope.a(qtbridge.cpp.o): In function `void std::call_once<void (std::__future_base::_State_base::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>&, bool&), std::__future_base::_State_base* const, std::reference_wrapper<std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()> >, std::reference_wrapper<bool> >(std::once_flag&, void (std::__future_base::_State_base::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>&, bool&), std::__future_base::_State_base* const&&, std::reference_wrapper<std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()> >&&, std::reference_wrapper<bool>&&)':
  /usr/include/c++/4.8/mutex:779: undefined reference to `std::__get_once_mutex()'
  /usr/include/c++/4.8/mutex:783: undefined reference to `std::__set_once_functor_lock_ptr(std::unique_lock<std::mutex>*)'
  /usr/include/c++/4.8/mutex:790: undefined reference to `std::__set_once_functor_lock_ptr(std::unique_lock<std::mutex>*)'
  ../click/libclickscope.a(qtbridge.cpp.o): In function `function<std::call_once(std::once_flag&, _Callable&&, _Args&& ...) [with _Callable = void (std::__future_base::_State_base::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>()>&, bool&); _Args = {std::__future_base::_State_base* const, std::reference_wrapper<std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>()> >, std::reference_wrapper<bool>}]::__lambda0, void>':
  /usr/include/c++/4.8/functional:2030: undefined reference to `std::__once_functor'
  collect2: error: ld returned 1 exit status

  https://launchpadlibrarian.net/177798305/buildlog_ubuntu-utopic-armhf.unity-scope-click_0.1%2B14.10.20140617.5-0ubuntu1_FAILEDTOBUILD.txt.gz
  https://launchpad.net/~ci-train-ppa-service/+archive/landing-018/

  This build was done with binutils 2.24.51.20140617-1ubuntu1, g++-4.8
  4.8.3-3ubuntu2, libstdc++-4.8-dev .3-3ubuntu2, and libstdc++6
  4.9.0-7ubuntu2.

  /usr/include/c++/4.8/mutex:779: undefined reference to `std::__get_once_mutex()'
  /usr/include/c++/4.8/mutex:783: undefined reference to `std::__set_once_functor_lock_ptr(std::unique_lock<std::mutex>*)'
  /usr/include/c++/4.8/mutex:790: undefined reference to `std::__set_once_functor_lock_ptr(std::unique_lock<std::mutex>*)'

  None of these symbols are present in libstdc++6 4.8.2-19ubuntu1 from
  trusty, nor are they present in current libstdc++6 4.9.0-7ubuntu2 in
  utopic.  All were present in libstdc++6 4.9.0-7ubuntu1.

  The same issue has been seen when building mir in the landing-016
  silo.

  https://launchpad.net/~ci-train-ppa-service/+archive/landing-016/+build/6107085/+files/buildlog_ubuntu-utopic-armhf.mir_0.3.0%2B14.10.20140617.4-0ubuntu1_FAILEDTOBUILD.txt.gz
  https://launchpad.net/~ci-train-ppa-service/+archive/landing-016/

  (Other packages in that silo have failed to build because they're
  incorrectly building against an older version of mir in the ppa.  They
  are basically showing the converse of this bug, caused by a previous
  mir build succeeding against a libstdc++6 with a different ABI.)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.9/+bug/1331242/+subscriptions



More information about the foundations-bugs mailing list