# Shared object "libjpeg.so.10" not found



## SeaHag (Feb 10, 2010)

Getting this message trying to upgrade amarok using portmaster.


```
/libexec/ld-elf.so.1: Shared object "libjpeg.so.10" not found, required by "libkdefx.so.6"
```

Other ports getting the same error. How can I fix it?

I did portmaster -a to upgrade all ports as the handbook suggests. Now getting this error. Also tried workaround in the UPGRADING for jpeg-8.

FreeBSD 8.0


----------



## fronclynne (Feb 10, 2010)

From /usr/ports/UPDATING:

```
20100205:
  AFFECTS: users of qt 3 and kde 3
  AUTHOR: itetcu@FreeBSD.org

  When building qt33 and kdelibs3 (at least), while they are installed, because
  of -L/usr/local/lib being passed too soon, the currently installed libs are
  used instead of the ones from the build. This makes the build fail if you
  updated any of the libs this qt / kde libs are linked against (like libjpeg).

  For the moment the workaround, when you get to this, is to move the old lib
  out of the way, e.g.:
  mv /usr/local/lib/libqt-mt.so /usr/local/lib/libqt-mt.so.old && \
  cd /usr/ports/x11-toolkits/qt33/ && make && \
  mv /usr/local/lib/libqt-mt.so.old /usr/local/lib/libqt-mt.so && \
  portmaster -C x11-toolkits/qt33
  (or portupgrade -w qt-33\*), etc.
```
So I would suppose s/qt-mt.so/kdefx.so/g

Then again, I just deinstalled all of the qt dependent stuff and reinstalled it from scratch (since portupgrade/portmaster do that in essence, it didn't seem like a lot of extra steps to me), that way it doesn't pick up the old libs because none of them exist.



& if DutchDaemon reads this, it should probably be moved to the ports sexion of the forum.


----------



## SeaHag (Feb 10, 2010)

I did that workaround but still I get the error when I try to install x11/kdelibs3.



> So I would suppose s/qt-mt.so/kdefx.so/g



What does that mean?


----------



## SeaHag (Feb 11, 2010)

*Can't get it to work*

I can't get this to work. Can anyone help?


----------



## sixtydoses (Feb 11, 2010)

SeaHag said:
			
		

> So I would suppose s/qt-mt.so/kdefx.so/g
> 
> What does that mean?



That means substitute qt-mt.so with kdefx.so, globally (all). 

It's a sed() command.


----------



## SeaHag (Feb 11, 2010)

When I go to /usr/ports/x11/kdelibs3 and type make install clean I get this error;


```
/libexec/ld-elf.so.1: Shared object "libjpeg.so.10" not found, required by "libkdefx.so.6"
```

What can I do to fix it?


----------



## jb_fvwm2 (Feb 11, 2010)

```
locate libkdefx | grep 6 | grep so
# then...
pkg_which [path] libkdefx.so.6 
then rebuild the dependencies...
```


----------



## SeaHag (Feb 11, 2010)

When I do this;


```
locate libkdefx | grep 6 | grep so
```

I get this;

```
locate: database too small: /var/db/locate.database
```

Actually the file is zero bytes.


----------



## fronclynne (Feb 11, 2010)

If you want to just run (as root, obviously) `# periodic weekly`, which, as part of its run will rebuild both your locate(1) and your whatis(1) databases.

To the larger question, `# mv /usr/local/lib/libkdefx.so.6 /usr/local/lib/libkdefx.so.6.old`
then *build* but don't install your stuff like: `# cd /usr/ports/x11/kdelibs3 && make`, and once it has successfully built (or given you a new fun error, which you can ask about here) move the old library back to its original place and do your [red]make install[/red], etc etc.

And, again, as I pointed out: you can of course, deinstall all of the kde & qt stuff (pkg_delete(1) (these links make me miss having to type "QV") works well enough and is part of the base system) and then install it afresh via ports.

Good luck.


----------



## SeaHag (Feb 11, 2010)

fronclynne said:
			
		

> To the larger question, `# mv /usr/local/lib/libkdefx.so.6 /usr/local/lib/libkdefx.so.6.old`



How do you know to mv libkdefx.so.6 and not the link libkdefx.so like for the qt33 example? I have two systems with the problem. One of them didn't work by mv libkdefx.so.6 so I used mv libkdefx.so instead. The other one did work with mv libkdefx.so.6 (?)



			
				fronclynne said:
			
		

> then *build* but don't install your stuff like: `# cd /usr/ports/x11/kdelibs3 && make`, and once it has successfully built (or given you a new fun error, which you can ask about here) move the old library back to its original place and do your [red]make install[/red], etc etc.



It did build but when I tried to make install clean it said an older version of kdelibs3 was alreay installed (both systems). I don't understand that because pkg_delete said it wasn't installed but I'm running portmaster x11/kdelibs3 to upgrade it. 



			
				fronclynne said:
			
		

> And, again, as I pointed out: you can of course, deinstall all of the kde & qt stuff (pkg_delete(1) (these links make me miss having to type "QV") works well enough and is part of the base system) and then install it afresh via ports.



I couldn't do that. When I tried to deinstall it with pkg_delete(1), it said it was not installed. When I tried to install it I got the error above about libjpeg.so.10 not found. So I couldn't do that.

It's running portmaster x11/kdelibs3 now, I'll let you know how it turns out.


----------



## fronclynne (Feb 11, 2010)

SeaHag said:
			
		

> How do you know to mv libkdefx.so.6 and not the link libkdefx.so like for the qt33 example? I have two systems with the problem. One of them didn't work by mv libkdefx.so.6 so I used mv libkdefx.so instead. The other one did work with mv libkdefx.so.6 (?)



Oh, honestly I don't.  It was what we bicyclists refer to as a WAG.  I probably would have moved/deleted both.


----------



## SeaHag (Feb 11, 2010)

kdelibs3 installed finally but Amarok still won't install. Gets this error;


```
===>    Verifying install for sgutils.1 in /usr/ports/sysutils/sg3_utils
===>   Returning to build of libgpod-0.7.2_1
Error: shared library "sgutils.1" does not exist
*** Error code 1
```

Since it's not installed I can't use portmaster to upgrade it since that only works on already installed ports right? Any ideas how to fix this one?

Also when I try to run kate I still get the error;


```
# kate
/libexec/ld-elf.so.1: Shared object "libjpeg.so.10" not found, required by "kate"
```


----------

