Bug 29638 - link errors due to wrong UNICODE_LIBS on Ubuntu Jaunty
Summary: link errors due to wrong UNICODE_LIBS on Ubuntu Jaunty
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-22 05:13 PDT by Philippe Normand
Modified: 2009-09-22 09:25 PDT (History)
3 users (show)

See Also:


Attachments
proposed patch (1.34 KB, patch)
2009-09-22 05:32 PDT, Philippe Normand
xan.lopez: review+
xan.lopez: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Normand 2009-09-22 05:13:14 PDT
On Jaunty icu-config --ldflags returns "-lm -L/usr/lib -licui18n -licuuc -licudata -lm"
On Fedora: -licui18n -licuuc -licudata -lpthread -lm

I had link errors caused by the presence of -L/usr/lib before -L/myprefix (where most of my webkit deps are installed( in libwebkit-1.0.la. 

Changing the call to icu-config to icu-config --ldflags-libsonly fixed the issue for me, thanks to Xan!
Comment 1 Philippe Normand 2009-09-22 05:32:08 PDT
Created attachment 39913 [details]
proposed patch
Comment 2 Jan Alonzo 2009-09-22 05:37:37 PDT
Hi Philippe. What's the error? I'm using Debian and I have the same --ldflags as Ubuntu but no link errors. Can you post the errors here? 

Also in the future if your patch is for review, please mark it as r? so it will end up in the review queue. Please see http://webkit.org/coding/contributing.html for more info.
Comment 3 Xan Lopez 2009-09-22 06:19:53 PDT
(In reply to comment #2)
> Hi Philippe. What's the error? I'm using Debian and I have the same --ldflags
> as Ubuntu but no link errors. Can you post the errors here? 

The error (as he pasted it to me) is:

libtool: link: gcc -fno-strict-aliasing -I./JavaScriptCore/ForwardingHeaders -I./WebKit/gtk -I./WebKit/gtk -Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type -Wformat -Wformat-security -Wno-format-y2k -Wundef -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-parentheses -fno-exceptions -fvisibility=hidden -pthread -I/home/pnormand/gst/jhbuild/install/include/glib-2.0 -I/home/pnormand/gst/jhbuild/install/lib/glib-2.0/include -I/home/pnormand/gst/jhbuild/install/include/gtk-2.0 -I/home/pnormand/gst/jhbuild/install/lib/gtk-2.0/include -I/home/pnormand/gst/jhbuild/install/include/atk-1.0 -I/home/pnormand/gst/jhbuild/install/include/cairo -I/home/pnormand/gst/jhbuild/install/include/pango-1.0 -I/home/pnormand/gst/jhbuild/install/include/glib-2.0 -I/home/pnormand/gst/jhbuild/install/lib/glib-2.0/include -I/home/pnormand/gst/jhbuild/install/include/pixman-1 -I/home/pnormand/gst/jhbuild/install/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/home/pnormand/gst/jhbuild/install/include/libsoup-2.4 -I/home/pnormand/gst/jhbuild/install/include/glib-2.0 -I/home/pnormand/gst/jhbuild/install/lib/glib-2.0/include -I/usr/include/libxml2 -O2 -o Programs/unittests/testloading WebKit/gtk/tests/Programs_unittests_testloading-testloading.o -pthread  ./.libs/libwebkit-1.0.so -L/usr/lib -L/home/pnormand/gst/jhbuild/install/lib -lgobject-2.0 -lgthread-2.0 -lglib-2.0 /home/pnormand/gst/jhbuild/install/lib/libenchant.so /home/pnormand/gst/jhbuild/install/lib/libgailutil.so -lXext -lXinerama -lXrandr -lXcursor -lXcomposite -lXdamage -lXfixes /home/pnormand/gst/jhbuild/install/lib/libgstvideo-0.10.so /home/pnormand/gst/jhbuild/install/lib/libgstbase-0.10.so /home/pnormand/gst/jhbuild/install/lib/libgstreamer-0.10.so -ljpeg /home/pnormand/gst/jhbuild/install/lib/libxslt.so -lsqlite3 -licui18n -licuuc -licudata -lXt -lSM /home/pnormand/gst/jhbuild/install/lib/libgtk-x11-2.0.so /home/pnormand/gst/jhbuild/install/lib/libgdk-x11-2.0.so /home/pnormand/gst/jhbuild/install/lib/libatk-1.0.so /home/pnormand/gst/jhbuild/install/lib/libgdk_pixbuf-2.0.so /home/pnormand/gst/jhbuild/install/lib/libpangocairo-1.0.so /home/pnormand/gst/jhbuild/install/lib/libpangoft2-1.0.so /home/pnormand/gst/jhbuild/install/lib/libcairo.so /home/pnormand/gst/jhbuild/install/lib/libpixman-1.so -lpng12 -lXrender -lX11 /home/pnormand/gst/jhbuild/install/lib/libpango-1.0.so -lm /home/pnormand/gst/jhbuild/install/lib/libfontconfig.so /usr/lib/libfreetype.so -lexpat /home/pnormand/gst/jhbuild/install/lib/libsoup-2.4.so /home/pnormand/gst/jhbuild/install/lib/libgthread-2.0.so -lpthread -lrt /usr/lib/libxml2.so /usr/lib/libgnutls.so /usr/lib/libtasn1.so -lz /lib/libgcrypt.so /home/pnormand/gst/jhbuild/install/lib/libgio-2.0.so -lresolv /home/pnormand/gst/jhbuild/install/lib/libgobject-2.0.so /home/pnormand/gst/jhbuild/install/lib/libgmodule-2.0.so -ldl /home/pnormand/gst/jhbuild/install/lib/libglib-2.0.so -pthread -Wl,-rpath -Wl,/home/pnormand/gst/jhbuild/build/WebKit/.libs -Wl,-rpath -Wl,/home/pnormand/gst/jhbuild/install/lib -Wl,-rpath -Wl,/home/pnormand/gst/jhbuild/install/lib
/home/pnormand/gst/jhbuild/install/lib/libsoup-2.4.so: undefined reference to `g_main_context_push_thread_default'
/home/pnormand/gst/jhbuild/install/lib/libgio-2.0.so: undefined reference to `g_mkstemp_full'
/home/pnormand/gst/jhbuild/install/lib/libgio-2.0.so: undefined reference to `g_byte_array_unref'
/home/pnormand/gst/jhbuild/install/lib/libgtk-x11-2.0.so: undefined reference to `g_array_get_element_size'
/home/pnormand/gst/jhbuild/install/lib/libgio-2.0.so: undefined reference to `g_hostname_to_ascii'
/home/pnormand/gst/jhbuild/install/lib/libgio-2.0.so: undefined reference to `g_byte_array_get_type'
/home/pnormand/gst/jhbuild/install/lib/libgio-2.0.so: undefined reference to `g_error_new_valist'
/home/pnormand/gst/jhbuild/install/lib/libgio-2.0.so: undefined reference to `g_ptr_array_new_with_free_func'
/home/pnormand/gst/jhbuild/install/lib/libsoup-2.4.so: undefined reference to `g_main_context_pop_thread_default'
/home/pnormand/gst/jhbuild/install/lib/libgtk-x11-2.0.so: undefined reference to `g_array_unref'
/home/pnormand/gst/jhbuild/install/lib/libgio-2.0.so: undefined reference to `g_array_get_type'
/home/pnormand/gst/jhbuild/install/lib/libgio-2.0.so: undefined reference to `g_main_context_get_thread_default'
./.libs/libwebkit-1.0.so: undefined reference to `g_mapped_file_unref'
/home/pnormand/gst/jhbuild/install/lib/libgio-2.0.so: undefined reference to `g_hostname_is_non_ascii'
/home/pnormand/gst/jhbuild/install/lib/libsoup-2.4.so: undefined reference to `g_hostname_is_ip_address'
collect2: ld returned 1 exit status
make[1]: *** [Programs/unittests/testloading] Error 1
make[1]: Leaving directory `/home/pnormand/gst/jhbuild/build/WebKit'
make: *** [all] Error 2

> 
> Also in the future if your patch is for review, please mark it as r? so it will
> end up in the review queue. Please see
> http://webkit.org/coding/contributing.html for more info.
Comment 4 Xan Lopez 2009-09-22 06:21:06 PDT
And the issue comes here:

-L/usr/lib -L/home/pnormand/gst/jhbuild/install/lib
-lgobject-2.0 -lgthread-2.0 -lglib-2.0

-L/usr/lib coming first, the system will first try to get the libraries from there, succeed, and use the wrong ones when linking.
Comment 5 Christian Dywan 2009-09-22 08:29:48 PDT
I see the same problem on archlinux 64bit and the fix suggested by Philippe solves it for me.
Comment 6 Xan Lopez 2009-09-22 09:25:14 PDT
Comment on attachment 39913 [details]
proposed patch

OK, let's do this :)
Comment 7 Xan Lopez 2009-09-22 09:25:34 PDT
Landed in r48636, closing.