Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOWTO] how I use to prelink (nvidia included) [x86] [~x86]
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, 4, 5, 6  Next  
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
Erlend
Guru
Guru


Joined: 26 Dec 2004
Posts: 493

PostPosted: Sat Feb 12, 2005 11:11 am    Post subject: Reply with quote

Quote:
compiling from the beginning with pic would save a lot of time!

Sorry, I think I must be missing something. How does using pic save a lot of time? Does it just speed up the prelink process? I've prelinked my system without USE="pic" and it seems okay (although i wouldn't say i noticed much speed up).

Thanks,

Erlend
Back to top
View user's profile Send private message
hds
Advocate
Advocate


Joined: 21 Aug 2004
Posts: 2629
Location: Sprockhoevel [GER]

PostPosted: Sat Feb 12, 2005 11:26 am    Post subject: Reply with quote

Erlend wrote:
I've prelinked my system without USE="pic" and it seems okay (although i wouldn't say i noticed much speed up).

you shouldnt notice any speedup if glibc was compiled without pic ;)
what about reading the previous page? :oops:
Back to top
View user's profile Send private message
juri
Tux's lil' helper
Tux's lil' helper


Joined: 13 Dec 2003
Posts: 88
Location: Pistoia - Italy

PostPosted: Sat Feb 12, 2005 11:33 am    Post subject: Reply with quote

From what I understood if you have USE="pic" from the start, that is to say a stage1 install, you don't have to reemerge the entire system later to get all the advantages of prelinking. Maybe you didn't notice any improvement cause you don't have the pic flag enabled.
anyway I'm just guessing cause my first try at prelinking following the how-to on the official site failed.
Back to top
View user's profile Send private message
hds
Advocate
Advocate


Joined: 21 Aug 2004
Posts: 2629
Location: Sprockhoevel [GER]

PostPosted: Sat Feb 12, 2005 11:41 am    Post subject: Reply with quote

juri wrote:
From what I understood if you have USE="pic" from the start, that is to say a stage1 install, you don't have to reemerge the entire system

well, you have to re-emerge glibc at least, not the entire system, though ;)
Back to top
View user's profile Send private message
Erlend
Guru
Guru


Joined: 26 Dec 2004
Posts: 493

PostPosted: Sat Feb 12, 2005 12:12 pm    Post subject: Reply with quote

Quote:
you shouldnt notice any speedup if glibc was compiled without pic Wink
what about reading the previous page? Embarassed

Great, now I've got to re-compile glibc, again.

I read the previous page. Nothing explicitly said USE="pic" was required, and since the gentoo-wiki page didn't mention it I guessed it was optional.

Thanks,

Erlend
Back to top
View user's profile Send private message
hds
Advocate
Advocate


Joined: 21 Aug 2004
Posts: 2629
Location: Sprockhoevel [GER]

PostPosted: Sat Feb 12, 2005 12:18 pm    Post subject: Reply with quote

Erlend wrote:

I read the previous page. Nothing explicitly said USE="pic" was required

say what???

Code:

a) enable "pic" to your USEflags.

it says that in the very first step. what about getting a pair of glasses? :lol:
btw.. this howto would be pretty redundant if it wouldnt mention the pic useflag, IMHO :twisted:
Back to top
View user's profile Send private message
cato`
Guru
Guru


Joined: 03 Jun 2002
Posts: 430
Location: Norway, Trondheim

PostPosted: Sun Feb 13, 2005 4:32 pm    Post subject: Reply with quote

When I prelink I get absolutly no output, does this mean it was sucessfull or not?

Code:

laptop root # prelink -avmfR
laptop root #
laptop root # prelink -avmqR
laptop root #

_________________
Don't mess with the Penguin.
Back to top
View user's profile Send private message
radfoj
Guru
Guru


Joined: 31 Dec 2004
Posts: 490
Location: Tísek, Czech Republic

PostPosted: Sun Feb 13, 2005 4:45 pm    Post subject: Reply with quote

cato` wrote:
When I prelink I get absolutly no output, does this mean it was sucessfull or not?

Code:

laptop root # prelink -avmfR
laptop root #
laptop root # prelink -avmqR
laptop root #


In my opinion prelink wasnt sucessfull. From man prelink:
Code:
-v --verbose
Verbose mode. Print the virtual address slot assignment to libraries and print what binary or library is currently being prelinked.

It should print out at liest something like this:
Code:

Laying out 23 libraries in virtual address space 41000000-50000000
Random base 0x42f02000
Assigned virtual address space slots for libraries:
........
/usr/lib/MozillaFirefox/libplds4.so                          4bc2b000-4bc2ddf0
/usr/lib/MozillaFirefox/libnspr4.so                          4bbf6000-4bc287c0
/usr/lib/libXmu.so.6                                         4cde6000-4cdfbd2c
/usr/lib/libpopt.so.0                                        4c1dc000-4c1e2f50
/usr/lib/MozillaFirefox/libplc4.so                           4bc30000-4bc34698
/usr/lib/libXp.so.6                                          4bbe5000-4bbec58c
........

cato`, are you sure, you have compiled glibc with "pic" USE-flag?
Back to top
View user's profile Send private message
hds
Advocate
Advocate


Joined: 21 Aug 2004
Posts: 2629
Location: Sprockhoevel [GER]

PostPosted: Sun Feb 13, 2005 4:54 pm    Post subject: Reply with quote

cato` wrote:
When I prelink I get absolutly no output, does this mean it was sucessfull or not?

no, because you have -v (verbose). he process takes time, a few minutes (didnt look at the clock here)
however, if you get no output at all.. there really is something wrong.
@radfoj:
regardless if glibc is compiled with or without pic flag, he should get output and files wil be prelinked. however, it is of no use as long as glibc isnt compiled with "pic". however, the prelink process should work in any case.
Back to top
View user's profile Send private message
kormoc
Apprentice
Apprentice


Joined: 17 Jun 2002
Posts: 272
Location: Seattle, WA

PostPosted: Mon Feb 14, 2005 12:05 am    Post subject: Reply with quote

hds wrote:
well, he (and someone else in here as well now) is talking about the -fPIC CFLAG. i am still puzzled if this is correct or not. as i already mentioned in my first post, the -fPIC is IMHO irrelevant - but i know very little about gcc and c++ so i could be wrong :oops:
anyway, author emailed.
PS: IMHO the "pic" USEflag should have to be renamed to "prelink" - this would avoid a lot of confusion..


I do beleive that the --use-pic in the configure script for the most part just adds -fPIC to the packages cflags, -fPIC is shown in the output of the emerge. You see, configure actually doesn't do anything other then set things up for gcc/g++/etc to do their thing. Emerge glibc and read the output, you should see -fPIC in there. The old way before there was a pic use flag was to set the -fPIC in the default cflags. So yeah, it's not needed anymore, but it once was. The guide should be updated.

My understanding about the nvidia drivers is that if you mix prelinked and non prelinked libs, the dynamic linker is smart enough to realize it and just use them all as if they were all not prelinked. You actually don't have to switch to the xfree opengl interface and back again, you'll just get warnings for the nvidia libs that you can just ignore :)
Back to top
View user's profile Send private message
[UK]Superdude
Tux's lil' helper
Tux's lil' helper


Joined: 22 Jul 2002
Posts: 149
Location: Adelaide, Australia

PostPosted: Mon Feb 14, 2005 2:51 am    Post subject: Reply with quote

cato` wrote:
When I prelink I get absolutly no output, does this mean it was sucessfull or not?

Code:

laptop root # prelink -avmfR
laptop root #
laptop root # prelink -avmqR
laptop root #


I get the same result....

hmmmmm

Anyone have any ideas or suggestions?
Back to top
View user's profile Send private message
vagus
n00b
n00b


Joined: 02 Jul 2004
Posts: 59

PostPosted: Mon Feb 14, 2005 4:10 am    Post subject: Reply with quote

I don't have any output here either... :(
Back to top
View user's profile Send private message
provicemo
Apprentice
Apprentice


Joined: 12 Dec 2003
Posts: 201
Location: Detroit, MI

PostPosted: Mon Feb 14, 2005 4:53 am    Post subject: Reply with quote

No output for me either,
just recently upgraded to prelink-20041123.
Perhaps its related to the new version.
Back to top
View user's profile Send private message
[UK]Superdude
Tux's lil' helper
Tux's lil' helper


Joined: 22 Jul 2002
Posts: 149
Location: Adelaide, Australia

PostPosted: Mon Feb 14, 2005 8:05 am    Post subject: Reply with quote

I too recently upgraded to the new prelink and wondered if it was related.

Hmmmm
Back to top
View user's profile Send private message
hds
Advocate
Advocate


Joined: 21 Aug 2004
Posts: 2629
Location: Sprockhoevel [GER]

PostPosted: Mon Feb 14, 2005 8:13 am    Post subject: Reply with quote

prelink -V gives "1.0" here as version. if you have a different version, have a look at "man prelink". maybe some options changed?
Back to top
View user's profile Send private message
simondo42
n00b
n00b


Joined: 22 Nov 2004
Posts: 42
Location: Dunedin, New Zealand

PostPosted: Mon Feb 14, 2005 9:12 am    Post subject: Reply with quote

If you're not getting output from prelink check your /etc/prelink.conf file. If it contains duplicate directory entries prelink will look busy briefly and then won't do anything. I've found that removing the duplicate entries (manually each time, alas) will allow prelink to run fine.

HTH,
simon
Back to top
View user's profile Send private message
vagus
n00b
n00b


Joined: 02 Jul 2004
Posts: 59

PostPosted: Mon Feb 14, 2005 9:41 am    Post subject: Reply with quote

Well, true enough my prelink.conf has duplicated entries:

Code:
# prelink.conf autogenerated by env-update; make all changes to
# contents of /etc/env.d directory
-l /bin
-l /sbin
-l /usr/bin
-l /usr/sbin
-l /lib
-l /usr/lib
-h /usr/local/lib
-h /usr/lib/opengl/xorg-x11/lib
-h /lib
-h /usr/lib
-h /usr/local/lib
-h /usr/lib/gcc/i686-pc-linux-gnu/3.4.3
-h /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4
-h /usr/lib/MozillaFirefox
-h /usr/lib/mozilla
-h /usr/lib
-h /opt/sun-jdk-1.5.0.01/jre/lib
-h /usr/qt/3/lib
-h /usr/kde/3.3/lib
-h /usr/lib/nspr
-h /usr/lib/nss
-h /usr/games/lib
-h /usr/lib/fltk-1.1
-h /usr/lib/libstdc++-v3/
-h /usr/lib/R/lib
-h /opt/bin
-h /usr/i686-pc-linux-gnu/gcc-bin/3.4.3
-h /opt/Acrobat5
-h /opt/xxe
-h /opt/sun-jdk-1.5.0.01/bin
-h /opt/sun-jdk-1.5.0.01/jre/bin
-h /usr/qt/3/bin
-h /usr/kde/3.3/bin
-h /usr/games/bin
-b /usr/lib/wine
-b /usr/lib/valgrind


Following simondo42's advice, I commented out the duplicated entries:

Code:
# prelink.conf autogenerated by env-update; make all changes to
# contents of /etc/env.d directory
-l /bin
-l /sbin
-l /usr/bin
-l /usr/sbin
#-l /lib
#-l /usr/lib
-h /usr/local/lib
-h /usr/lib/opengl/xorg-x11/lib
-h /lib
#-h /usr/lib
-h /usr/local/lib
-h /usr/lib/gcc/i686-pc-linux-gnu/3.4.3
-h /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4
-h /usr/lib/MozillaFirefox
-h /usr/lib/mozilla
-h /usr/lib
-h /opt/sun-jdk-1.5.0.01/jre/lib
-h /usr/qt/3/lib
-h /usr/kde/3.3/lib
-h /usr/lib/nspr
-h /usr/lib/nss
-h /usr/games/lib
-h /usr/lib/fltk-1.1
-h /usr/lib/libstdc++-v3/
-h /usr/lib/R/lib
-h /opt/bin
-h /usr/i686-pc-linux-gnu/gcc-bin/3.4.3
-h /opt/Acrobat5
-h /opt/xxe
-h /opt/sun-jdk-1.5.0.01/bin
-h /opt/sun-jdk-1.5.0.01/jre/bin
-h /usr/qt/3/bin
-h /usr/kde/3.3/bin
-h /usr/games/bin
-b /usr/lib/wine
-b /usr/lib/valgrind


But prelink still gives me no output! :( Is there something wrong with prelink.conf?
Back to top
View user's profile Send private message
cato`
Guru
Guru


Joined: 03 Jun 2002
Posts: 430
Location: Norway, Trondheim

PostPosted: Mon Feb 14, 2005 9:54 am    Post subject: Reply with quote

@vagus: delete /etc/env.d/99prelink and edit 60prelink to your needs. Then do a env-update and the multiple entries are gone.

But I still get no output. Upgraded to newest prelink version, glibc is "PICed" ...
_________________
Don't mess with the Penguin.
Back to top
View user's profile Send private message
simondo42
n00b
n00b


Joined: 22 Nov 2004
Posts: 42
Location: Dunedin, New Zealand

PostPosted: Mon Feb 14, 2005 10:40 am    Post subject: Reply with quote

Vagus: There are still multiple entries in your prelink.conf (/usr/local/lib, /usr/lib). There should be only one reference to a directory, regardless of whether it has -h or -l at the beginning of the line. I generally leave the -l lines alone and remove the duplicate -h lines.

I'm not sure that just altering the 60prelink file helps, as the duplicates are generated by other files in the /etc/env.d directory as well.

Cheers,
simon
Back to top
View user's profile Send private message
vagus
n00b
n00b


Joined: 02 Jul 2004
Posts: 59

PostPosted: Mon Feb 14, 2005 2:16 pm    Post subject: Reply with quote

Oh I didn't realize that I still missed out 1 duplicated entry! After the commented the last one out, prelink finally gives me a lot of output!!! :D (and my last line was Executing /sbin/init U)

I have yet found a way to prevent duplicated entries in prelink.conf. I don't really know how to change the 60prelink file. This is rather irritating. But I am glad enough that it works!

Thanks everybody! :D
Back to top
View user's profile Send private message
radfoj
Guru
Guru


Joined: 31 Dec 2004
Posts: 490
Location: Tísek, Czech Republic

PostPosted: Mon Feb 14, 2005 3:01 pm    Post subject: Reply with quote

My opinion, I have /etc/prelink.conf and first two lines are saying:
Code:
# prelink.conf autogenerated by env-update; make all changes to
# contents of /etc/env.d directory

So I never modified it. I also have /etc/env.d/60prelink, and my defaults were:
Code:
PRELINK_PATH_MASK=/usr/lib/wine:/usr/lib/valgrind
PRELINK_PATH=""

During first prelinking it print such messages:
Code:
prelink: /usr/lib/transgaming_cedega/winex/bin/wine: Could not find one of the dependencies

So I modified 60prelink:
Code:
PRELINK_PATH_MASK=/usr/lib/wine:/usr/lib/valgrind:/usr/lib/transgaming_cedega/winex/bin
PRELINK_PATH=""

Afterwards I typed env-update and in /etc/prelink.conf was automaticly added this line:
Code:
-b /usr/lib/transgaming_cedega/winex/bin


Look what you have in 60prelink and whether prelink.conf will be changed after env-update.
Back to top
View user's profile Send private message
simondo42
n00b
n00b


Joined: 22 Nov 2004
Posts: 42
Location: Dunedin, New Zealand

PostPosted: Mon Feb 14, 2005 7:06 pm    Post subject: Reply with quote

radfoj: From what I've been able to tell, many of the files in the /etc/env.d directory have a LDPATH= entry in them which env-update uses to create the ld.so.conf and prelink.conf files. I'm running on ~x86, and many of the files list the same directories in the LDPATH lines. I think that's why you end up with duplicates in the prelink.conf. I'm not really game to start messing with these files too much, but I do add in the Ximian-OpenOffice and Firefox-bin installations so that they get prelinked as well :).

simon
Back to top
View user's profile Send private message
radfoj
Guru
Guru


Joined: 31 Dec 2004
Posts: 490
Location: Tísek, Czech Republic

PostPosted: Mon Feb 14, 2005 8:33 pm    Post subject: Reply with quote

simondo42 wrote:
radfoj:..... I think that's why you end up with duplicates in the prelink.conf.


It was not my case. I never had any duplicates. I was only answering to these people, who tried comment some lines in prelink.conf and after this they prelinked succesfully. .... I am only afraid, that they will have duplicates there again in near future after next env-update. Yes, probably due something wrong in /etc/env.d. And their next prelink - maybe from cron - will not work.
Back to top
View user's profile Send private message
simondo42
n00b
n00b


Joined: 22 Nov 2004
Posts: 42
Location: Dunedin, New Zealand

PostPosted: Mon Feb 14, 2005 8:40 pm    Post subject: Reply with quote

radfoj: I agree -- unless a script is prepended to remove the duplicate entries in prelink.conf at the beginning of the cron job, prelink will fail. I personally just manually edit the prelink.conf file whenever I run prelink, which I do whenever I install something which I use a lot or other packages depend on. Irritating, but ultimately not a major issue.

Cheers,
simon
Back to top
View user's profile Send private message
Mikos
Tux's lil' helper
Tux's lil' helper


Joined: 04 Feb 2004
Posts: 91
Location: Prague, Czech Republic

PostPosted: Mon Feb 14, 2005 9:00 pm    Post subject: Reply with quote

I am sorry to say that, but this HOWTO is completely wrong... The "trick" to prelink against binary NVidia drivers by temporarily switching to xorg-x11 opengl implementation doesn't work in reality. Because if you switch back to NVidia opengl implementation, your OpenGL applications will be using non-prelinked libraries, so you gain nothing.

But nevertheless this is non-issue, because new versions of qt and kde can be prelinked even if you are using NVidia opengl:

Quote:
To the best of my knowledge, Qt >= 3.3.0 offers a configure option (--dlopen-opengl) that removes its hard-wired dependency on libGL (which is then loaded on demand); this allows you to prelink Qt/KDE applications even with the NVIDIA driver present on your system.

_________________
o Athlon-XP 2600+ (512kB cache), 512MB DDR400 RAM, GeForce FX-5600 128MB
o using Arch Linux now, but still love Gentoo ;-)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6  Next
Page 2 of 6

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum