LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Slackware current - ldconfig: /usr/lib/libsmbclient.so.0 is not a symbolic link (http://www.linuxquestions.org/questions/slackware-14/slackware-current-ldconfig-usr-lib-libsmbclient-so-0-is-not-a-symbolic-link-675944/)

Woodsman 10-13-2008 12:11 AM

Slackware current - ldconfig: /usr/lib/libsmbclient.so.0 is not a symbolic link
 
I am testing Slackware current. So far so good. Nothing dramatic. Although I might be imagining, seems my system under current and KDE 3.5.10 is faster.

Anyway, in current I am receiving the following message from ldconfig:

ldconfig: /usr/lib/libsmbclient.so.0 is not a symbolic link

The referenced file is related to samba. Slackware 12.1 runs samba 3.0.32 whereas current runs 3.2.3.

I checked the file and confirmed the obvious: not a link. The file size is 3,154,536 bytes. In Slackware 12.1 the file is a sym link to libsmbclient.so.0.0.

I've been looking on the web for what causes this error message. How does ldconfig decide the file should be a link?

I can delete the file and manually create the link, but is this a bug for current or have I botched something? Perhaps I have a stale config file somewhere?

Thanks.

gnashley 10-13-2008 12:32 AM

I'd say have a look at the build script for the old and new packages. It may be that the sciprt used to rename the lib while creating the package so that the proper link could be created. Or it may be a bug in the Makefiles for the lib.

niels.horn 10-13-2008 05:31 AM

hm... I use -current as well and indeed, /usr/lib/libsmbclient.so.0 is not a symbolic link, but /usr/lib/libsmbclient.so is a symbolic link to libsmbclient.so.0
I have no libsmbclient.so.0.0 on my -current machine.
I think that's correct actually.

ldconfig returns no error here.

Do you have any other libsmbclient* files in /usr/lib (like .so.0.0) ?

Woodsman 10-13-2008 08:44 PM

Quote:

I'd say have a look at the build script for the old and new packages. It may be that the script used to rename the lib while creating the package so that the proper link could be created. Or it may be a bug in the Makefiles for the lib.
Here is a snippet from the 12.1 slackbuild script. The same snippet is not in the current build script, therefore I have to presume this is intended.

Code:

# Make sure libsmbclient gets installed:
mkdir -p $PKG/usr/lib/samba
( cd $PKG/usr/lib/samba
  rm -f libsmbclient.a
  mv libsmbclient.so ../libsmbclient.so.0.0
  ln -sf ../libsmbclient.so.0.0 libsmbclient.so
  cd ..
  rm -f libsmbclient.so.0 libsmbclient.so libsmbclient.a
  ln -sf libsmbclient.so.0.0 libsmbclient.so.0
  ln -sf libsmbclient.so.0.0 libsmbclient.so
)

Quote:

Do you have any other libsmbclient* files in /usr/lib (like .so.0.0) ?
Here is what I find in /usr/lib (slackware current):

Code:

lrwxrwxrwx 1 root root      17 2008-10-12 17:30 libsmbclient.so -> libsmbclient.so.0*
-rwxr-xr-x 1 root root 3154536 2008-09-01 23:57 libsmbclient.so.0*
-rwxr-xr-x 1 root root 2066168 2008-09-01 21:53 libsmbclient.so.0.0*

Here is what I find in 12.1 (usr/lib):

Code:

lrwxrwxrwx 1 root root      19 2008-10-09 13:45 libsmbclient.so -> libsmbclient.so.0.0*
lrwxrwxrwx 1 root root      19 2008-10-09 13:45 libsmbclient.so.0 -> libsmbclient.so.0.0*
-rwxr-xr-x 1 root root 2066168 2008-09-01 21:53 libsmbclient.so.0.0*

Next I wondered whether samba was being updated cleanly. Rather than use upgradepkg, I used pkgtool to manually remove samba 3.0.32. I checked /usr/lib for libsmbclient* files. Hmm. There was one remaining file. I removed the file and then updated to samba 3.2.3. No problems with ldconfig.

Okay, so what is going on here? Oh yeah, I had created a samba-3.0.32a package because the original 3.0.32 package did not include the using_samba files. I tested several times but when I used upgradepkg to update 3.2.3 from 3.0.32, I had no ldconfig problems. When I used upgradepkg to update 3.2.3 from my own 3.0.32a, I had the reported ldconfig problem.

I have no idea what is different between the two packages other than inserting the using_samba doc files. Same doinstall.sh script. Same ls /usr/lib/libsmbclient* output for both 3.0.32 and my 3.0.32a.

Anyway, long ago I built my own shell script to help me automate updating to the next release. I added some lines to remove the existing samba package and remove any related /usr/lib links. Next time I run the gamut to test updating to current I should not have the problem.

Computers!

Thanks for the help.

niels.horn 10-13-2008 10:43 PM

What I found out comparing -current with 12.1:

The libsmbclient.so.0.0 file (size 2066168) is from 12.1
The libsmbclient.so.0 file (size 3154536) is from -current

When you upgraded to -current, did you do an 'upgradepkg' or 'installpkg'?
upgradepkg should have removed the libsmbclient.so.0.0 file as it did in my case.

I guess the safest solution would be to downgrade with upgradepkg to the 12.1 version and then upgrade back to -current with upgradepakg using the -current version of the package.

This way everything should be arranged the way it was supposed to be.

Woodsman 10-14-2008 07:58 PM

Quote:

When you upgraded to -current, did you do an 'upgradepkg' or 'installpkg'?
upgradepkg should have removed the libsmbclient.so.0.0 file as it did in my case.
As I mentioned in my previous post, the problem is the samba package I created. I do not know what is different to cause the sym link not to be deleted. Problem more or less solved. :)


All times are GMT -5. The time now is 09:45 PM.