[gobolinux-users] Weird build problems

Jonas Karlsson jonka750 at student.liu.se
Fri Dec 29 21:03:10 UTC 2006


2006/12/29, Travis Evans <travisgevans at cox.net>:
> Has anyone at all managed to compile kdeartwork?  I used NewVersion to
> update the available recipe for 3.5.3 to 3.5.5 and tried to build it
> with Compile.  The configure script failed telling me I didn't have
> libXext, even though I installed it.  So when I checked config.log to
> investigate, I saw all kinds of stuff like this:
>
> configure:28628: checking for libXext
> configure:28663: gcc -o
> conftest -std=iso9899:1990 -W -Wall -Wchar-subscripts -W
> shadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500
> -D_BSD_SOURCE -DNDEBUG -O2  -O2 -march=i686 -fomit-frame-pointer -pipe -Wformat-
> security -Wmissing-format-attribute   -L/usr/lib        libc.so.6
> => /System/Lin
> ks/Libraries/libc.so.6 (0xb7e57000)  conftest.c -lXext -lX11  >&5
> gcc: libc.so.6: No such file or directory
> gcc: =>: No such file or directory
> gcc: (0xb7e57000): No such file or directory
> configure:28669: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
>
> I'm not really a developer, but that doesn't look like a valid gcc
> command line to me.  What is all the "libc.so.6 => /System/Lin
> ks/Libraries/libc.so.6 (0xb7e57000)" junk and where is it coming from?
> GCC thinks "=>" and "(0xb7e57000)" are files--no wonder it doesn't
> work.  I've never come across a problem like this.  Any ideas?
>
Try to add:

configure_options=(
   "--enable-libsuffix=none"
)

to the recipe.

> I get the same issue if I just try building it "by hand" with
> CompileProgram.
>
> Google was no help at all.  I wonder if this is a GoboLinux-specific
> issue.
>
This is a autoconf bug which gets tripped by the GoboLinux file
structure. The pattern for exctracting the filename does not match the
returned value from ldd.

> Another problem I'm having when compiling programs in general is that
> make keeps failing because they keep looking in directories of older
> versions of libraries that I removed because they've been upgraded.
> For instance, I originally had GTK 2.8.19 installed, then I upgraded it
> to 2.10.6, SymlinkProgram'ed the new version, then RemoveProgram'ed the
> old version to save disk space, yet make will often fail because
> something keeps looking in /Programs/GTK+/2.8.19, which doesn't exist
> anymore.
>
That's because you have programs that have been built against the old
lib and have that path in their conf files, which are called as e.g.
'foo-conf --cflags', which returns the paths for the header files (to
be used with gcc) it been compiled with e.g.
'-I/Programs/Bar/1.2/include'. That path does not change even if you
upgrade Bar to 1.3 and remove 1.2.

> I originally tried just making a symlink called 2.8.19 to the new
> version, but then I got another error with the same problem on another
> library, then another, then another... this is getting old very fast.
> What is the likely cause of this?  It's like some system configuration
> is caching the old directories, and the cache needs to be updated.  I
> remember one error like this coming from libtool.  I don't remember if
> any other utilities have the same problem.  How to I get everything
> updated properly?
>
The only ways to solve this, afaik, is to track down which lib that
has this "old" lib as build dependency and rebuild it again, against
the new version or to simply keep the old library around. One way to
find what apps that use the "old" lib is to do 'grep "GTK 2.8.19"
/Programs/*/*/Resources/BuildInformation'.

There are are ideas on how to solve this, by for example, building
everything against (this is a rough example) /System/Links/Headers, to
make linking version unspecific (and solve other problems, for example
with apps that require the same prefix when building).

> Finally, are there any more places to find precompiled binaries?  Having
> to compile every single thing I'm planning on using is feeling to me
> like a futile uphill struggle, especially with roughly 50% of all the
> programs I try to compile failing with weird errors that Google doesn't
> help me with, when in the past I was almost always able to find the
> solution by searching on Google.
>
I have some apps at http://karlsson.sytes.net/GoboLinux/PackageStore
but most of them are already uploaded in the contrib store at the
mirrors. For errors your more than welcome to post here. :)

-- 
/Jonas


More information about the gobolinux-users mailing list