LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 04-30-2013, 09:27 AM   #1
prushik
Member
 
Registered: Mar 2009
Location: Pennsylvania
Distribution: gentoo
Posts: 372

Rep: Reputation: 29
webkit trying to link to libraries in the wrong place


I am trying to build webkit-1.8.3 and I am having some troubles.
I usually have trouble, but this one is baffling.
I have installed gettext, first in /usr/local and then in /. I have built webkit before and it worked alright, but I had troubles with libpng12 so I upgraded that to libpng15 and removed libpng12. This fixed my png issues, but requires me to build lots of things again (such as webkit). Another thing I want to do it remove everything in local, I made sure that everything I had installed in local was also properly installed in /. Then, I moved local to local.old so that it is out of everybody's search path. I compiled most packages with no problem, however, webkit is behaving odd.
The behavior is as follows.
I run
Code:
make clean distclean
to make sure I get a clean start. On top of that, I am building out of tree to eliminate any kind of stuff leftover from previous builds.
configure runs fine and detects everything fine, including gettext. I configure with the following line:
Code:
../configure --prefix= --disable-geolocation --with-gtk=2.0 --with-accelerated-compositing=cairo
I then run make and it runs for some time and then finally errors out with the following line:
Code:
  CXXLD  libjavascriptcoregtk-1.0.la
libtool: link: cannot find the library `/usr/local/lib/libintl.la' or unhandled argument `/usr/local/lib/libintl.la'
This, I cannot understand. gettext is simply not installed in /usr/local, it is installed in /. How is it possible that webkit could be looking for it in /usr/local? is /usr/local somehow hardcoded into the webkit build process? I doubt that. Is something somehow left over? I moved local so that nobody can find it. How does webkit find where gettext should be?

Edit:
Insanely, the gettext package itself does the exact same thing:
Code:
grep: /usr/local/lib/libintl.la: No such file or directory
sed: /usr/local/lib/libintl.la: No such file or directory
libtool: link: `/usr/local/lib/libintl.la' is not a valid libtool archive
make[4]: *** [libgettextlib.la] Error 1
make[4]: Leaving directory `/root/Sandbox/gettext-0.18.2.1/gettext-tools/gnulib-lib'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/root/Sandbox/gettext-0.18.2.1/gettext-tools/gnulib-lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/Sandbox/gettext-0.18.2.1/gettext-tools'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/Sandbox/gettext-0.18.2.1/gettext-tools'

Last edited by prushik; 04-30-2013 at 09:32 AM. Reason: Add more information
 
Old 04-30-2013, 11:14 PM   #2
prushik
Member
 
Registered: Mar 2009
Location: Pennsylvania
Distribution: gentoo
Posts: 372

Original Poster
Rep: Reputation: 29
OK. Problem Solved.
Libtool was the issue. I was ignorant about how libtool functions. It created a bunch of .la files in lib, and the ones that depend on libintl referenced /usr/local/lib/libintl.la in their .la files. I guess they didn't get updated when I installed gettext in / (which makes sense I suppose). Then somehow gettext depends on something that depends on gettext (circular dependency issue?).
So what I did was really hacky, but did exactly what I wanted, and was quite simple, since I _knew_ for sure that I had installed everything in / that was installed in /local, I ran the following command:
Code:
sed -i "s/\/usr\/local\//\//g" /lib/*.la
Basically using sed to replace all /usr/local/ with just /. And it even works with stock busybox sed.
Gettext built correctly, but I didn't reinstall it since I'm happy with the solution I found.

Now lets see how the webkit build goes....
 
  


Reply

Tags
/usr/local/, icu, libtool, linking, webkit



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Mplayer place in KDE, lost icon, wrong place. firekage Slackware 4 01-24-2012 02:23 PM
wheres the best place to get ruby interfacing with external libraries ?? alred Programming 2 07-11-2006 02:26 PM
I own everything! (did 'chown -R' in the wrong place) oskar Linux - Newbie 9 03-19-2006 05:38 PM
Best place to get shared libraries? oasisbhrnw99 Linux - General 1 08-25-2005 08:34 AM
sorry, kinda wrong place sriontoc General 3 09-29-2004 08:28 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 10:26 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration