Closed
Bug 1040124
Opened 10 years ago
Closed 10 years ago
WebRTC signaling tests fail to build on Ubuntu 12.04LTS
Categories
(Core :: WebRTC, defect)
Tracking
()
RESOLVED
FIXED
mozilla33
People
(Reporter: m_and_m, Assigned: m_and_m)
References
Details
Attachments
(1 file)
821 bytes,
patch
|
ted
:
review+
glandium
:
review+
|
Details | Diff | Splinter Review |
WebRTC signaling tests fail to build on Ubuntu 12.04TLS. It fails to find a number of symbols: 1:03.19 /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libgtk-x11-2.0.so: error: undefined reference to 'g_module_close' 1:03.19 /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libgtk-x11-2.0.so: error: undefined reference to 'g_module_build_path' 1:03.19 /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libgtk-x11-2.0.so: error: undefined reference to 'g_module_symbol' 1:03.19 /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libgtk-x11-2.0.so: error: undefined reference to 'g_module_supported' 1:03.19 /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libgtk-x11-2.0.so: error: undefined reference to 'g_module_open' 1:03.19 /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libgtk-x11-2.0.so: error: undefined reference to 'g_module_error' 1:03.19 collect2: ld returned 1 exit status 1:03.19 make[5]: *** [signaling_unittests] Error 1 1:03.19 make[4]: *** [media/webrtc/signaling/test/libs] Error 2 1:03.19 make[3]: *** [libs] Error 2 1:03.19 make[2]: *** [default] Error 2 1:03.19 make[1]: *** [realbuild] Error 2 1:03.19 make: *** [build] Error 2
Assignee | ||
Updated•10 years ago
|
OS: All → Linux
Summary: WebRTC signaling tests fail to build → WebRTC signaling tests fail to build on Ubuntu 12.04LTS
Assignee | ||
Comment 1•10 years ago
|
||
Attachment #8458041 -
Flags: review?(ted)
Comment 2•10 years ago
|
||
Comment on attachment 8458041 [details] [diff] [review] WebRTC Signaling tests fail to build on Ubuntu 12.04LTS Review of attachment 8458041 [details] [diff] [review]: ----------------------------------------------------------------- r=me but I really want glandium to weigh in on this. You can land with my review. This seems like the same issue as bug 1040025.
Attachment #8458041 -
Flags: review?(ted)
Attachment #8458041 -
Flags: review?(mh+mozilla)
Attachment #8458041 -
Flags: review+
Comment 4•10 years ago
|
||
See bug 1040025. I don't think we should work around so easily when the problem is on Ubuntu's side. But I'll do some research.
Comment 5•10 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #4) > See bug 1040025. I don't think we should work around so easily when the > problem is on Ubuntu's side. But I'll do some research. Well the problem is that this means that my builder, which is the only thing running a bunch of these tests, doesn't work. So, either we need a workaround I can install on Ubuntu or we need this fixed.
Comment 6•10 years ago
|
||
Or you can get Ubuntu to fix it, because this *is* a problem in Ubuntu. $ objdump -T libgtk-x11-2.0.so.0 | grep g_module 0000000000000000 DF *UND* 0000000000000000 g_module_close 0000000000000000 DF *UND* 0000000000000000 g_module_build_path 0000000000000000 DF *UND* 0000000000000000 g_module_symbol 0000000000000000 DF *UND* 0000000000000000 g_module_supported 0000000000000000 DF *UND* 0000000000000000 g_module_open 0000000000000000 DF *UND* 0000000000000000 g_module_error $ readelf -d libgtk-x11-2.0.so.0 | grep gmodule The Gtk version in precise+1 has the fix. precise-update doesn't. The fix in Gtk is: https://git.gnome.org/browse/gtk+/commit/gtk/Makefile.am?h=gtk-2-24&id=65ea14d42151941a2c53843b13b244f38ece3b9d The reason given in the commit is half true. Libraries with undefined symbols need to have direct dependencies on the libraries defining those symbols, independently of what ld/gold can say when building against those libraries. Now, to the interesting part: - This only happens with gold, any version - This only happens when building programs, not shared libraries - This only happens when all of the following libraries are linked: -lgtk-x11-2.0 -lpangocairo-1.0 -lX11 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lfreetype -lfontconfig -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 -lXfixes -lstdc++ -lm. Remove any single one of them, and the error about gmodules symbols missing goes away. So yes, in fact, it's the addition of -lXfixes in bug 983504 that tripped us over. (for those following at home, you can reproduce with a dummy .c file with a simple main() function) - Moving some libraries around makes the number of undefined symbol errors go down to one. So all in all, it's a weird gold behavior happening because of a genuine bug in gtk. Two bugs in one. Now, since adding -lgmodule-2.0 in media/webrtc/signaling/test/Makefile.in is only affecting those unit tests built there, and since I haven't found other flags that make this go away, I'm inclined to say okay, let's work around this that way, even if it's awful. Please add a comment in the makefile pointing to this comment.
Updated•10 years ago
|
Attachment #8458041 -
Flags: review?(mh+mozilla) → review+
Comment 7•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/2b3118f75b54
Target Milestone: --- → mozilla33
Comment 8•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/2b3118f75b54
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•