Compile help


pmprog

DNF (Did Not Finish)
Joined
Apr 25, 2011
Messages
4,150
So, I'm trying to build libgtkhtml. Configure all work okay, but when I "make", I get this error:


libtool: link: cannot find the library '=/usr/lib/libcairo.la'
The file is there, I'm assuming the error is due to that equals sign in front of the path. libtool is a particularly large script generated by configure, but I'm having trouble locating where this could be set.
Any ideas?

Cheers
 

pmprog

DNF (Did Not Finish)
Joined
Apr 25, 2011
Messages
4,150
Nope, it's not in the .next repos (or at least, I can't find it in there)
 
Last edited by a moderator:

Linux-SWAT

Forum Addict!
Joined
Feb 13, 2010
Messages
8,996
Well so you can use grep to find this pattern:

grep =/usr/lib/libcairo.la /wherever/*
 

pmprog

DNF (Did Not Finish)
Joined
Apr 25, 2011
Messages
4,150
From the project folder, I used

Code:
grep -r =/usr/lib/libcairo.la .
and it returns nothing
 

pmprog

DNF (Did Not Finish)
Joined
Apr 25, 2011
Messages
4,150
Yeah, tried that too... It's really odd... I've been hacking the libtool script to echo out the libaries. it gives me a bunch of "-l"'s, one of which is "-lcairo"... which is fine...

but then as it keeps going through, I start getting the path'd versions, and that's where the "=/usr/lib/libcairo.la" comes from. I just need to locate the part of the script which is generating the paths.

Edit: Okay, managed to think how to get the script off my Pandora (I'm at work, so networking and SD cards are out)

http://pastebin.com/ECuuXB9R

Occurs somewhere between 2279 and 2361... :)

Edit 2: Okay, I just hacked in "libs=`echo $libs | tr -d =`" into the script. I guess not really the ideal way to fix, but meh, seems to be working :)
 
Last edited by a moderator:

sebt3

homebrew player (P. & C.)
Joined
Sep 9, 2008
Messages
4,863
Age
41
Location
France
Website
sebt3.openpandora.org
but then as it keeps going through, I start getting the path'd versions, and that's where the "=/usr/lib/libcairo.la" comes from. I just need to locate the part of the script which is generating the paths.
easy enough. grep libcairo in /usr/share/pkgconfig/* :)
 

pmprog

DNF (Did Not Finish)
Joined
Apr 25, 2011
Messages
4,150
easy enough. grep libcairo in /usr/share/pkgconfig/* :)
That returns nothing either. There's only two files in /usr/share/pkgconfig -- xorg-macros.pc and xtrans.pc.
Which is weird, because I'm pretty sure I installed libcairo from opkg.

Whilst "make" seems to work, "make install" seems to be failing. I've just done a "make clean" and am just going to try rebuilding everything again

This is very confusing
 

pmprog

DNF (Did Not Finish)
Joined
Apr 25, 2011
Messages
4,150
Okay, found it. there's /usr/lib/pkgcounfig/cairo.pc which contains

prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include

Name: cairo
Description: Multi-platform 2D graphics library
Version: 1.12.2

Requires.private: gobject-2.0 glib-2.0 pixman-1 >= 0.22.0 fontconfig >= 2.2.95 freetype2 >= 9.7.3 libpng xcb-shm xcb >= 1.6 xcb-render >= 1.6 xrender >= 0.6 x11
Libs: -L${libdir} -lcairo
Libs.private: -lz -lz
Cflags: -I${includedir}/cairo
Which all looks okay to me, but then I'm not 100% on what I'm looking for


Edit: On my rebuild, I'm now getting

Code:
/bin/sed: can't read =/usr/lib/libgtk-x11-2.0.la: No such file or directory
libtool: link: '=/usr/lib/libgtk-x11-2.0.la' is not a valid libtool archive
Damn, whatever's causing these equals signs is everywhere :(
 
Last edited by a moderator:

freamon

Active Member
Joined
Apr 13, 2011
Messages
562
The equals sign is understood by newer versions of libtool only (it means "sysroot").

You can usually fix it by building a new version of libtool, instead of using the one that comes with what you're trying to compile. To do this, grab a fresh copy of the code, if there's a "autogen.sh" or a "bootstrap" script, run that, or if not, run autoreconf. After that, run "configure" as normal.
 
Top