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
 
Nope, it's not in the .next repos (or at least, I can't find it in there)
 
Last edited by a moderator:
Well so you can use grep to find this pattern:

grep =/usr/lib/libcairo.la /wherever/*
 
From the project folder, I used

Code:
grep -r =/usr/lib/libcairo.la .
and it returns nothing
 
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:
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/* :)
 
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
 
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:
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.
 
Back
Top