Bug 116420 - small configuration error in konstruct for kde 3.5-rc1 on a fedora 4 system (compilation problem) + solution
Summary: small configuration error in konstruct for kde 3.5-rc1 on a fedora 4 system (...
Status: RESOLVED NOT A BUG
Alias: None
Product: konstruct
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Stephan Binner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-15 13:20 UTC by George
Modified: 2006-03-08 10:15 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description George 2005-11-15 13:20:25 UTC
Version:           the one for building kde 3.5-rc1 (using KDE KDE 3.5.0)
Installed from:    Compiled From Sources
Compiler:          gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5)
 
OS:                Linux

I am happy that i didn't leave the konstruct script running over the night. Because this happend: 

The Error:
*Snip*---------------------------------------------------------
grep: /lib/libattr.la: No such file or directory
/bin/sed: can't read /lib/libattr.la: No such file or directory
libtool: link: `/lib/libattr.la' is not a valid libtool archive
make[6]: *** [libkio.la] Error 1
make[6]: Leaving directory `/home/george/MyDownloads/konstruct/kde/kdelibs/work/kdelibs-3.5.0/kio'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/home/george/MyDownloads/konstruct/kde/kdelibs/work/kdelibs-3.5.0/kio'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/george/MyDownloads/konstruct/kde/kdelibs/work/kdelibs-3.5.0'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/george/MyDownloads/konstruct/kde/kdelibs/work/kdelibs-3.5.0'
make[2]: *** [build-work/kdelibs-3.5.0/Makefile] Error 2
make[2]: Leaving directory `/home/george/MyDownloads/konstruct/kde/kdelibs'
make[1]: *** [dep-../../kde/kdelibs] Error 2
make[1]: Leaving directory `/home/george/MyDownloads/konstruct/kde/kdebase'
make: *** [dep-../../kde/kdebase] Error 2
[root@red kde]#

*The solution*--------------------------------------------
[root@red kde]# ls /lib | grep libattr
libattr.so
libattr.so.1
libattr.so.1.1.0
[root@red kde]# ls /usr/lib | grep libattr
libattr.a
libattr.la
libattr.so
[root@red kde]# ln -s /usr/lib/libattr.la /lib/libattr.la

Ok, it works now, the compile contines, without errors. 
This could be a configuration error in konstruct or in fedora core 4. But konstruct should also check /usr/lib for libattr.la or make a link or something, just in case this happens again on some other system.
Comment 1 George 2005-11-15 14:47:32 UTC
same thing, again: 

/bin/sh ../../libtool --silent --tag=CXX --mode=link g++  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -I/root/kde3.5-rc1/include -I/usr/lib/qt-3.3/include -I/usr/X11R6/include -L/root/kde3.5-rc1/lib -L/usr/lib/qt-3.3/lib -L/usr/X11R6/lib -I/root/kde3.5-rc1/include -I/usr/lib/qt-3.3/include -I/usr/X11R6/include -L/root/kde3.5-rc1/lib -L/usr/lib/qt-3.3/lib -L/usr/X11R6/lib -O2 -pipe -O2 -pipe -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -D_GNU_SOURCE   -L/root/kde3.5-rc1/lib -L/usr/X11R6/lib -L/usr/lib/qt-3.3/lib -L/root/kde3.5-rc1/lib -L/usr/X11R6/lib -L/usr/lib/qt-3.3/lib  -o kded_favicons.la -rpath /root/kde3.5-rc1/lib/kde3 -L/root/kde3.5-rc1/lib -L/usr/lib/qt-3.3/lib -L/usr/X11R6/lib    -module -avoid-version kded_favicons_la.all_cpp.lo  -lkio
grep: /lib/libacl.la: No such file or directory
/bin/sed: can't read /lib/libacl.la: No such file or directory
libtool: link: `/lib/libacl.la' is not a valid libtool archive
make[5]: *** [kded_favicons.la] Error 1
make[5]: Leaving directory `/root/MyDownloads/konstruct/kde/kdebase/work/kdebase-3.5.0/libkonq/favicons'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/root/MyDownloads/konstruct/kde/kdebase/work/kdebase-3.5.0/libkonq'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/root/MyDownloads/konstruct/kde/kdebase/work/kdebase-3.5.0'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/root/MyDownloads/konstruct/kde/kdebase/work/kdebase-3.5.0'
make[1]: *** [build-work/kdebase-3.5.0/Makefile] Error 2
make[1]: Leaving directory `/root/MyDownloads/konstruct/kde/kdebase'
make: *** [dep-../../kde/kdebase] Error 2
[root@red kde]#    


resolved by:                                      
ln -s /usr/lib/libacl.la /lib/libacl.la
Comment 2 Thiago Macieira 2005-11-15 18:15:08 UTC
This is a distro bug: please inform the Fedora package maintainers. Never do we mention "/lib/libacl.la" by full pathname, so it can only come from your system.
Comment 3 Andy 2005-12-01 15:23:59 UTC
I get the same problem, except I'm trying to compile it on a box Fedora without root access, so I can't apply the workaround.

I tried manually going into the directory where it fails, copying the command from make output and adding -L/usr/lib, to no avail.

The problem appears to be that /lib only contains libattr.so, whereas /usr/lib contains libattr.la along with a symbolic link to /lib/libattr.so.

Could it be that libtool finds the .so in /lib and wrongly assumes that the .la should be in the same directory?
Comment 4 Marc Langheinrich 2005-12-14 10:16:10 UTC
It seems this is a bug in libacl-devel from fedora4/redhat enterprise:

https://www.redhat.com/archives/fedora-extras-list/2005-October/msg00302.html
Comment 5 rene B 2006-01-01 12:34:52 UTC
Just tried to compile kde 3.5 on Mandrake 10.2 using konstruct. Same error as mentioned at the start of this bug.

Did the "ln -s /usr/lib/libattr.la /lib/libattr.la" and started the make everything again. Let's see how for it will get.

Result untill now is a warning that popups a couple of time:
libtool: link: warning: `/usr/lib/libattr.la' seems to be moved
Comment 6 rene B 2006-01-01 13:09:17 UTC
there is, however, a strange issue here.

I'm running make everything now for the third time:

- thirst time I had 2.2 GB free diskspace in /. This was not enough, so finaly the make everything stopped with a disk full error. This was correct; there was no space left anymore.
So I moved /home to a new partition; +/- 20 GB free disk space. I deleted completely /home/test/konstruct and /home/test/kde3.5. I was about to start the second run completely over again.

Please note, the first run of "konstruct - make everything" was able to generate 2.2 GB. While running I never saw this libattr.la error.

- Second time running "make everything": Now konstructs terminates with the libattr.la error. However, untill this moment, the "make everything" has generated only +/- 600 MB data.

So, the first run of "konstruct - make everything" was able to pass the point where the second run of "konstruct - make everything" terminated because of the libattr.la error.

Strange.
As far as I figured out, the only difference between the thirst and the second run might have been the source of the mirrors where konstruct gets its downloads.

It's now running for the third time.
Comment 7 paul.leopardi 2006-03-08 10:15:27 UTC
Is there a workaround which does not require root access? 

I tried changing the configure.in.in and configure.in files for kdelibs so that they used /lib/libacl.so and /lib/libattr.so directly, instead of -lacl -lattr, but this apparently did not work. I ended up with a KDE libabry directory with many .la files with dangling references to /lib/libacl.la and /lib/libattr.la. 

The fix depends on Red Hat. See Red Hat bugs 171114 and 170602.