Bug 202521 - x11/zenity: 3.16.3 build failure
Summary: x11/zenity: 3.16.3 build failure
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: VK
URL:
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2015-08-20 15:37 UTC by vladimir.chukharev
Modified: 2016-12-12 22:32 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (gnome)


Attachments
Build logs (9.25 KB, text/plain)
2015-08-20 15:37 UTC, vladimir.chukharev
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description vladimir.chukharev 2015-08-20 15:37:53 UTC
Created attachment 160150 [details]
Build logs

During a build it fails on undefined references:
  CCLD     zenity
/usr/local/lib/libjavascriptcoregtk-4.0.so: undefined reference to `std::this_thread::__sleep_for(std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)@GLIBCXX_3.4.18'
/usr/local/lib/libwebkit2gtk-4.0.so: undefined reference to `std::condition_variable::condition_variable()@GLIBCXX_3.4.11'

Attached is full log of a build obtained by command
 $ sudo make -C /usr/ports/x11/zenity clean all |& cat > ~/vovavajo/Patches/zenity-3.14.0_build.log

 $ uname -a
FreeBSD vovaasus 9.3-STABLE FreeBSD 9.3-STABLE #52 r286904M: Wed Aug 19 16:55:42 EEST 2015     root@vovaasus:/usr/obj/usr/src/sys/VOVA  amd64

Full list of installed ports is available in Bug 201530 , some ports are updated to today's versions.

Changing option does not change the result.
Comment 1 John Hein 2015-08-27 20:08:19 UTC
Linking with c++ instead of cc works around the problem.  Adding MAKE_ARGS+=CCLD=g++48 got it to build here (tested on 9.3/stable, 32bit) - webkit-gtk3 was built with g++48.
Comment 2 vladimir.chukharev 2015-08-28 15:30:53 UTC
Confirmed, the suggested "MAKE_ARGS+=   CCLD=g++48" (after LDFLAGS) fixes build on my AMD64 9.3-stable too. Do not know how to transform this hack to an acceptable solution.
Comment 3 VK 2016-12-12 19:45:33 UTC
Thanks for the report. Is this still an issue? zenity meanwhile upgraded to 3.18.
Comment 4 vladimir.chukharev 2016-12-12 20:19:16 UTC
Sorry, I cannot check, I do not have 9.* system anymore.

On 10.* it's not a problem, but I think, it was not even at time of the report.

From my point of view, this bug can be closed.
Comment 5 VK 2016-12-12 20:27:26 UTC
Thanks. If the problem appears for newer versions, please reopen or file another report.
Comment 6 John Hein 2016-12-12 22:32:40 UTC
I don't see any problem building on 9-stable now.  Notably, libjavascriptcoregtk-4.0.so references /usr/local/lib/libstdc++.so.6 in ldd(1) output now and objdump on that library shows RPATH /usr/local/lib/gcc49:/usr/local/lib.

If you force the issue and link with base r9.x libstdc++ (which doesn't have condition_variable) by setting, for example, LD_LIBRARY_PATH=/usr/lib before running zenity, you still get:

/usr/lib/libstdc++.so.6: version GLIBCXX_3.4.14 required by /usr/local/lib/libwebkit2gtk-4.0.so.37 not found

But the way webkit-gtk3 is built now, it points to the right (not base) libstdc++ on 9.x, so the problem in the default building scenario is indeed gone.  It was never really a problem with zenity itself, but how webkit-gtk3 used to be built.  The CCLD suggestion back then was just a workaround for linking the pure-C zenity.