[arch-general] problem with fakeroot
When building kdelibs, I always get the following error: ../../kdoctools/meinproc --srcdir=../../kdoctools --check --cache index.cache.bz2 ./index.docbook ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded: ignored. The make appears not to be able to be done with fakeroot, but as far as I understand, makepkg always does that. The solution is to build as root. Is there any other way to avoid this?
On Mon, 2008-02-18 at 10:23 +0100, Karolina Lindqvist wrote:
When building kdelibs, I always get the following error:
../../kdoctools/meinproc --srcdir=../../kdoctools --check --cache index.cache.bz2 ./index.docbook ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded: ignored.
The make appears not to be able to be done with fakeroot, but as far as I understand, makepkg always does that.
The solution is to build as root. Is there any other way to avoid this?
It's an ignored error, so you can ignore it too. The fakeroot .so module gets preloaded to override systemcalls from glibc. Using fakeroot is actually only needed in the make install phase, so you can ignore any error during the make phase of a package.
måndag 18 februari 2008 skrev Jan de Groot:
It's an ignored error, so you can ignore it too. The fakeroot .so module gets preloaded to override systemcalls from glibc. Using fakeroot is actually only needed in the make install phase, so you can ignore any error during the make phase of a package.
No, it aborts after that. It does say ERROR:, even though the text says ignored, so I think ld.so, or whatever says it, is returning an error code.
On Montag, 18. Februar 2008 22:26 Karolina Lindqvist wrote:
No, it aborts after that.
Your announcement makes me a little bit nervous about fakeroot so i make the same as you. Makepkg runs well under a normal instead i have 4 of your messages about libfakeroot.
It does say ERROR:, even though the text says ignored, so I think ld.so, or whatever says it, is returning an error code.
Okay, compiling kdelibs is not very fast but trying a second time with writing a logfile (makepkg 2>&1 | tee build.log) is from my view a better idea than running makepkg under root acount. See you, Attila
tisdag 19 februari 2008 skrev Attila:
On Montag, 18. Februar 2008 22:26 Karolina Lindqvist wrote:
No, it aborts after that.
Your announcement makes me a little bit nervous about fakeroot so i make the same as you. Makepkg runs well under a normal instead i have 4 of your messages about libfakeroot.
It does say ERROR:, even though the text says ignored, so I think ld.so, or whatever says it, is returning an error code.
Okay, compiling kdelibs is not very fast but trying a second time with writing a logfile (makepkg 2>&1 | tee build.log) is from my view a better idea than running makepkg under root acount.
See you, Attila
I digged a little bit deeper to find the problem. The short story is that fakeroot sets LD_PRELOAD="libfakeroot.so", but should be LD_PRELOAD="/usr/lib/libfakeroot/libfakeroot.so" to make it work. The long story: I don't use stock kdelibs, since it can't handle flash properly, but I am using a later snapshot which can. Therefore I also have to do a "make -f admin/Makefile.common dist", but it should not make any difference? Wrong, it does. It turns out that when meinproc is called, in the build process, it sets its own LD_LIBRARY_PATH, which in turn comes from "xslt-config --libs". libfakeroot.so which is needed is not in that path, which includes /usr/lib but not /usr/lib/libfakeroot/libfakeroot.so and therefore it cannot be loaded. What is actually causing the delivered configure etc. files to work, but not the generated, and thus more adapted to archlinux, I don't know. But there is some difference somewhere. I would vote for that fakeroot should give a proper LD_PRELOAD with path, or that libfakeroot.so is moved to /usr/lib, and that is the problem and the solution. Karolina
2008/2/20, Karolina Lindqvist <karolina.lindqvist@kramnet.se>:
tisdag 19 februari 2008 skrev Attila:
On Montag, 18. Februar 2008 22:26 Karolina Lindqvist wrote:
No, it aborts after that.
Your announcement makes me a little bit nervous about fakeroot so i make the same as you. Makepkg runs well under a normal instead i have 4 of your messages about libfakeroot.
It does say ERROR:, even though the text says ignored, so I think ld.so, or whatever says it, is returning an error code.
Okay, compiling kdelibs is not very fast but trying a second time with writing a logfile (makepkg 2>&1 | tee build.log) is from my view a better idea than running makepkg under root acount.
See you, Attila
I digged a little bit deeper to find the problem.
The short story is that fakeroot sets LD_PRELOAD="libfakeroot.so", but should be LD_PRELOAD="/usr/lib/libfakeroot/libfakeroot.so" to make it work.
The long story: I don't use stock kdelibs, since it can't handle flash properly, but I am using a later snapshot which can. Therefore I also have to do a "make -f admin/Makefile.common dist", but it should not make any difference? Wrong, it does. It turns out that when meinproc is called, in the build process, it sets its own LD_LIBRARY_PATH, which in turn comes from "xslt-config --libs". libfakeroot.so which is needed is not in that path, which includes /usr/lib but not /usr/lib/libfakeroot/libfakeroot.so and therefore it cannot be loaded.
What is actually causing the delivered configure etc. files to work, but not the generated, and thus more adapted to archlinux, I don't know. But there is some difference somewhere.
I would vote for that fakeroot should give a proper LD_PRELOAD with path, or that libfakeroot.so is moved to /usr/lib, and that is the problem and the solution.
Interesting... Could you please file a bugreport so this won't get forgotten? -- Roman Kyrylych (Роман Кирилич)
On Mittwoch, 20. Februar 2008 13:19 Karolina Lindqvist wrote:
I digged a little bit deeper to find the problem.
Thanks for more background about it.
The short story is that fakeroot sets LD_PRELOAD="libfakeroot.so", but should be LD_PRELOAD="/usr/lib/libfakeroot/libfakeroot.so" to make it work.
I don't know how it is for you but i need fakeroot only for makepkg ... which is not a wonder.-) So i do the only what i can and test how it will works if i append your suggested value at the begin of /usr/bin/makepkg: + LD_PRELOAD="/usr/lib/libfakeroot/libfakeroot.so" myver='3.1.1' After this very little change i run makepkg and now i have no error messages about LD_PRELOAD.
The long story: I don't use stock kdelibs, since it can't handle flash properly, but I am using a later snapshot which can. Therefore I also have to do a "make -f admin/Makefile.common dist", but it should not make any difference? Wrong, it does.
Strange that it makes a difference because the PKGBUILD from abs have a line with "make -f admin/Makefile.common dist" too. Annotation: Do you know the informations from [1]? Some times ago this doesn't works for me but on sunday i give it a second try and now it works. [1] http://mikearthur.co.uk/2007/12/30/konqueror-with-latest-adobe-flash-howto
I would vote for that fakeroot should give a proper LD_PRELOAD with path, or that libfakeroot.so is moved to /usr/lib, and that is the problem and the solution.
Perhaps you should make a feature request that makepkg includes the informations what be needed from libfakeroot. See you, Attila
onsdag 20 februari 2008 skrev Attila:
Strange that it makes a difference because the PKGBUILD from abs have a line with "make -f admin/Makefile.common dist" too.
Oh, it has? I made the patches to PKGBUILD about a month ago, so I can't remember exactly what I did and why. Only that building with kdelibs from SVN gave problems and I tried for fast fixes. I got so tired of it, so I did not bother to find the reason for the failing of fakeroot until now.
Annotation: Do you know the informations from [1]? Some times ago this doesn't works for me but on sunday i give it a second try and now it works. [1] http://mikearthur.co.uk/2007/12/30/konqueror-with-latest-adobe-flash-howto
I don't like that solution, and I don't believe in it. Can mplayer handle the interactvity of flash? I really love mplayer, and it is my favourite player from the command prompt (hey, I have even contributed), but I find that the integration with web pages often does not work so good. The new flash works great, and I find it more dependable than mplayer, and thus a great and cannot-be-without upgrade to kde.
I would vote for that fakeroot should give a proper LD_PRELOAD with path, or that libfakeroot.so is moved to /usr/lib, and that is the problem and the solution.
Perhaps you should make a feature request that makepkg includes the informations what be needed from libfakeroot.
I just could not determine if the fix should be in fakeroot, in kdelibs, or in makepkg like you suggest. I would consider an upgrade kdelibs having a higher priority, but until then the easiest way for me is just to build my own. I anyway also build for i586, so it is as easy as "makepkg" to build for i686 too. Karolina
On Mittwoch, 20. Februar 2008 21:01 Karolina Lindqvist wrote:
Oh, it has? I made the patches to PKGBUILD about a month ago, so I can't remember exactly what I did and why. Only that building with kdelibs from SVN gave problems and I tried for fast fixes. I got so tired of it, so I did not bother to find the reason for the failing of fakeroot until now.
That is why i was so surprised because at the first look there is no reason why it stops for you and for me not. Me personally fells unwell if i have to run makepkg under root acout but i can understand why you can live with your workaround.-)
I don't like that solution, and I don't believe in it. Can mplayer handle the interactvity of flash? I really love mplayer, and it is my favourite player from the command prompt (hey, I have even contributed), but I find that the integration with web pages often does not work so good. The new flash works great, and I find it more dependable than mplayer, and thus a great and cannot-be-without upgrade to kde.
Hmm, i don't know if i understand you in the right way but the solution from the url is to get the new flashplugin 9.0.115 work together with an unpatched konqueror. The NPP backend of kmplayer is only used for running a Netscape XEmbed plugin and the look is the same as before with the older flashplugin. I don't know what you mean with interactvity but this be my two test pages which works well: http://youtube.com/watch?v=8HQoxvv753c [Yes, i like the nba and the first one from Lamar Odom is my favorite -)] http://prod-media.samsungmobile.fr/microsite/firmwares [Is this interactiv enough?] But please don't think i want to induce you to change your working system.
I just could not determine if the fix should be in fakeroot, in kdelibs, or in makepkg like you suggest. I would consider an upgrade kdelibs having a higher priority, but until then the easiest way for me is just to build my own. I anyway also build for i586, so it is as easy as "makepkg" to build for i686 too.
I'm lazy so one extra line in makepkg is my favorite.-) If you want you can post (or send me) your PKGBUILD from kdelibs and i will try it as normal user. See you, Attila
onsdag 20 februari 2008 skrev Attila:
Hmm, i don't know if i understand you in the right way but the solution from the url is to get the new flashplugin 9.0.115 work together with an unpatched konqueror. The NPP backend of kmplayer is only used for running a Netscape XEmbed plugin and the look is the same as before with the older flashplugin. I don't know what you mean with interactvity but this be my two test pages which works well:
Oh, I see. I misunderstood that fix. I'll use it for a while to see if it works as good or better.
But please don't think i want to induce you to change your working system.
My system is in constant flux, so that is no problem. Karolina
participants (4)
-
Attila
-
Jan de Groot
-
Karolina Lindqvist
-
Roman Kyrylych