Closed Bug 1040124 Opened 11 years ago Closed 11 years ago

WebRTC signaling tests fail to build on Ubuntu 12.04LTS

Categories

(Core :: WebRTC, defect)

All
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla33

People

(Reporter: m_and_m, Assigned: m_and_m)

References

Details

Attachments

(1 file)

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
OS: All → Linux
Summary: WebRTC signaling tests fail to build → WebRTC signaling tests fail to build on Ubuntu 12.04LTS
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+
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.
(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.
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.
Attachment #8458041 - Flags: review?(mh+mozilla) → review+
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Depends on: 1054014
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: