{"action":"closed","issue":{"url":"https://api.github.com/repos/cpp-netlib/cpp-netlib/issues/329","repository_url":"https://api.github.com/repos/cpp-netlib/cpp-netlib","labels_url":"https://api.github.com/repos/cpp-netlib/cpp-netlib/issues/329/labels{/name}","comments_url":"https://api.github.com/repos/cpp-netlib/cpp-netlib/issues/329/comments","events_url":"https://api.github.com/repos/cpp-netlib/cpp-netlib/issues/329/events","html_url":"https://github.com/cpp-netlib/cpp-netlib/issues/329","id":23204892,"number":329,"title":"0.10 FTBFS on s390x, ia64, mips","user":{"login":"infinity0","id":78398,"avatar_url":"https://avatars.githubusercontent.com/u/78398?v=3","gravatar_id":"","url":"https://api.github.com/users/infinity0","html_url":"https://github.com/infinity0","followers_url":"https://api.github.com/users/infinity0/followers","following_url":"https://api.github.com/users/infinity0/following{/other_user}","gists_url":"https://api.github.com/users/infinity0/gists{/gist_id}","starred_url":"https://api.github.com/users/infinity0/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/infinity0/subscriptions","organizations_url":"https://api.github.com/users/infinity0/orgs","repos_url":"https://api.github.com/users/infinity0/repos","events_url":"https://api.github.com/users/infinity0/events{/privacy}","received_events_url":"https://api.github.com/users/infinity0/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"deanberris","id":839088,"avatar_url":"https://avatars.githubusercontent.com/u/839088?v=3","gravatar_id":"","url":"https://api.github.com/users/deanberris","html_url":"https://github.com/deanberris","followers_url":"https://api.github.com/users/deanberris/followers","following_url":"https://api.github.com/users/deanberris/following{/other_user}","gists_url":"https://api.github.com/users/deanberris/gists{/gist_id}","starred_url":"https://api.github.com/users/deanberris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deanberris/subscriptions","organizations_url":"https://api.github.com/users/deanberris/orgs","repos_url":"https://api.github.com/users/deanberris/repos","events_url":"https://api.github.com/users/deanberris/events{/privacy}","received_events_url":"https://api.github.com/users/deanberris/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/cpp-netlib/cpp-netlib/milestones/9","html_url":"https://github.com/cpp-netlib/cpp-netlib/milestones/0.11.0","labels_url":"https://api.github.com/repos/cpp-netlib/cpp-netlib/milestones/9/labels","id":394488,"number":9,"title":"0.11.0","description":null,"creator":{"login":"deanberris","id":839088,"avatar_url":"https://avatars.githubusercontent.com/u/839088?v=3","gravatar_id":"","url":"https://api.github.com/users/deanberris","html_url":"https://github.com/deanberris","followers_url":"https://api.github.com/users/deanberris/followers","following_url":"https://api.github.com/users/deanberris/following{/other_user}","gists_url":"https://api.github.com/users/deanberris/gists{/gist_id}","starred_url":"https://api.github.com/users/deanberris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deanberris/subscriptions","organizations_url":"https://api.github.com/users/deanberris/orgs","repos_url":"https://api.github.com/users/deanberris/repos","events_url":"https://api.github.com/users/deanberris/events{/privacy}","received_events_url":"https://api.github.com/users/deanberris/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":21,"state":"open","created_at":"2013-08-05T11:35:56Z","updated_at":"2016-06-14T19:36:53Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2013-11-24T13:11:04Z","updated_at":"2016-06-14T19:36:53Z","closed_at":"2016-06-14T19:36:53Z","body":"0.10 FTBFS (fails to build from source) on platforms s390x and ia64. I don't have access to the build machines nor an architecture equivalent to debug this properly, but I think I've found the cause.\r\n\r\nSee build logs for [ia64](https://buildd.debian.org/status/fetch.php?pkg=cpp-netlib&arch=ia64&ver=0.10.1-1&stamp=1385292009) and [s390x](https://buildd.debian.org/status/fetch.php?pkg=cpp-netlib&arch=s390x&ver=0.10.1-1&stamp=1385288228) and [mips](https://buildd.debian.org/status/fetch.php?pkg=cpp-netlib&arch=mips&ver=0.10.1-1&stamp=1385355483), both with the following error:\r\n\r\n~~~~\r\n/usr/bin/c++   -g -O2 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DNDEBUG    CMakeFiles/cpp-netlib-utils_thread_pool.dir/utils_thread_pool.cpp.o  -o ../../../tests/cpp-netlib-utils_thread_pool -rdynamic -Wl,-Bstatic -lboost_unit_test_framework -lboost_system -lboost_regex -lboost_date_time -lboost_thread -lboost_filesystem -lboost_program_options -lboost_chrono -Wl,-Bdynamic -lpthread -lpthread ../src/libcppnetlib-uri.so.0.10.1 -lssl -lcrypto -lrt -Wl,-rpath,/«PKGBUILDDIR»/obj-ia64-linux-gnu/libs/network/src \r\n/usr/lib/gcc/ia64-linux-gnu/4.6/../../../libboost_thread.a(once.o): In function `boost::thread_detail::commit_once_region(boost::once_flag&)':\r\n(.text+0xd2): undefined reference to `boost::atomics::detail::lockpool::get_lock_for(void const volatile*)'\r\n[..]\r\ncollect2: ld returned 1 exit status\r\nmake[3]: *** [tests/cpp-netlib-utils_thread_pool] Error 1\r\n~~~~\r\n\r\nA previous issue has already been fixed Boost upstream and [in Debian](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721577). However as the above build logs show, they are already using the fixed versions of Boost (1.54.0-3), so there is something else going on here.\r\n\r\nI believe the \"something else\" is over-use of the `-Bstatic` flag by cmake. From `man ld`:\r\n\r\n~~~~\r\n       -Bstatic\r\n       -dn\r\n       -non_shared\r\n       -static\r\n           Do not link against shared libraries.  This is only meaningful on platforms for which shared libraries are\r\n           supported.  The different variants of this option are for compatibility with various systems.  You may use\r\n           this option multiple times on the command line: it affects library searching for -l options which follow\r\n           it.  This option also implies --unresolved-symbols=report-all.  This option can be used with -shared.\r\n           Doing so means that a shared library is being created but that all of the library's external references\r\n           must be resolved by pulling in entries from static libraries.\r\n~~~~\r\n\r\nIn other words, it links against libboost_thread.a rather than .so, effectively meaning that dependencies are not resolved transitively. To fix this, cpp-netlib will need to explicitly link against libboost_atomic.a on the appropriate platforms (not ideal, since this is an implementation detail of libboost_thread that might change), or tell cmake to drop the `-Bstatic` flag and link against libboost_thread.so instead.\r\n"}}
{"actor":{"display_login":"glynos"}}