# [HOWTO] how I use to prelink (nvidia included) [x86] [~x86]

## hds

hi folx,

well, IMHO the prelinking guide(s) are all outdated, and not takeing care about those of us owning an nvidia graphicscard (using nvidia native drivers, of course), here's my way:

a) enable "pic" to your USEflags. this has not to be mistaken (like it is told in the prelink howto) with the CFLAG "-fPIC" - IMHO this is false in the howto. what is actually meant is "./configure --with-pic"!!

b) "emerge -uDv --newuse world"

this might take a while, because if "pic" hasnt been in before, glibc hasto be recompiled.

c) now, to make prelink happy with the nvidia drivers, run: "opengl-update xorg-x11" so the libgl.so symlinks will be fixed. do NOT!!! do an environment update!!

d) prelink -avmfR

e) the last line after this finished should be:

Executing /sbin/init U

if this is NOT the case, not everything has been prelinked. recheck above steps. did you really really re-emerge with the "--newuse" flag? did you compile stuff locally, and forgot to add "--with-pic" in your ./configure?

f) now run "opengl-update nvidia" to get your libgl.so back (the nvidia one).

edit /etc/env.d/99kde-env like this:

#KDE_IS_PRELINKED=1

KDE_IS_PRELINKED=1

now (just in case) run

env-update

source /etc/profile

should be it. reboot and see.

btw.. leaving out he nvidia part this should actually work for anyone. i have checked this on my wifes system (old voodo3 in there) and it worked. she is running kernel 2.6.x, me 2.4.x

have fun, enjoy, and feel free to add your coments and perhaps additional hints and tips.Last edited by hds on Sat Feb 26, 2005 8:42 pm; edited 1 time in total

----------

## rohan28

With regards to a), you are right, and it is in fact quite a bad idea to put -fPIC in your CFLAGS; if you do this, both libraries and executables will be compiled with Position Independent Code.  Generally you want shared libraries to be PIC, but not executables themselves, as this will decrease performance in the same kind of way as not using -fomit-frame-pointer (but several times worse).

Just thought I would make that comment.  A nice and simple HOWTO  :Smile: 

----------

## bakreule

No wonder my system seemed slower the last time I tried to prelink everything. Either I was stupid and didn't see the part about the "pic" USE flag in the docs or it wasn't there...

Thanks for the guide!

----------

## radfoj

Hi,

about month ago, I tried to prelink my new gentoo box.  I followed the prelink guide, with USE-flag "pic" in my make.conf. No benchmark were done, but I wasnt feeling any speedups. I decided to try once more after some time. Today I found this howto, so I tried again, also with your trick "opengl-update".

The output of typing "prelink -avmfR" also contains:  :Embarassed: 

```
prelink: /usr/bin/gvidcap: Cannot prelink against non-PIC shared library /usr/lib/libavformat.so

prelink: /usr/bin/mplex: Cannot prelink against non-PIC shared library /usr/lib/libmplex2-1.6.so.0

prelink: /usr/bin/mpeg2enc: Cannot prelink against non-PIC shared library /usr/lib/libmpeg2encpp-1.6.so.0

prelink: /usr/bin/ffserver: Cannot prelink against non-PIC shared library /usr/lib/libavformat.so

prelink: /usr/bin/xvidcap: Cannot prelink against non-PIC shared library /usr/lib/libavformat.so

prelink: /usr/bin/ffmpeg: Cannot prelink against non-PIC shared library /usr/lib/libavformat.so
```

and more warnings like that:  :Embarassed: 

```
prelink: Warning: /usr/lib/libavformat.so has undefined non-weak symbols

prelink: Warning: /usr/lib/libaviplayavformat-0.7.so.0 has undefined non-weak symbols

prelink: Warning: /usr/lib/libaviplayavcodec-0.7.so.0 has undefined non-weak symbols

prelink: Warning: /usr/lib/libFLAC.so.4 has undefined non-weak symbols

prelink: Warning: /usr/lib/libgthread-1.2.so.0 has undefined non-weak symbols

prelink: Warning: /usr/lib/libgif.so.4 has undefined non-weak symbols

prelink: Warning: /usr/kde/3.3/lib/libkscreensaver.so.4 has undefined non-weak symbols

prelink: Warning: /usr/lib/libcupsimage.so.2 has undefined non-weak symbols

prelink: Warning: /usr/lib/libsablot.so.0 has undefined non-weak symbols

prelink: Warning: /usr/lib/libXfont.so.1 has undefined non-weak symbols

prelink: Warning: /usr/lib/libgmodule-1.2.so.0 has undefined non-weak symbols

prelink: Warning: /usr/lib/libgdk_imlib.so.1 has undefined non-weak symbols

prelink: Warning: /usr/lib/libgtk-1.2.so.0 has undefined non-weak symbols
```

But after reboot applications are REALLY starting much faster. Although I am not sure about the messagess above, my first impressions are saying - IT WORKS.    :Very Happy: 

OK, my system seems to be prelinked now. But after next emerging/unmerging, its important to care about it. So it would be nice, if somebody could post here how are you doing it.

Add it to crontab (what exactly) or add to some emerge script (how exactly)    :Embarassed:   :Question:  Or have you another idea?

Some tips for /etc/env.d/60prelink or /etc/prelink.conf would be also nice. Thanks, really, very much.

----------

## MaxDamage

Are you sure about prelinking with the x11 libraries, then using nvidia ones again? Will the 3D apps use nvidia or x11, then?

----------

## hds

 *radfoj wrote:*   

> 
> 
> [code]prelink: /usr/bin/gvidcap: Cannot prelink against non-PIC shared library /usr/lib/libavformat.so
> 
> prelink: /usr/bin/mplex: Cannot prelink against non-PIC shared library /usr/lib/libmplex2-1.6.so.0
> ...

 

are you sure they have been compiled with "pic"? i guess you added the pic flag later, and those have been compiled prior to this?

try emerge -upDv --newuse world

and see if those apps would get re-emerged

warnings are OK, imho. i have had some of those as well.

is the last outputted line:

Executing /sbin/init U 

?

----------

## R!tman

What does the "pic" USE Flag do exactely?

[edit]

Only just in case, the "Build Position Independent Code. Needed for prelink or the hardened toolchain" is not very helpful in understanding what pic does.

It's from http://www.gentoo.org/dyn/use-index.xml

[/edit]

----------

## hds

its used for the ./configure stuff prior to make. its like if you would add "--with-pic" to ./configure if you compile manually.

----------

## radfoj

 *hds wrote:*   

> are you sure they have been compiled with "pic"? i guess you added the pic flag later, and those have been compiled prior to this?

 

I am sure, I add "pic" month ago .......... and  "emerge -avuD --newuse world" I typed since then few times.  :Very Happy:   :Very Happy: 

And yes, it ends with "Executing /sbin/init U"

----------

## hds

 *radfoj wrote:*   

> 
> 
> And yes, it ends with "Executing /sbin/init U"

 

so at least the prelinking stuff gots to its end.

well, i really dont recall which packages had warnings and/or were unable to get prelinked.. there are a few, i know.

however, i wouldnt worry. the main advantage is in speeding up KDE anyway (IMHO).

also please note, there are a lot of ebuilds that do not honor the "pic" useflag at all, so also this might be a problem. i really dont know. i only do know it never got to "init U" using the prelink guide - so it actually never worked before at my system.

----------

## radfoj

 *hds wrote:*   

>  *radfoj wrote:*   
> 
> And yes, it ends with "Executing /sbin/init U" 
> 
> so at least the prelinking stuff gots to its end.
> ...

 

Yes, I agree with you ... and not only KDE apps are starting faster. 

I am worring now about one - "keeping this state for ages". 

I found some opinions here on forum, then for this we must prelink after updating. Somebody says, that the best to do it after every emerge. So maybe with cron or some script. But I dont know, how exactly. With -avmfR again and again- its waste of time, especially, when I love updating.   :Razz:  Maybe anybody tell this secret.   :Razz: 

BTW in mandrake, there was a script in /etc/cron.daily/prelink ..... but so hard for me.

----------

## hds

no, you dont need -avmfR again. see "man prelink":

```

       -q --quick

              Run  prelink  in  quick  mode.  This mode checks just mtime and ctime timestamps of libraries and binaries stored in the cache

              file.  If they are unchanged from the last prelink run, it is assumed that the library in question did not change and no pars-

              ing of its ELF headers and verifying it is done.

```

so, -qavmR should do it [untested]  :Wink: 

btw.. i wouldnt put this in cron. i do not emerge anything unattended anyway.

----------

## radfoj

 *hds wrote:*   

> 
> 
> so, -qavmR should do it [untested] 
> 
> 

 

Not exactly:

```
radfoj radfoj # prelink -qvmfR

prelink: no files given and --all not used
```

I will test it later, its time to go to bed.  

But I think that without -f  -  "prelink -qavmR"

Thanks hds anyway ... time will show me.    :Laughing: 

----------

## R!tman

 *hds wrote:*   

> its used for the ./configure stuff prior to make. its like if you would add "--with-pic" to ./configure if you compile manually.

 

Ok, thanks. But I think you explained the idea of USE Flags in general, not that specific one. 

What difference to a package does this "pic" cause to a package, so that it is prelinkable from now on?

----------

## rhill

http://www.gentoo.org/proj/en/hardened/pic-internals.xml

http://en.wikipedia.org/wiki/Position_independent_code

----------

## hds

i just had a deeper look into this, why some packages dont prelink. i unpacked ffmpeg manually, and did a "./configure --help". there is no such option like "--with-pic" in that package, so that explains it all.

nothing we can do about this for now.. except perhaps asking the ffmpeg autor if he could add this option to his source.

----------

## radfoj

 *hds wrote:*   

> i just had a deeper look into this, why some packages dont prelink. i unpacked ffmpeg manually, and did a "./configure --help". there is no such option like "--with-pic" in that package, so that explains it all.
> 
> nothing we can do about this for now.. except perhaps asking the ffmpeg autor if he could add this option to his source.

 

OK. One little question: how many packages have you compiled with "pic".  

I am not sure, wheather this is a right way, how count it, but in make.conf I  changet "pic" to "-pic" and typed "emerge -avuD --newuse world"  ..... It offer me only 4 packages to rebuild:

```
Calculating world dependencies ...done!

[ebuild   R   ] sys-libs/glibc-2.3.4.20040808-r1  -build -debug -erandom -hardened (-multilib) +nls-nptl -pic* -userlocales 0 kB

[ebuild   R   ] app-arch/gzip-1.3.5-r5  -build -debug +nls -pic* -static 0 kB

[ebuild   R   ] media-libs/xine-lib-1_rc8-r1  +X -aalib +alsa (-altivec) +arts +avi -debug -directfb +dvd -esd -gnome +ipv6 +nls +oggvorbis -pic* +sdl -speex +theora 0 kB

[ebuild   R   ] media-video/avidemux-2.0.36  -a52 +aac +alsa (-altivec) +arts -debug +encode +mad +mmx +nls +oggvorbis -pic* +sdl +truetype +xv +xvid 0 kB
```

Have I something  broken? Or dont I understand it well?

----------

## hds

yes, just a few, but all KDE ebuilds should be listed. as i already mentioned, "pic" is just used by a few ebuilds.

//edit: hmm, KDE ebuilds arent listed here either   :Shocked: 

well, i really dont know. it just works   :Laughing: 

btw.. infact of KDE i think thats where the ENV variable comes in, because pic support might be already included internally?

anyway, i am not a gcc or c++ expert freak. you should better ask in one of those forums to learn more.

dont get me wrong - but it would be nice if we could concentrate on improveing the howto  :Wink: 

----------

## Dais

 *MaxDamage wrote:*   

> Are you sure about prelinking with the x11 libraries, then using nvidia ones again? Will the 3D apps use nvidia or x11, then?

 

I'd like to know the answer too  :Razz: 

----------

## hds

 *Dais wrote:*   

>  *MaxDamage wrote:*   Are you sure about prelinking with the x11 libraries, then using nvidia ones again? Will the 3D apps use nvidia or x11, then? 
> 
> I'd like to know the answer too 

 

does work fine here. glxinfo output looks OK.

also gl screensaver (just tested "euphoria") is still working and using nvidias glx. same with glxgears.

specially those screensavers (*.kss) have been an issue - but i am sure you already knew that  :Wink: 

OTOH - your mileage might vary - simply try it out and report back if it doesnt work for you   :Shocked: 

IMHO nothing much to risk or loose, cause you can easyly revert the situation.

well, i am not responsible to any damage of course   :Embarassed:   :Laughing:   :Embarassed: Last edited by hds on Thu Feb 10, 2005 2:24 pm; edited 1 time in total

----------

## Dais

thanks ^^

----------

## hds

everything looking OK with "keinstein" (kde 3.4 beta2) as well. if you are interessted in screenshots, watch this space regulary:

http://www.en-total.de/modules.php?name=Forums&file=viewtopic&p=284#284

im a still compiling - this athlon 1200, ah well  :Wink: 

----------

## juri

hds,

you should contact the author of the prelink how-to at gentoo.org or file a bug for the docs with bugzilla. 

their guide needs to be updated quickly. I took a look at the USE flags with which stage 2 - 3 (2004.1 livecd) were compiled and there's no trace of "pic", so everyone trying to prelink will fail!

----------

## hds

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   :Embarassed: 

anyway, author emailed.

PS: IMHO the "pic" USEflag should have to be renamed to "prelink" - this would avoid a lot of confusion..

----------

## juri

And this info should be in the handbook, compiling from the beginning with pic would save a lot of time!

----------

## Erlend

 *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

----------

## hds

 *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  :Wink: 

what about reading the previous page?   :Embarassed: 

----------

## juri

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.

----------

## hds

 *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  :Wink: 

----------

## Erlend

 *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

----------

## hds

 *Erlend wrote:*   

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

 

say what???

```

a) enable "pic" to your USEflags.

```

it says that in the very first step. what about getting a pair of glasses?   :Laughing: 

btw.. this howto would be pretty redundant if it wouldnt mention the pic useflag, IMHO   :Twisted Evil: 

----------

## cato`

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

```

laptop root # prelink -avmfR

laptop root #

laptop root # prelink -avmqR

laptop root #

```

----------

## radfoj

 *cato` wrote:*   

> When I prelink I get absolutly no output, does this mean it was sucessfull or not?
> 
> ```
> 
> laptop root # prelink -avmfR
> ...

 

In my opinion prelink wasnt sucessfull. From man prelink:

```
-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:

```

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?

----------

## hds

 *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.

----------

## kormoc

DeletedLast edited by kormoc on Mon Dec 24, 2018 8:48 am; edited 1 time in total

----------

## [UK]Superdude

 *cato` wrote:*   

> When I prelink I get absolutly no output, does this mean it was sucessfull or not?
> 
> ```
> 
> laptop root # prelink -avmfR
> ...

 

I get the same result....

hmmmmm

Anyone have any ideas or suggestions?

----------

## vagus

I don't have any output here either...  :Sad: 

----------

## provicemo

No output for me either,

just recently upgraded to prelink-20041123.

Perhaps its related to the new version.

----------

## [UK]Superdude

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

Hmmmm

----------

## hds

prelink -V gives "1.0" here as version. if you have a different version, have a look at "man prelink". maybe some options changed?

----------

## simondo42

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

----------

## vagus

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

```
# 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:

```
# 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!  :Sad:  Is there something wrong with prelink.conf?

----------

## cato`

@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" ...

----------

## simondo42

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

----------

## vagus

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!!!  :Very Happy:  (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!  :Very Happy: 

----------

## radfoj

My opinion, I have /etc/prelink.conf and first two lines are saying:

```
# 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:

```
PRELINK_PATH_MASK=/usr/lib/wine:/usr/lib/valgrind

PRELINK_PATH=""
```

During first prelinking it print such messages:

```
prelink: /usr/lib/transgaming_cedega/winex/bin/wine: Could not find one of the dependencies
```

So I modified 60prelink:

```
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:

```
-b /usr/lib/transgaming_cedega/winex/bin
```

Look what you have in 60prelink and whether prelink.conf will be changed after env-update.

----------

## simondo42

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  :Smile: . 

simon

----------

## radfoj

 *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.

----------

## simondo42

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

----------

## Mikos

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.

 

----------

## hds

welcome to the real world

 *Mikos wrote:*   

> I am sorry to say that, but this HOWTO is completely wrong...
> 
> 

 

i dont think so, well, lets see what you have to tell:

 *Mikos wrote:*   

> 
> 
> The "trick" to prelink against binary NVidia drivers by temporarily switching to xorg-x11 opengl implementation doesn't work in reality.
> 
> 

 

of course not - but it helps to see if you have got finished in the end, to get to "/sbin init u", no?

 *Mikos wrote:*   

> 
> 
> Because if you switch back to NVidia opengl implementation, your OpenGL applications will be using non-prelinked libraries, so you gain nothing.
> 
> 

 

of course not - sure it is a kludge. but it lets you finish your prelinking, and plenty people in here did see a real speed improvement actually.

so what do you have to say to improve my HowTo? and why is it completly wrong  :Shocked: 

//edit: what do you mean with "switch back"? i explicitely told you you should not run env-update until all steps are finished.

anyway, i see much positive feedback, it didnt work for me with his howto, i even contacted the author of the howto - he didnt reply back. so what am i able to do   :Shocked: Last edited by hds on Tue Feb 15, 2005 11:33 am; edited 2 times in total

----------

## Mikos

Well, if you want to use OpenGL, you must switch back to NVidia implementation (by running "opengl-update nvidia"). If you do that, you lose all speedup gained by prelink for those applications linked to libGL.so. So you don't need to do this "trick" at all.

I am using nvidia opengl drivers and prelink works for me even without this trick...

Btw. sorry, I haven't mean it bad... it was only advice

----------

## radfoj

 *Mikos wrote:*   

> I am using nvidia opengl drivers and prelink works for me even without this trick...

 

Mikos, what about this messages, you havent them? Plenty of them:

```
prelink: /usr/X11R6/bin/xdriinfo: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/games/bin/chromium: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/games/bin/foobillard: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/kde/3.3/bin/kspace.kss: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/kde/3.3/bin/kgravity.kss: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/X11R6/bin/glxgears: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/bin/mplayer: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/kde/3.3/bin/amarokapp: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1
```

You ignore this or have other "trick"?

----------

## hds

 *Mikos wrote:*   

> Well, if you want to use OpenGL, you must switch back to NVidia implementation (by running "opengl-update nvidia"). If you do that, you lose all speedup gained by prelink for those applications linked to libGL.so. So you don't need to do this "trick" at all.
> 
> 

 

read my lips again:

it gets through until "sbin init U"Last edited by hds on Tue Feb 15, 2005 11:33 am; edited 1 time in total

----------

## Mikos

radfoj: Yes, you can ignore these messages. Even if you use that trick, when you switch back to nvidia opengl, these programs will be nevertheless unprelinked. But I don't think that prelinking of OpenGL screensavers is important  :Wink: 

hds: If I remember it right, I have seen it. But I doubt this is important. I have read Gentoo Linux Prelink Guide and documentation for prelink ("man prelink", etc.) and from what I know, these messages aren't important at all. All libraries (except of that libraries where you see prelink error messages - like libGL.so) are prelinked. Maybe I am wrong, but it works for me that way...

----------

## i92guboj

I think all the last messages are getting just to conffussion... It is true that when you do this trick you don't prelink anything about opengl libraries, also, is true that, anyway you are prelinking the rest of your system. Also true that there is no need at all to make such a trick, but also true that it does not hurt at all, if you don't like warning messages you can do the trick, if you like them don't do it, if you just like to see the /sbin thing the prelink -Ramv (or whatever) | grep  "sbin init U". No need to fight for this, please. :Very Happy:  The effect with or without this trick will just be the same.

Anyway the prelink against these gl libraries fails cause they are not in a standard format (closed source).......

Ah! the thing about the libraries in the first page is documented somewhere in the prelink howto, although i don't remember if the english or the spanish web.....

Also to say that prelink performance raise for me is near zero, maybe cause i use lighter apps, don't know (anyway no kde at all). And yes pic (that mostly turnc -fPIC in ./configure as someone stated above, so there's no error on thinking anything is wrong about -fPIC) is active and also -fPIC. Anyway you can see this -fPIC over any compilation in gentoo (almos any, of course, except the ones relative to the programs that fails to prelink). Kde apps do not have pic use flag, but uses internally -fPIC in al build, so not a thing to worry.

----------

## Mikos

I have tested it again:

```
tauri portage # prelink -afmR

prelink: /usr/kde/3.3/bin/kfountain.kss: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/kde/3.3/bin/kwave.kss: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/bin/glxgears: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/bin/mplayer: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/bin/mpeg3dump: Cannot prelink against non-PIC shared library /usr/lib/liba52.so.0

prelink: /usr/bin/a52dec: Cannot prelink against non-PIC shared library /usr/lib/liba52.so.0

...

prelink: /usr/bin/lqtplay: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/bin/mpeg3split: Cannot prelink against non-PIC shared library /usr/lib/liba52.so.0

prelink: /usr/bin/mencoder: Cannot prelink against non-PIC shared library /usr/lib/libdivxencore.so.0

prelink: /usr/bin/avidemux2: Cannot prelink against non-PIC shared library /usr/lib/liba52.so.0

Executing /sbin/init U
```

It was done using nvidia opengl, so I was right, you don't have to temporarily switch to xorg-x11 while prelinking... only applications linked to OpenGL library (and to some multimedia libraries like liba52 and libavformat) aren't prelinked, it is OK.

----------

## [UK]Superdude

I removed duplicate entries in the /etc/prelink.conf file and prelink has seemed to work.

Should this become a bug report? It seems that the behaviour of env-update is wrong, or at least prelink needs to be able to deal with duplicates?

Does anyone have anything else to add?

----------

## radfoj

Hi, I am here again. Today I decided to make little benchmark and also to resolv some my question (ie. how often is it good to prelink again) . I tried kaffeine becouse:

- its small and reemerging it doestn take too long

- kaffeine has "systrey icon" so works great with time command

At first - I have my system prelinked. So I emerged kaffeine again and rebooted.

```
$ time kaffeine

real 2.512s 1.493s 1.489s 1.491s 1.497s 1.491s 1.499s 1.491s 2.048s
```

A was also not sure, what reemerging it did to prelink - is kaffeine still prelinked? I think not so I tried:

```
# prelink -qavmR

Prelinking /usr/lib/libkmediapart.so.0.0.1

Prelinking /usr/bin/kaffeine
```

I rebooted again and:

```
$ time kaffeine

real 2.291s 1.071s 1.067s 1.073s 1.071s 1.075s 1.097s 1.069s 1.074s
```

So prelink doesnt work?  :Laughing:   :Laughing:   :Laughing:  Yes its only small app, it should be interesting try with kmail (also works great with "time").  Yes, I will try, I only have to find how at first unprelink him (-u option). And amarok will be my third and last test. It will be VERY VERY interesting due its linked to nvidia.

Also from this little test its good prelink frekfently if you are often emerging.

EDITED  -  I forgot to add, that lines after  $ time kaffeine - I typed it 9X and post only the real startup timesLast edited by radfoj on Tue Feb 15, 2005 8:47 am; edited 1 time in total

----------

## etnoy

 *vagus wrote:*   

> 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!!!  (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! 

 

File a bug about it, so that you give back to the community  :Wink: 

----------

## radfoj

Second test with Kmail.  Becouse it takes too long to reemerge kdepim and I have log from my last prelink, I found two lines with prelinking kmail. So I tried revert only this two ones to their originaly content (maybe there are others with some relation to kmail, but I didnt care about it). I did it by this:

```
# prelink -uv /usr/kde/3.3/bin/kmail

# prelink -uv /usr/kde/3.3/bin/kmailcvt
```

Rebooted and 9 times I started kmail by "time kmail".

```
6.489s 2.699s 2.685s 3.085s 2.693s 2.687s 2.714s 2.722s 2.679s
```

Next step was to prelink it back:

```
# prelink -qavmR

Prelinking /usr/kde/3.3/bin/kmailcvt

Prelinking /usr/kde/3.3/bin/kmail
```

After reboot I started kmail again and also 9 times:

```
4.576s 1.077s 1.066s 1.081s 1.075s 1.065s 1.078s 1.072s 1.662s
```

GREAT, or not?   Yes, from both test I see, that the first run is not so faster as in the following runs.

hds, in my opinion, what about little editing your howto, especially with the trick switching from nvidia opengl ..... its not nessecesy in every cases .... yes there are some people (and you) who without it couldnt prelink succesfully.

I have nvidia card and nvidia drivers and in both tries prelink ends with "Executing /sbin/init U"  ..... yes, during prelinking in nvidia opengl with much more messages about "Cannot prelink against non-PIC shared library"

And the test were done without your trick. There is also one reason, in which I prefer "direct" prelink .... I want add to cron some line and the with switching the opengl environment only for prelink purposes for crontab it would be more problematic.    :Very Happy:  [/quote]

----------

## popopo_

I'm a getting a weird error with prelink

It works, but right after trying to prelink libgcc_s.so.1, every lib that depends on it doesn't prelink

```

Prelinking /usr/lib/gcc-lib/i686-pc-linux-gnu/3.4.3/libgcc_s.so.1

prelink: Could not prelink /usr/kde/3.4/lib/libDCOP.so.4 because it doesn't use /lib/libgcc_s.so.1, but one of its dependencies has been prelinked against it

prelink: Could not prelink /usr/kde/3.4/lib/libkdecore.so.4 because its dependency /usr/kde/3.4/lib/libDCOP.so.4 could not be prelinked

etc...

```

I tried a ldd on libDCOP.so.4, and i get this result

```

% ldd /usr/kde/3.4/lib/libDCOP.so.4

        linux-gate.so.1 =>  (0xffffe000)

        libqt-mt.so.3 => /usr/qt/3/lib/libqt-mt.so.3 (0x40031000)

        libaudio.so.2 => /usr/lib/libaudio.so.2 (0x40773000)

        libXt.so.6 => /usr/lib/libXt.so.6 (0x40788000)

        libmng.so.1 => /usr/lib/libmng.so.1 (0x407dd000)

        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x4083b000)

        libXi.so.6 => /usr/lib/libXi.so.6 (0x4085c000)

        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x40865000)

        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x4086d000)

        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x40871000)

        libXft.so.2 => /usr/lib/libXft.so.2 (0x4087a000)

        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x4088c000)

        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x4090f000)

        libdl.so.2 => /lib/libdl.so.2 (0x40958000)

        libpng.so.3 => /usr/lib/libpng.so.3 (0x4095c000)

        libXext.so.6 => /usr/lib/libXext.so.6 (0x40995000)

        libX11.so.6 => /usr/lib/libX11.so.6 (0x409a4000)

        libSM.so.6 => /usr/lib/libSM.so.6 (0x40a72000)

        libICE.so.6 => /usr/lib/libICE.so.6 (0x40a7b000)

        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40a94000)

        libstdc++.so.6 => //usr/lib/gcc/i686-pc-linux-gnu/3.4.3/libstdc++.so.6 (0x40aa7000)

        libm.so.6 => /lib/tls/libm.so.6 (0x40b78000)

        libc.so.6 => /lib/tls/libc.so.6 (0x40b9b000)

        libgcc_s.so.1 => //usr/lib/gcc/i686-pc-linux-gnu/3.4.3/libgcc_s.so.1 (0x40cc6000)

        libXau.so.6 => /usr/lib/libXau.so.6 (0x40cd0000)

        libz.so.1 => /lib/libz.so.1 (0x40cd3000)

        libexpat.so.0 => /usr/lib/libexpat.so.0 (0x40ce5000)

        /lib/ld-linux.so.2 (0x80000000)

```

Are the double / normal at the start of the lines with gcc ?

----------

## Phlogiston

 *Quote:*   

> OK, my system seems to be prelinked now. But after next emerging/unmerging, its important to care about it. So it would be nice, if somebody could post here how are you doing it.
> 
> Add it to crontab (what exactly) or add to some emerge script (how exactly)     Or have you another idea?
> 
> 

 

I would also be interested in that? How could we automize the process of updating prelink? In best way with portage?

Thanks for your help and the HOWTO.

----------

## Jimmy Jazz

 *[UK]Superdude wrote:*   

> I removed duplicate entries in the /etc/prelink.conf file and prelink has seemed to work.
> 
> Should this become a bug report? It seems that the behaviour of env-update is wrong, or at least prelink needs to be able to deal with duplicates?
> 
> Does anyone have anything else to add?

 

Hello,

i don't think that is because you have duplicates but rather because there are some bad symlinks like /usr/lib/lib to /usr/lib/lib that crash  prelink.

You can read inciner@tor post at https://forums.gentoo.org/viewtopic.php?t=292379&watch=topic&start=0&sid=5d520adc7187e54f2c43bfbf2d51b755

and peraphs help him  :Smile: 

@+

Jj

----------

## Jimmy Jazz

 *hds wrote:*   

>  *Mikos wrote:*   Well, if you want to use OpenGL, you must switch back to NVidia implementation (by running "opengl-update nvidia"). If you do that, you lose all speedup gained by prelink for those applications linked to libGL.so. So you don't need to do this "trick" at all.
> 
>  
> 
> read my lips again:
> ...

 

hds,

Your post was really useful.  :Razz: 

I only get some strange warnings about "weak something", but  i didn't remember what. That didn't harm prelink, only my curiousity. lol

Thx again.

Jj

----------

## radfoj

So here is my third and also last test. I am sorry, for those guys who were bored during the two previous. Please, dont read next lines and go away. It will be longer. I am also sorry to hds, that I am spaming his howto  :Embarassed: 

But I spend much time on it, so I want to share it with you. I prefered to post it here step by step, so you can see, if I make some mistake. So lets go.

I select amarok, becouse works great with "time" and have some relation to opengl. In make.conf I have USEflag "opengl". I was all the time in "nvidia opengl" environment, only once I switched to "xorg opengl", I will tell you. Keep in mind, whenever it start amarok, it calls amarokapp:

```
$ time amarok

amaroK: [Loader] Starting amarokapp..
```

I reemerged amarok, rebooted and started amarok 8x:

```
9.179s 3.490s 3.829s 3.530s 3.513s 3.500s 3.598s 3.520s
```

I prelinked him:

```
# prelink -qavmR

Prelinking /usr/kde/3.3/bin/amarokapp

prelink: /usr/kde/3.3/bin/amarokapp: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1.0.6629

Prelinking /usr/kde/3.3/bin/amarok

Prelinking /usr/kde/3.3/bin/amarok_xmmswrapper2
```

Rebooted and start amarok 8x:

```
9.474s 3.422s 3.940s 3.451s 3.471s 3.437s 3.670s 4.165s
```

No improvments. In next step I tried "hds trick":

```
# prelink -uv /usr/kde/3.3/bin/amarok

# prelink -uv /usr/kde/3.3/bin/amarok_xmmswrapper2

# opengl-update xorg-x11

 * Switching to xorg-x11 OpenGL interface...                              [ ok ]

# prelink -avmR

Prelinking /usr/kde/3.3/bin/amarokapp

Prelinking /usr/kde/3.3/bin/amarok

Prelinking /usr/kde/3.3/bin/amarok_xmmswrapper2

# opengl-update nvidia

 * Switching to nvidia OpenGL interface...                                [ ok ]
```

Of course, that during prelink above it print more messages to me, but they arent important for this test. But few of them:

```
 Prelinking /usr/games/bin/bzflag

 Prelinking /usr/games/bin/tuxracer

 Prelinking /usr/kde/3.3/bin/kspace.kss

 Prelinking /usr/bin/mplayer
```

After reboot, amarok is launching in same time:

```
9.414s 3.874s 4.281s 3.701s 3.468s 4.143s 3.466s 3.478s
```

For sure, I prelinked again with  -avmR and reemerged amarok, but now with useflag "-opengl" ..........  and rebooted. And startups times were:

```
8.850s 3.373s 3.350s 3.339s 3.361s 3.379s 4.136s 3.387s
```

And I continued with last prelink ... this time amarok without opengl flag seem to be fully prelinked:

```
# prelink -avmR

Prelinking /usr/kde/3.3/bin/amarokapp

Prelinking /usr/kde/3.3/bin/amarok

Prelinking /usr/kde/3.3/bin/amarok_xmmswrapper2
```

After reboot amarok gaves me the best startup times:

```
8.472s 2.633s 3.692s 2.862s 2.681s 2.687s 2.603s 2.598s
```

What you thing, guys, about it. Especially about the "opengl" flag. What I will loose if I reemerge some apps like mplayer, kdeartwork and so?   :Question:    I found only this:

```
# cat /usr/portage/profiles/use.desc | grep opengl

opengl - Adds support for OpenGL
```

 :Question:   :Rolling Eyes:    Is it good for us, prelinkers?

----------

## hds

about amarok.. did you try this ebuild:

https://forums.gentoo.org/viewtopic-p-2091176.html#2091176

the ebuilds in portage are not compiled with "./configure --with-pic". i added this myself, maybe you give this a try if it improves?

----------

## Mikos

If you re-emerge kdeartwork without "opengl" USE-flag, you will lose OpenGL screensavers, that's all. You don't have to do that, because these screensavers are the only thing which isn't prelinked.

If you re-emerge mplayer without "opengl", you will lose OpenGL video output (but everyone uses "xv" video output, which is best, so you can safely do that).

I don't know for what amarok uses OpenGL... maybe for visualizations in player window? If so, re-emerging without OpenGL support will give you bad performance in amaroK.

----------

## coffeeman

Thanks for the topic.. you saved my life...

----------

## thebigslide

 *popopo_ wrote:*   

> I'm a getting a weird error with prelink
> 
> It works, but right after trying to prelink libgcc_s.so.1, every lib that depends on it doesn't prelink
> 
> ```
> ...

 

They are links from /usr/lib/blah  -> ../blah/blah, so the system has appended a / in front of the full path and then .. translates into /usr, so the net result is //usr.  Perfectly normal.

----------

## Cyrack

Hmm, I just did as written in the HOWTO, but prelink fails on all KDE binaries, eg.:

```
prelink: Could not prelink /usr/kde/3.3/lib/libmcop.so.1 because it doesn't use /lib/libgcc_s.so.1, but one of its dependencies has been prelinked against it
```

All other apps seems fine.

My useflags is as follows:

```
USE="kdeenablefinal fbcon xmms 3dnow bcmath 3dnowex aac acpi4linux dga emul-linux fb mmx2 sockets \

     sse2 svga symlink utf8 v4l2 X xine tcltk acpi alsa apache2 apm arts avi \

     cdparanoia cdr divx4linux flac freetype truetype ftp gif icq jpeg kde \

     lirc mime mmx mp3 mpeg msn multilib mysql nls offensive \

     ogg oggvorbis opengl php png posix qt shared sharedmem soap spell sse \

     ssl symlink threads tidy tiff usb v4l vcd xvid zlib pic -aim -cups \

     -gnome -gtk -gtk2 -gtkhtml -oss -samba"

```

and my compileflags is as follows:

```
CFLAGS="-O3 -march=athlon64 -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops -fomit-frame-pointer -pipe -funroll-loops"

CHOST="x86_64-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

```

After changing my use-flags I did a 'emerge -euD world' just to be sure (and I since I have changed my useflags alot and upgraded GCC it just seemed the right thing to do  :Smile: )

----------

## thebigslide

you needed to do 

```
emerge -e --newuse world
```

.  Not sure if that's where the issue arose.

----------

## Cyrack

 *thebigslide wrote:*   

> you needed to do 
> 
> ```
> emerge -e --newuse world
> ```
> ...

 

'-e' and '-e --newuse' would give the same result, since an empty tree causes portage to recalculate all USE-flag dependencies.

----------

## tortue.net

I understand that with this method we have improvements in KDE. GREAT !

But do we have the same improvement using Gnome? 

I am using Gnome on my Gentoo box, I measured real improvement in opening Firefox for instance after using your howto.

But is there a method to best accelerate Gnome  or is this only good for KDE desktop ?

----------

## simondo42

Cyrack: This thread might be of use:

https://forums.gentoo.org/viewtopic-t-292379-highlight-prelink+gccconfig.html

simon

----------

## radfoj

 *tortue.net wrote:*   

> I understand that with this method we have improvements in KDE. GREAT !
> 
> But do we have the same improvement using Gnome? 
> 
> I am using Gnome on my Gentoo box, I measured real improvement in opening Firefox for instance after using your howto.
> ...

 

Read this - https://forums.gentoo.org/viewtopic.php?t=226909 It sounds interesting.

I as a KDE user cannot say you, wheather it really "speedup" GNOME and GTK apps.

But I also added LDFLAGS="-Wl,-O1"  to my make.conf some days ago, reemerged system (not world), without any problems yet, but still for me prelink rocks.    :Laughing: 

----------

## tortue.net

Thanks for your help. I had this options LDFLAGS="-Wl,-O1" in my make.conf since stage1.

I guess I cannot do more (that's great already....but who knows ?)

----------

## Pubare

Ok, folks posting this type of error:

prelink: Could not prelink /usr/kde/3.4/lib/libDCOP.so.4 because it doesn't use /lib/libgcc_s.so.1, but one of its dependencies has been prelinked against it 

I ran into the same issue with a few software packages recently.  It seems to be because the package was build using GCC-3.4.3 and some of the deps were build using GCC-3.3.4.  Most notable on my system were Kmail (build alone using "DO_NOT_COMPILE" - can't wait for the splits to go stable), Kuickshow (again, built alone), Kaffeine, Kuroo, and Sim.  After prelinking, Kuroo and Kmail would sig11 all the time - very annoying, had to unlink everything.  Rebuilding all the dependencies (of those packages) with GCC-3.4.3 allowed prelink to do it's thing and those progs quit crashing.  I ended up almost completely recompiling my system over a few days period.  However, using the script posted by thebigslide at https://forums.gentoo.org/viewtopic-t-299382.html should make this much easier .  Use his script against the binary with the problem in prelink and recompile the packages that own the libs listed.  If you are not sure which package the libs belong to, just do an "equery belongs /path/to/filename" (assuming you have gentoolkit installed, if not, emerge it).  Then just re-emerge those packages.

Hope that made sense...  Anyway, it worked for me.

edit:  Oh, and prelinking works for any progs that can be linked, regardless of DE / WM.  GTK-based apps may not benefit from it as much as QT ones, but it should be the same (or nearly) for both.

----------

## bludger

I just got a lot of the following messages:

prelink: /usr/bin/ffmpeg: Cannot prelink against non-PIC shared library /usr/lib/libavformat.so

The use flag "pic" is set in /etc/make.conf

"emerge -pv ffmpeg" shows the following:

[ebuild   R   ] media-video/ffmpeg-0.4.9_pre1  -aac (-altivec) -debug -doc +dvd +encode +imlib +mmx +oggvorbis +sdl -static+truetype 0 kB

It looks as if the ffmpeg ebuild is no longer using the pic flag.  Is this correct?

----------

## hds

@bludger:

https://forums.gentoo.org/viewtopic-p-2077060.html#2077060

----------

## Ox-

The reason many library packages don't have a use "pic" is because they use libtool to build the library.  Libtool will automatically add -fPIC during compilation of shared libraries on platforms that support it (e.g. Gentoo Linux).

As for gnome, I'm not sure how much it would be helped by prelinking.  My understanding is that prelinking provides the most benefit to applications written in C++ such as KDE and Mozilla.

----------

## bludger

 *Ox- wrote:*   

> The reason many library packages don't have a use "pic" is because they use libtool to build the library.  Libtool will automatically add -fPIC during compilation of shared libraries on platforms that support it (e.g. Gentoo Linux).

 

Well then why can't I prelink ffmpeg?  I managed to prelink everything a few weeks ago, but now gives the error above.

----------

## hds

 *bludger wrote:*   

> 
> 
> Well then why can't I prelink ffmpeg?  I managed to prelink everything a few weeks ago, but now gives the error above.

 

i very much doubt you managed to prelink ffmpeg a few weeks ago. i guess you havent watched the process all the time, so you didnt notice? or maybe ffmpeg wasnt installed?

----------

## bens

When I run prelink -avmR I get screenfulls of

```
prelink: /usr/bin/ntp-keygen: Dependency tracing failed

prelink: /usr/bin/tifficc: Dependency tracing failed

prelink: /usr/bin/which: Dependency tracing failed

prelink: /usr/bin/y4mshift: Dependency tracing failed

```

Absolutely nothing is prelinked; I just get that failure error for every executable and library on the system.

Anyone know what "Dependency tracing failed" means?

More details at

https://forums.gentoo.org/viewtopic-t-300604-highlight-.html

----------

## Cyrack

 *simondo42 wrote:*   

> Cyrack: This thread might be of use:
> 
> https://forums.gentoo.org/viewtopic-t-292379-highlight-prelink+gccconfig.html
> 
> simon

 

Well, everybody should check first if this problem exist in their install, since prelinking did something bad to my binaries. Almost every single program I tried to start seg.faulted shortly after, leaving the kernel in a unstable state, then causing the kernel to crash (even as normal user). I tried to unlink the apps again (singleuser mode and a load of time spent with knoppix and chroot), but eventhough prelink reported that the bins were unlinked the seg.faults didn't stop, so now I have reinstalled the entire system.

Just a little warning/info....

----------

## hds

<lol>, this didnt happen here. x86 stable and also full ~x86 on a different machine.

is this 64 architecture, or something apart from x86? just wondering..

if it is on x86 machines, you would happen to be the 1st one to tell.

//edit: updated the topic to show x86 only

----------

## Cyrack

 *hds wrote:*   

> <lol>, this didnt happen here. x86 stable and also full ~x86 on a different machine.
> 
> is this 64 architecture, or something apart from x86? just wondering..
> 
> if it is on x86 machines, you would happen to be the 1st one to tell.
> ...

 

Yes, it is an amd64, but it should work.

----------

## Pubare

Cyrack:  did you read my post above - https://forums.gentoo.org/posting.php?mode=quote&p=2125440 ?  This should fix the "can not link against libgcc" issue.  If you are running an A64 on an x86 install, everything should work.  If you are running an x86_64 build with multilib support, results may be unpredictable...

Oh, and I think Ox- is correct about it mostly helping C++ apps, so not as noticeable on gnome...

----------

## bens

I believe I now have prelink running on hardened-dev-sources.  My Glibc was corrupt, or something.  Anyone know a good way to prove that a program has actually been prelinked?

----------

## runlevel0

 *radfoj wrote:*   

> Hi,
> 
> about month ago, I tried to prelink my new gentoo box.  I followed the prelink guide, with USE-flag "pic" in my make.conf. No benchmark were done, but I wasnt feeling any speedups. I decided to try once more after some time. Today I found this howto, so I tried again, also with your trick "opengl-update". 

 

IMHO you forgot running 'emerge -newuse world', the  'newuse' flag tells portage to honour the newly changed USE settings.

----------

## bludger

 *hds wrote:*   

>  *bludger wrote:*   
> 
> Well then why can't I prelink ffmpeg?  I managed to prelink everything a few weeks ago, but now gives the error above. 
> 
> i very much doubt you managed to prelink ffmpeg a few weeks ago. i guess you havent watched the process all the time, so you didnt notice? or maybe ffmpeg wasnt installed?

 

I have had ffmpeg installed for quite some time:

genlop -l|grep ffmpeg

     Tue Jun  3 10:37:14 2003 >>> media-video/ffmpeg-0.4.6-r1

     Mon Apr 19 08:51:33 2004 >>> media-video/ffmpeg-0.4.7

     Mon Jan 17 02:12:56 2005 >>> media-video/ffmpeg-0.4.9_pre1

     Tue Mar  1 14:00:01 2005 >>> media-video/ffmpeg-0.4.9_p20050226

I have also been emerging with "--newuse" for quite some time now.

I recently followed your instructions and managed to prelink everything with no errors.  Ie. I got to the "init U" command.  Now I get this error with ffmpeg.  I know it doesn't seem to make sense, but I definitely remember getting the "init U".

----------

## hds

err? you get this "init U" regardless if ffmpeg is prelinked or not. i fear you misunderstood?

this "init u" output simply tells, that the prelink process got finished. it does not! tell everything has been prelinked!

----------

## ShakyJake

After reading (most) of this topic, I decided to go ahead and format and reload Gentoo from scratch. This time I made sure the "pic" USE flag was in MAKE.CONF from the beginning.

After compiling all the stuff I use (KDE, Firefox, MPlayer), I ran prelink.  I got the "Init U" thingy at the end of the output.  But I am not noticing any tangible increase in loading times.  It seems exactly the same as before.

I used a Stage3 tarball.  Should i have done the "emerge -uDv --newuse world" even though I built the entire system from the get go with the USE flag?  Only thing I can think of is that the stage3 binaries could be the source of it's non-working-ness.  :Sad: 

----------

## hds

 *ShakyJake wrote:*   

> Only thing I can think of is that the stage3 binaries could be the source of it's non-working-ness. 

 

probably. run: "emerge -upDv --newuse world" (-p for pretend) and see if something likes to be updated.

and dont forget /etc/env.d/99kde-env, edit "KDE_IS_PRELINKED=1"! and run env-update, source etc/profile

i never did a stage3, but if you didnt compile glibc yourself, and glibc was already a binary (i dont know that) it does probably not have pic support.

----------

## _mikec_

i had an aumix make failed error, emerge -uDv --newuse world couldn't finish.

I opened a new thread here,

https://forums.gentoo.org/viewtopic-t-311178-highlight-.html

----------

## gmichels

Ok, I have just finished updating my system. Just upgraded glibc (pic enabled) and a bunch of other packages. Then I upgraded my 3.3.2 kde to the new 3.4 using the split ebuilds.

Now it's time to prelink to get a little speed boost. So I did the usual prelink -amR and got several lines like these ones:

```
prelink: /usr/kde/3.4/bin/kwin_killer_helper: Cannot prelink against non-PIC shared library /usr/kde/3.4/lib/libkdeui.so.4

prelink: /usr/kde/3.4/bin/kio_media_mounthelper: Cannot prelink against non-PIC shared library /usr/kde/3.4/lib/libkio.so.4

prelink: /usr/kde/3.4/bin/khotnewstuff: Cannot prelink against non-PIC shared library /usr/kde/3.4/lib/libknewstuff.so.1

prelink: /usr/kde/3.4/bin/kcminit: Cannot prelink against non-PIC shared library /usr/kde/3.4/lib/libkutils.so.1

prelink: /usr/kde/3.4/bin/mcopidl: Cannot prelink against non-PIC shared library /usr/kde/3.4/lib/libmcop.so.1

prelink: /usr/kde/3.4/bin/kcontrol: Cannot prelink against non-PIC shared library /usr/kde/3.4/lib/libkhtml.so.4

prelink: /usr/kde/3.4/bin/dcopquit: Cannot prelink against non-PIC shared library /usr/kde/3.4/lib/libDCOP.so.4

prelink: /usr/kde/3.4/bin/keditbookmarks: Cannot prelink against non-PIC shared library /usr/kde/3.4/lib/libkonq.so.4
```

There are plenty lines of this, almost all of them kde related. If anyone would like the see the entire prelink output, it's available here.

Any ideas?

Thanks

----------

## _mikec_

the pic flag should be in your make.conf file i guess then emerging any new package or updating existent ones will be aware of the --newuse flag (pic) i had the same problem before everything is working right now. speed aint that noticeable for me though.

----------

## alinv

If you want to have a measurement of speed improvement, try running

```
time DISPLAY="" LD_DEBUG=statistics konqueror (or whatever you want to test)
```

before and after prelinking. (Look for the final number o relocations)

This way you can tell if prelinking really worked.

----------

## gmichels

The pic USE flag is set and --newuse only report a few unrelated packages:

```
$ emerge info |grep pic

USE="x86 #cpu #glibc #gnome #graphics #hardware #kde #kdeenablefinal #other #perl #print #sound #video 3dnow 3dnowex X aalib acpi alsa apm avi bash-completion berkdb cdr crypt cups curl directfb dvd emboss encode fam flac foomaticdb fortran gdbm gif gphoto2 gpm hal imagemagick imlib ithreads java jpeg kde libg++ libwww mad matroska mikmod mmx mmxext motif mp3 mpeg ncurses nls nptl nptlonly oggvorbis opengl pam pdflib perl pic png ppds python qt quicktime readline rtc samba sdl slang specific spell sse ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts unicode usb userlocales wifi xine xml2 xv xvid zlib video_cards_radeon"

$ emerge -uDp --newuse world

These are the packages that I would merge, in order:

Calculating world dependencies ...done!

[ebuild   R   ] dev-lang/tcl-8.4.6

[ebuild   R   ] dev-lang/tk-8.4.6-r1

[ebuild   R   ] net-misc/tightvnc-1.3_alpha5

[ebuild   R   ] media-libs/libkipi-0.1.1

[ebuild   R   ] media-libs/libao-0.8.5

[ebuild   R   ] media-video/mplayer-1.0_pre5-r5

[ebuild   R   ] media-plugins/kipi-plugins-0.1.0_beta2
```

So, yes, this is really weird.

----------

## Master One

It it correct, that the "Executing /sbin/init U" does not show up after

```
prelink -qavmR
```

also everthing worked out fine?

I just checked, when running "prelink -avmfR" it's showing up at the end, but not on updates using "-qavmR".

----------

## simondo42

The init U bit only normally appears if you've done something like compile glibc and then everything has to be re-prelinked. Using the -f flag will achieve this as well, as it forces prelink to re-prelink everything whether it needs it or not (check the man page/prelink --help). If you use the -v flag you'll see what gets prelinked; not getting a init U doesn't mean that prelink didn't work, it just means that certain core files didn't need prelinking.

----------

## DFanick

I just hadn't set the "pic"-flag in my make.conf, but when I added it and made an "emerge -Duav --newuse world" my box just listed the glibc and gzip.

Anything else seems to be prelinked by default.

----------

## badgers

OK I am sorry that I still don't understand all of this.

I added the pic use flag and emerged world

I ran prelink as follows:

pali mike # prelink -avf

prelink: /usr/lib/libgpm.so.1.19.0 has a dependency cycle

prelink: /usr/bin/gnutls-cli: Could not find one of the dependencies

prelink: /usr/bin/gnutls-serv: Could not find one of the dependencies

prelink: /usr/bin/srptool: Could not find one of the dependencies

prelink: /usr/bin/dvcont: Could not find one of the dependencies

prelink: /usr/bin/gnutls-cli-debug: Could not find one of the dependencies

prelink: /usr/games/lib/armagetron/armagetron: Could not parse `/usr/games/lib/armagetron/armagetron: /usr/lib/opengl/nvidia/lib/libGL.so.1: no version information available (required by /usr/games/lib/armagetron/armagetron)'

prelink: /usr/kde/3.2/bin/ksolarwinds.kss: Could not parse `/usr/kde/3.2/bin/ksolarwinds.kss: /usr/lib/opengl/nvidia/lib/libGL.so.1: no version information available (required by /usr/kde/3.2/bin/ksolarwinds.kss)'

prelink: /usr/kde/3.2/bin/kspace.kss: Could not parse `/usr/kde/3.2/bin/kspace.kss: /usr/lib/opengl/nvidia/lib/libGL.so.1: no version information available (required by /usr/kde/3.2/bin/kspace.kss)'

prelink: /usr/kde/3.2/bin/kflux.kss: Could not parse `/usr/kde/3.2/bin/kflux.kss: /usr/lib/opengl/nvidia/lib/libGL.so.1: no version information available (required by /usr/kde/3.2/bin/kflux.kss)'

prelink: /usr/kde/3.2/bin/keuphoria.kss: Could not parse `/usr/kde/3.2/bin/keuphoria.kss: /usr/lib/opengl/nvidia/lib/libGL.so.1: no version information available (required by /usr/kde/3.2/bin/keuphoria.kss)'

prelink: /usr/kde/3.2/bin/kfountain.kss: Could not parse `/usr/kde/3.2/bin/kfountain.kss: /usr/lib/opengl/nvidia/lib/libGL.so.1: no version information available (required by /usr/kde/3.2/bin/kfountain.kss)'

prelink: /usr/kde/3.2/bin/kgravity.kss: Could not parse `/usr/kde/3.2/bin/kgravity.kss: /usr/lib/opengl/nvidia/lib/libGL.so.1: no version information available (required by /usr/kde/3.2/bin/kgravity.kss)'

prelink: /usr/kde/3.2/bin/kpovmodeler: Could not parse `/usr/kde/3.2/bin/kpovmodeler: /usr/lib/opengl/nvidia/lib/libGL.so.1: no version information available (required by /usr/kde/3.2/lib/libkpovmodeler.so.0)'

prelink: /usr/kde/3.2/bin/kwave.kss: Could not parse `/usr/kde/3.2/bin/kwave.kss: /usr/lib/opengl/nvidia/lib/libGL.so.1: no version information available (required by /usr/kde/3.2/bin/kwave.kss)'

prelink: /usr/games/bin/gltron: Could not parse `/usr/games/bin/gltron: /usr/lib/opengl/nvidia/lib/libGL.so.1: no version information available (required by /usr/games/bin/gltron)'

prelink: /usr/games/bin/sasteroids: Could not parse `/usr/games/bin/sasteroids: /usr/lib/opengl/nvidia/lib/libGL.so.1: no version information available (required by /usr/games/bin/sasteroids)'

Laying out 886 libraries in virtual address space 41000000-50000000

prelink: Could not find virtual address slot for /usr/lib/libwx_gtk2-2.4.so

is there something wrong with my system?

I didn't use the m or r switches because I have plenty of memory and I don't think randomize is that much help

----------

## hds

-R "might" be usefull against exploits. or if some worm is trying to patch a library.

well, try the m switch at least, and see if the error persists. the m switch has nothing to do with your amount of memory.. what about "man prelink"?

----------

## badgers

hey thanks a lot for the help.

----------

## hds

did the m switch work?

----------

## badgers

yes I thoght I had read the m was for systems with very little memory. I was wrong.

thanks for your help

ps, I did not switch opengl interfaces before running but I did use the PIC use flag and emerge world.

----------

## hds

 *badgers wrote:*   

> 
> 
> ps, I did not switch opengl interfaces

 

well - you dont have to. however, if you do, you get rid of those errors infact of the screensavers (.kss) and nvidias libgl.so

IMHO this gives a much better (cleaner) overview of files that could not have been prelinked.

in any case, as long as you got to "INIT U" it prelinked everything it could and got finished with its job.

----------

## badgers

I appreciate your help, and it did get to the end

----------

## saturas

i've tried prelink with no result. i got the "Executing /sbin/init U", and after restarting the system, i got no visible improvements. it is so frustrating. after the experience with prelink,  (after unlinking)i tried the LDFLAGStrick and after emerge -e world, still no improvements. i loged  on the #gentoo irc channel and asked there if did someone got some speed after prelink or LDFLAGS. nobody seem to got some visible speed after prelinking. so what are you talking about, people?

here is some information about my computer. i have a barton 2500+, 512MB, ASUS Nforce2, i use as  wm gnome.

10x

----------

## alinv

 *saturas wrote:*   

> i've tried prelink with no result. i got the "Executing /sbin/init U", and after restarting the system, i got no visible improvements. it is so frustrating. after the experience with prelink,  (after unlinking)i tried the LDFLAGStrick and after emerge -e world, still no improvements. i loged  on the #gentoo irc channel and asked there if did someone got some speed after prelink or LDFLAGS. nobody seem to got some visible speed after prelinking. so what are you talking about, people?
> 
> 

 

The improvement is not that visible. We're talking about fractions of a second for each application start.

Try running 

```
time DISPLAY="" LD_DEBUG=statistics gaim
```

before and after prelinking and see if there is any difference in measured times.

----------

## hds

 *saturas wrote:*   

> nobody seem to got some visible speed after prelinking. so what are you talking about, people?
> 
> 

 

we are talking about KDE. on new fast machines, you will not notice any difference.

what you will notice is, that KDE is using less processes if prelinked.

are you using KDE? you will not notice any differences on bash - and you failed to tell us about yours environment.

----------

## saturas

 *saturas wrote:*   

>  i use as  wm gnome. 

 

o.k now i get it. if that is fractions of seconds there is no use to me. but i want to say something. i've tried Ubuntu (with gnome)on this computer and it seams to be much faster then gentoo. i wander what useflags they used to compile their packages, or how did they get the speed

10x for the reply

----------

## saturas

 *alinv wrote:*   

> 
> 
> The improvement is not that visible. We're talking about fractions of a second for each application start.
> 
> Try running 
> ...

 

i did that and here is my result

george@xardas george $ time DISPLAY="" LD_DEBUG=statistics gaim

time DISPLAY="" LD_DEBUG=statistics gaim

     12455:

     12455:     runtime linker statistics:

     12455:       total startup time in dynamic loader: 23291250 clock cycles

     12455:                 time needed for relocation: 7040308 clock cycles (30.2%)

Segmentation fault

real    0m0.037s

user    0m0.004s

sys     0m0.004s

i already have all my packages compiled with LDFLAGS="-Wl,-O1", and i think prelinking is usless over this flag (i think improvements wil be zero) an ideea would be to coment the ldflag in my make.config and recompile the hole 410 packages again to test if prelinking works, but i don't want to spend another 2 days on compiling.

----------

## alinv

 *saturas wrote:*   

> 
> 
> i did that and here is my result
> 
> george@xardas george $ time DISPLAY="" LD_DEBUG=statistics gaim
> ...

 

The result is not relevant, because of the segfault. Does gaim work on your system?

 *saturas wrote:*   

> 
> 
> i already have all my packages compiled with LDFLAGS="-Wl,-O1", and i think prelinking is usless over this flag (i think improvements wil be zero) an ideea would be to coment the ldflag in my make.config and recompile the hole 410 packages again to test if prelinking works, but i don't want to spend another 2 days on compiling.

 

I don't know, I didn't try it with "-Wl,-O1". Anyway, with kde the result makes prelinking worth a try.

----------

## saturas

on my computer gaim works perfectly well. i use it every day. i sew the segmentation. i tried other programs like firefox with the comand you sugested and it gives the segmentation every time. are you shoure that is the comand? do i nead special priviledges to run that command?

----------

## alinv

 *saturas wrote:*   

> on my computer gaim works perfectly well. i use it every day. i sew the segmentation. i tried other programs like firefox with the comand you sugested and it gives the segmentation every time. are you shoure that is the comand? do i nead special priviledges to run that command?

 

No, there are no special privileges needed. It may be related to your LDFLAGS, I have no problem with it.

----------

## saturas

are you sugesting that i should backoff my ldflag from make.config ?

o.k i will wait to see some more opinions about this, and i will coment it. 

i tried this:

#time gaim

the output of the command is this one:

real    0m4.780s

user    0m0.441s

sys     0m0.036s

but i have the impresion that the command displays the time the program is running. for example if i let the program for 1 hour, the output of the time command will be 1 h 

but what about Ubuntu ? why is it faster?

----------

## alinv

 *saturas wrote:*   

> but i have the impresion that the command displays the time the program is running. for example if i let the program for 1 hour, the output of the time command will be 1 h 
> 
> 

 

That's why I put DISPLAY="" in front of it.

Prelinking only helps the startup of an application.

----------

## saturas

i know what prelink should do. i didn't know what DISPLAY="" does.  :Very Happy: . 

now i have another question for you. after an upgrade of firefox for example, do i have to reprelink firefox after the new version of the program is installed?

PS:  salut ro

----------

## alinv

 *saturas wrote:*   

> i know what prelink should do. i didn't know what DISPLAY="" does. . 
> 
> now i have another question for you. after an upgrade of firefox for example, do i have to reprelink firefox after the new version of the program is installed?
> 
> PS:  salut ro

 

salut  :Smile: 

Yes, you have. You have to run prelink again if you re-emerge a library that firefox uses, such as gtk.

----------

## saturas

well i just started the #emerge -e world after i comented the LDFLAGS="-Wl,-O1" in my make.config file

i hope it will finish till tomorow.

i will retry prelink with the howto described on the first page of this topic

----------

## hds

 *saturas wrote:*   

> 
> 
> i will retry prelink with the howto described on the first page of this topic

 

it would be nice if all of you would stick with that one.. and come back OnTopic!!

----------

## soya

I'm surely using a glibc compiled with USE="pic"

I haven't used -f cause it's only util after first prelink and before this one i didn't prelinked before

I've tried to prelink for first time and got the following errors:

```
# prelink -amR

prelink: /usr/bin/gnome-name-service: Could not find one of the dependencies

prelink: /usr/bin/goad-browser: Could not find one of the dependencies

prelink: /usr/bin/loadshlib: Could not find one of the dependencies

prelink: /usr/bin/avimake: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/lib/gimp/2.0/plug-ins/print: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/esdcat: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/lib/gimp/2.0/plug-ins/mail: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/kate: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/cdxa2mpeg: Cannot prelink against non-PIC shared library /usr/lib/libvcd.so.0

prelink: /usr/kde/3.4/bin/ktradertest: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/glxgears: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/bin/mplayer: Cannot prelink against non-PIC shared library /usr/lib/libmad.so.0

prelink: /usr/bin/yuv2lav: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kmenuedit: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kaccess: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/avirec: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/esdctl: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/bin/gconf-merge-tree: Cannot prelink against non-PIC shared library /usr/lib/libgconf-2.so.4

prelink: /usr/qt/3/bin/designer: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/hdspconf: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/gnomevfs-copy: Cannot prelink against non-PIC shared library /usr/lib/libgconf-2.so.4

prelink: /usr/kde/3.4/bin/kdeprintfax: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kbuildsycoca: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kdesktop: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/games/bin/xmame.svgalib: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/kde/3.4/bin/kdm_greet: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/lavaddwav: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/lav2yuv: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tiffset: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/gphoto2: Cannot prelink against non-PIC shared library /usr/lib/libaa.so.1

prelink: /usr/lib/gimp/2.0/plug-ins/imagemap: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/games/bin/gxmame: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/kxkb: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/qt/3/bin/lrelease: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/fsview: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/ksendbugmail: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/konqueror: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/cups/filter/rastertoprinter: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /opt/Acrobat5/Reader/intellinux/bin/acroread: Not enough room to add .dynamic entry

prelink: /usr/lib/cups/filter/commandtoepson: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/kcheckgmail: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/libgphoto2/print-usb-usermap: Cannot prelink against non-PIC shared library /usr/lib/libgphoto2.so.2

prelink: /usr/bin/avibench: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/bonobo-browser: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/bin/gsc: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/games/bin/xmame.ggi: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/kde/3.4/bin/kasbar: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/gimp/2.0/plug-ins/nlfilt: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/gtk-demo: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/kwin_killer_helper: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/dcopidl2cpp: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/x11perf: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/kio_media_mounthelper: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kdeinit: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tiff2bw: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/xsane: Cannot prelink against non-PIC shared library /usr/lib/libsane.so.1

prelink: /usr/bin/tiffcmp: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tiffinfo: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/khotnewstuff: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kcminit: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/esdfilt: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/bin/sndfile-info: Cannot prelink against non-PIC shared library /usr/lib/libsndfile.so.1

prelink: /sbin/splash_util: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kcontrol: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/aasavefont: Cannot prelink against non-PIC shared library /usr/lib/libaa.so.1

prelink: /usr/bin/aafire: Cannot prelink against non-PIC shared library /usr/lib/libaa.so.1

prelink: /usr/kde/3.4/bin/kio_uiserver: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/xchat-2: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/gnome-open: Cannot prelink against non-PIC shared library /usr/lib/libgconf-2.so.4

prelink: /usr/lib/gimp/2.0/plug-ins/aa: Cannot prelink against non-PIC shared library /usr/lib/libaa.so.1

prelink: /usr/kde/3.4/bin/dcopquit: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/keditbookmarks: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/wmf2fig: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/gimp/2.0/plug-ins/curve_bend: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/avirecompress: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/lib/MozillaFirefox/TestGtkEmbed: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/rgb2ycbcr: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kappfinder: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kded: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kioslave: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kwrite: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kwin: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/qt/3/bin/qtconfig: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/bbconf: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/vcdxbuild: Cannot prelink against non-PIC shared library /usr/lib/libvcd.so.0

prelink: /usr/qt/3/bin/linguist: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/gnomevfs-rm: Cannot prelink against non-PIC shared library /usr/lib/libgconf-2.so.4

prelink: /usr/kde/3.4/bin/dcopidl: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kget: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/beep-media-player: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/qt/3/bin/qm2ts: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/gimp/2.0/plug-ins/spheredesigner: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/lib/gimp/2.0/plug-ins/freetype: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/ras2tiff: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/krandrinithack: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kcalc: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/vcdimager: Cannot prelink against non-PIC shared library /usr/lib/libvcd.so.0

prelink: /usr/bin/xterm: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/lib/MozillaThunderbird/thunderbird-bin: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/dcopstart: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/rsvg-view: Cannot prelink against non-PIC shared library /usr/lib/libgsf-1.so.1

prelink: /usr/kde/3.4/bin/kab2kabc: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/fax2ps: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/krootimage: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/gif2tiff: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/nspluginscan: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/MozillaThunderbird/elf-dynstr-gc: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/fax2tiff: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tcdecode: Cannot prelink against non-PIC shared library /usr/lib/libmp3lame.so.0

prelink: /usr/kde/3.4/bin/konsole: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/timidity: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/kde/3.4/bin/kcookiejar: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/artsrec: Cannot prelink against non-PIC shared library /usr/lib/libmad.so.0

prelink: /usr/lib/xcdroast-0.98/bin/wavplay: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/aainfo: Cannot prelink against non-PIC shared library /usr/lib/libaa.so.1

prelink: /usr/lib/xcdroast-0.98/bin/cddbtool: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/xditview: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/dcop: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/fc-list: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/lib/gimp/2.0/plug-ins/depthmerge: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/imgcmp: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/bmp2tiff: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/trm: Cannot prelink against non-PIC shared library /usr/lib/libmad.so.0

prelink: /usr/bin/mp3x: Cannot prelink against non-PIC shared library /usr/lib/libmp3lame.so.0

prelink: /usr/kde/3.4/bin/ksvgtopng: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/gimp/2.0/plug-ins/jpeg: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/avicat: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/kdontchangethehostname: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/jpeg2yuv: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kooka: Cannot prelink against non-PIC shared library /usr/lib/libsane.so.1

prelink: /usr/bin/xcdroast: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/esd: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/bin/avicap: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/esdrec: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/kde/3.4/bin/kfile: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/gconftool-2: Cannot prelink against non-PIC shared library /usr/lib/libgconf-2.so.4

prelink: /usr/kde/3.4/bin/printnodetest: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/scanimage: Cannot prelink against non-PIC shared library /usr/lib/libsane.so.1

prelink: /usr/bin/lav2wav: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/wmf2svg: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/jpegicc: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/gimp/2.0/plug-ins/script-fu: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/movtar_yuv422: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kfmclient: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/artscat: Cannot prelink against non-PIC shared library /usr/lib/libmad.so.0

prelink: /usr/bin/cjpeg: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/artsd: Cannot prelink against non-PIC shared library /usr/lib/libmad.so.0

prelink: /usr/kde/3.4/bin/kde-config: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/pal2rgb: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/ktrash: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/gimp/2.0/plug-ins/flame: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/kreadconfig: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/aatest: Cannot prelink against non-PIC shared library /usr/lib/libaa.so.1

prelink: /usr/bin/raw2tiff: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tcscan: Cannot prelink against non-PIC shared library /usr/lib/libmp3lame.so.0

prelink: /usr/kde/3.4/bin/kioexec: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/bonobo-2.0/samples/bonobo-sample-controls-2: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/bin/switch2: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/xloadimage: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tiff2rgba: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/games/bin/zsnes: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/bin/pnm2rtj: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/gimp/2.0/plug-ins/sel2path: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/wmf2eps: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/ppm2tiff: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/lavtrans: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/jiv: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/kde/3.4/bin/kconf_update: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/gftp-gtk: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/kuickshow: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/lib/kconf_update_bin/kicker-3.4-reverseLayout: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/ffserver: Cannot prelink against non-PIC shared library /usr/lib/libmp3lame.so.0

prelink: /usr/kde/3.4/bin/kicker: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/gs: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/superkaramba: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/extensionproxy: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tp_tagger: Cannot prelink against non-PIC shared library /usr/lib/libmad.so.0

prelink: /usr/bin/tifftopnm: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/qt/3/bin/uic: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/games/bin/xmame.x11: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/bin/tiffmedian: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/yuvplay: Cannot prelink against non-PIC shared library /usr/lib/libaa.so.1

prelink: /usr/kde/3.4/bin/kinstalltheme: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/lib/kconf_update_bin/kwin_update_window_settings: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kimage_concat: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/xcdroast-0.98/bin/vrfytool: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/xlogo: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/kdialog: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/gsx: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kde-menu: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/movtar_unify: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/alsamixergui: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/tiff2pdf: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/ark: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/xcdroast-0.98/bin/rmtool: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/thumbnail: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/MozillaThunderbird/TestGtkEmbed: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/jpegtopnm: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kprinter: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/gnomevfs-cat: Cannot prelink against non-PIC shared library /usr/lib/libgconf-2.so.4

prelink: /usr/bin/tiffdither: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kdesktop_lock: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/xdriinfo: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/kde/3.4/bin/kaddprinterwizard: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/vcdxrip: Cannot prelink against non-PIC shared library /usr/lib/libvcdinfo.so.0

prelink: /usr/bin/vcdxminfo: Cannot prelink against non-PIC shared library /usr/lib/libvcd.so.0

prelink: /usr/kde/3.4/bin/kghostview: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tiffdump: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/xfd: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/gtkam: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/tiffsplit: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/jasper: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/lame: Cannot prelink against non-PIC shared library /usr/lib/libmp3lame.so.0

prelink: /usr/bin/soxmix: Cannot prelink against non-PIC shared library /usr/lib/libmad.so.0

prelink: /usr/bin/xcam: Cannot prelink against non-PIC shared library /usr/lib/libsane.so.1

prelink: /usr/kde/3.4/bin/dcopserver: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/kwriteconfig: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/sndfile-play: Cannot prelink against non-PIC shared library /usr/lib/libsndfile.so.1

prelink: /usr/kde/3.4/bin/ksplash: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/ksnapshot: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/mp3rtp: Cannot prelink against non-PIC shared library /usr/lib/libmp3lame.so.0

prelink: /usr/kde/3.4/bin/cupsdconf: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/ppmtompeg: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/artsshell: Cannot prelink against non-PIC shared library /usr/lib/libmad.so.0

prelink: /usr/bin/sndfile-convert: Cannot prelink against non-PIC shared library /usr/lib/libsndfile.so.1

prelink: /usr/bin/toc2mp3: Cannot prelink against non-PIC shared library /usr/lib/libmp3lame.so.0

prelink: /usr/bin/esdmon: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/kde/3.4/bin/kcmshell: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tcprobe: Cannot prelink against non-PIC shared library /usr/lib/libmp3lame.so.0

prelink: /usr/kde/3.4/bin/ksmserver: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/fc-cache: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/kolourpaint: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kcontroledit: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/links: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/pnmtotiffcmyk: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/gnomevfs-mkdir: Cannot prelink against non-PIC shared library /usr/lib/libgconf-2.so.4

prelink: /usr/kde/3.4/bin/kaudiocreator: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/krandrtray: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/ktelnetservice: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/sbin/saned: Cannot prelink against non-PIC shared library /usr/lib/libsane.so.1

prelink: /usr/bin/movtar_play: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/dcopfind: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tiff2ps: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kio_http_cache_cleaner: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/scanadf: Cannot prelink against non-PIC shared library /usr/lib/libsane.so.1

prelink: /usr/kde/3.4/bin/kjobviewer: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/k3b: Cannot prelink against non-PIC shared library /usr/lib/libogg.so.0

prelink: /usr/bin/gtk-query-immodules-2.0: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/lib/gimp/2.0/plug-ins/xjt: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/xscanimage: Cannot prelink against non-PIC shared library /usr/lib/libsane.so.1

prelink: /usr/bin/nvidia-settings: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130/i686-pc-linux-gnu-g++ is no longer hardlink to /usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130/i686-pc-linux-gnu-c++

prelink: /usr/bin/dbus-viewer: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/gnomevfs-ls: Cannot prelink against non-PIC shared library /usr/lib/libgconf-2.so.4

prelink: /usr/bin/gimp-2.2: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/lib/gimp/2.0/plug-ins/gimpressionist: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/glxinfo: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/kde/3.4/bin/klauncher: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tifficc: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/games/bin/xmame.xgl: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/meinproc: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tiffcp: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/vcd-info: Cannot prelink against non-PIC shared library /usr/lib/libvcdinfo.so.0

prelink: /usr/kde/3.4/bin/appletproxy: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/ffmpeg: Cannot prelink against non-PIC shared library /usr/lib/libmp3lame.so.0

prelink: /usr/kde/3.4/bin/kpdf: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/vcdxgen: Cannot prelink against non-PIC shared library /usr/lib/libvcd.so.0

prelink: /usr/kde/3.4/bin/kfind: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/ksysguard: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/xcdroast-0.98/bin/xcdrwrap: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/sane-find-scanner: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kfloppy: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/klipper: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/sox: Cannot prelink against non-PIC shared library /usr/lib/libmad.so.0

prelink: /usr/kde/3.4/bin/keditfiletype: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/tcextract: Cannot prelink against non-PIC shared library /usr/lib/libogg.so.0

prelink: /usr/lib/MozillaFirefox/elf-dynstr-gc: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/esdplay: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/bin/yelp: Cannot prelink against non-PIC shared library /usr/lib/libgnomecanvas-2.so.0

prelink: /usr/kde/3.4/bin/kwin_rules_dialog: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/wmf2x: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/cups/backend/epson: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/lqtplay: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/games/bin/xmame.SDL: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/bin/lqtvrplay: Cannot prelink against non-PIC shared library /usr/lib/opengl/nvidia/lib/libGL.so.1

prelink: /usr/lib/gimp/2.0/plug-ins/helpbrowser: Cannot prelink against non-PIC shared library /usr/lib/libgtkhtml-2.so.0

prelink: /usr/bin/esdloop: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/kde/3.4/bin/kwebdesktop: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/test-moniker: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/bin/wmf2gd: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/djpeg: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/artsplay: Cannot prelink against non-PIC shared library /usr/lib/libmad.so.0

prelink: /usr/kde/3.4/bin/kfontview: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/svgdisplay: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kconfig_compiler: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/makekdewidgets: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/imginfo: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/jpegtran: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/mencoder: Cannot prelink against non-PIC shared library /usr/lib/libdivxencore.so.0

prelink: /usr/bin/aviplay: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/cups/backend/canon: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/sndfile-resample: Cannot prelink against non-PIC shared library /usr/lib/libsamplerate.so.0

prelink: /usr/lib/gimp/2.0/plug-ins/gfli: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/kde/3.4/bin/artsmessage: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/kv4lsetup: Cannot prelink against non-PIC shared library /usr/lib/libaa.so.1

prelink: /usr/kde/3.4/bin/nspluginviewer: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/avitype: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/rsvg: Cannot prelink against non-PIC shared library /usr/lib/libgsf-1.so.1

prelink: /usr/qt/3/bin/lupdate: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/lib/MozillaFirefox/firefox-bin: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/rtjshow: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kfontinst: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kmailservice: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kbookmarkmerger: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/bin/esdsample: Cannot prelink against non-PIC shared library /usr/lib/libesd.so.0

prelink: /usr/bin/gnomevfs-info: Cannot prelink against non-PIC shared library /usr/lib/libgconf-2.so.4

prelink: /usr/bin/hdspmixer: Cannot prelink against non-PIC shared library /usr/lib/libfontconfig.so.1

prelink: /usr/bin/lavplay: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/kde/3.4/bin/kscd: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

prelink: /usr/qt/3/bin/assistant: Cannot prelink against non-PIC shared library /usr/lib/libjpeg.so.62

```

----------

## hds

xcuse me, but who the f*ck would dare to look through all of this?

what a waste of SQL bandwith in this forum, ah well..

try as i suggested in the very 1st post of this thread. come back if that does not work.

thats what this thread is all about.

thank you.

btw.. would be nice if you delete all this garbage in your post. it is completly offtopic and redundant, and does not belong here!

and have a "man prelink" and learn about "-f"!!

----------

## soya

i have to say some things:

who the fuck do you think you are? i've seen lots of posts and you're the tipic posting always the same and beeing rude when someone tells you're wrong.

if you don't understand the output simply stand, read and learn and stop saying silly things.

Doing this:

```

USE="pic" emerge -D world --newuse

emerge prelink

prelink -amRv

```

it's difficult enought so i repeat if you don't understand the error shutup and i hope someone could quit the status you've got repeating always the same, and please try to help and be productive that's why these forums are.

And to end after doing prelink -amR i've got the errors i posted, if someone knows why i have those errors post please, thanks in advanced. And if someone thinks iv mistaken a step what obviusly don't, due to the simplyness of the process tell me please, cause also obviusly something is wrong  :Razz: 

PD: and yes, what you posted doesn't work that's why i'm here,maybe yo think i'm stupid, and also yes you offended me what really doesn't mind to me

----------

## soya

Problem is solved, for all people with same/similar problem try this to:

for every library/whatever you recieve de fpic non blah blah library error,

qpkg -f/equery b /path/to/library

and then reemerge the package.

Then prelink -amR WITHOUT -f, -f is to force i don't recommend using it.

What makes sense to me is, that after compiling glibc with USE="pic" some libraries need to be recompiled with this glibc setting, cause if you don't those libraries are compiled without pic and that's what the output error shows.

I hope it helps someone  :Smile: 

And for those that always replies without using their mind what i'm sure they have, try to read and understand with good porposes cause finally we all are here for the same thing  :Smile: 

----------

## ScRaTcHi

I'm having trouble prelinking my system since I'm using opengl-update ~x86.

However it supports old type of setting opengl interface using --use-old parameter,

it does not work on my system very well. Few months ago it worked ok but now

it calls env-update after each run, even with --use-old parameter. This is not desired

when trying to prelink my system. I don't feel like downgrading opengl-update 'cause

I'm having nvidia-glx and nvidia-kernel set ~x86 too.

Any ideas?

Thanx!

----------

## alinv

 *soya wrote:*   

> i have to say some things:
> 
> who the fuck do you think you are? i've seen lots of posts and you're the tipic posting always the same and beeing rude when someone tells you're wrong.
> 
> if you don't understand the output simply stand, read and learn and stop saying silly things.
> ...

 

Good point!

----------

## hds

 *alinv wrote:*   

>  *soya wrote:*   i have to say some things:
> 
> who the fuck do you think you are? i've seen lots of posts and you're the tipic posting always the same and beeing rude when someone tells you're wrong.
> 
> if you don't understand the output simply stand, read and learn and stop saying silly things.
> ...

 

nice if both of you agree to each other, so why not joining a general (or creating a new) topic about prelinking?

both of you might not have realized (obviously) that this topic is about improveing the HOWTO *I* created.

comments are of course OK if you find errors in this HOWTO, or if you have improvements to it.

both of your comments are simply offtopic, and you didnt even realize. go elsewhere, thx.

and thx for this hilarious one:

```

USE="pic" emerge -D world --newuse

```

 :Laughing: 

time to learn how portage works, perhaps?

OK, i make this one easy, so that even you understand:

put "pic" in your USEflags, because obviously you would like it to be anabled for *all * ebuild you emerge.

now run

emerge -upDv --newuse world

look what gets changed! like it?

emerge -uDv --newuse world

thats itLast edited by hds on Thu May 19, 2005 3:42 pm; edited 1 time in total

----------

## alinv

 *hds wrote:*   

> both of your comments are simply offtopic, and you didnt even realize. go elsewhere, thx.

 

Maybe you're right and we were offtopic, but this does not justify your rudeness.

----------

## hds

it is obvious you never saw me rude, and now please - back to topic! otherwise i will get rude, and you will not like to see this happen!  :Twisted Evil: 

this thread ( a HOWTO thread) got filled with garbage by people who dont even understand how portage or USEflags work (and i posted that in my original post, page1). neither a "man portage" was used by most of them! not to speak about "man prelink", right?

now please!

RTFM - and then come back!

thx

just a reminder: my very 1st post (which *IS* the HOWTO we are talking about) *does* mention the pic flag! so wtf are you argueing here?

meanwhile we are on page6, and no improvements have been done! of course not, the very very 1st post works!

none of the other posts reflects problems with this HOWTO.

----------

## ScRaTcHi

Ok, I figured it out.

I had to comment out line 316 in file /usr/sbin/opengl-update

in function set-new-implementation(). It executed env-update

each run time not accepting parameter --use-old.

Bye!

----------

## mr.ed

 *Quote:*   

> it is obvious you never saw me rude, and now please - back to topic! otherwise i will get rude, and you will not like to see this happen! 
> 
> this thread ( a HOWTO thread) got filled with garbage by people who dont even understand how portage or USEflags work (and i posted that in my original post, page1). neither a "man portage" was used by most of them! not to speak about "man prelink", right? 
> 
> now please! 
> ...

 

Totally off topic, i know... But, hds act like a grownup man! U flaming others cause they do some commenting on your posting and language used? U don't OWN this thread, no matter how many posts u made in this forum... U starting to sound like a real german to me here, bout 60 years ago...

This forum isn't about flaming others, but u compelled me to react to your childish behaviour. This is not done!

Noobs read these posts too and are willing to learn, respect that or go somewhere else yourself... Because we don't need your kind of people in here!

P.s.: Any rude reaction to this post is considered proof of your lack off human interest and capabilities to interact with them...

----------

## kallamej

 *mr.ed wrote:*   

> U starting to sound like a real german to me here, bout 60 years ago...

 

Banned.

----------

## soya

 *Quote:*   

> 
> 
> ```
> 
> USE="pic" emerge -D world --newuse
> ...

 

Maybe you don't realized that your "howto" isn't complicated enought so i don't understand why you rewrite some steps. I supposed it's because you don't know nothing more than rewritting. Maybe you are who dind'nt realized that i obviusly have my system fully prelinked and working. I have pic in make.conf since a year ago, but never did prelink because i've never dedcided, so as i said my glibc was compiled with pic, and yes i had some errors which you didn't helped enought to resolve beacause you didin't understand them so your ignorance made you seem stupid. instead of helping you criticized something you obviusly don't understand which tells a lot of wrong things of you. And yes after finding why i recieved the errors i try to improve your howto, you need some apps to be conmpiled with a glibc compiled with the USE="pic" setted. If you don't do it you will recieve the famous "agains fpic" errors. NOTE: i know that some libraries liek the nvidia ones can't be prelinked, i note it cause your ignorance probably could make you think i don't know it... Now you can say it in your howto cause lots of people will recieve errors which will solve just recompiling the packages where the libraries are from.

And i know how portage works very well although i'm sure i can learn lots of new things, doublty from you...

Ah the command is ok, maybe man emerge will help you...

PD: I want to make special notice that i my use pic was setted before posting and i have followed the guide, but i got some error in the apps compiled before having a glibc emerged with pic USE

----------

## mr.ed

kallamej wrote:

 *Quote:*   

> mr.ed wrote:
> 
>   U starting to sound like a real german to me here, bout 60 years ago...
> 
>   Banned.
> ...

 

I apologise for posting that line in these forums, this conduct was unbecoming. I apologise to any1 who is or was offended by this remark, but there was no malicious intent to hurt any1. I shouldn't have lowered my self to that level.

Greetz,

Mr-Ed

----------

