# smbclient on FreeBSD 8.0-CURRENT



## quakerdoomer (Jul 7, 2009)

I tried installing samba-smbclient-3.0.34.tbz on FreeBSD 8.0 CURRENT 200902 i386
ftom ports/ 8.0-current.

./smbclient says

```
/libexec/ld-elf.so.1 : smbclient : Undefined symbol "strnlen"
```

After pkg_add activity , smbclient said libiconv-1.13 is needed and 1.11 was present
So I upgraded to 1.13. But still the same message appears.

P.S. I don't have/need the complete samba package installed.
I am looking out for teh client alone.


----------



## quakerdoomer (Jul 8, 2009)

I now tried installing nmblookup and libraries
from ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-current/Latest/samba3-libsmbclient.tbz

I still get the following warnings and errors :

```
Attempting to record package into /var/db/pkg/samba-nmblookup-3.0.34..
Trying to record dependency on package 'libiconv-1.13' with 'converters/libiconv' origin.
pkg_add: warning: package 'samba-nmblookup-3.0.34' requires 'libiconv-1.13', but 'libiconv-1.11_1' is installed
Package samba-nmblookup-3.0.34 registered in /var/db/pkg/samba-nmblookup-3.0.34


# pkg_add -rv ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-current/Latest/samba3-smbclient.tbz


# /usr/local/bin/smbclient
/libexec/ld-elf.so.1: /usr/local/bin/smbclient: Undefined symbol "strnlen"
```

:-(


----------



## blah (Jul 9, 2009)

There is no *strnlen* symbol in /lib/libc.so.7 in 8.0-CURRENT-200902-i386 snapshot, it was added a week later on 28 Feb. And smbclient package was built on 28 Jun. Try more recent snapshot, more old package or build port from sources.

IIRC, there is no support for forward compatibility on FreeBSD, so you can't expect binaries built for newer versions to run on old snapshots.


----------



## quakerdoomer (Jul 10, 2009)

Amazing !!
How did you figure this out  Are you involved in the development process ? 
After getting libpcap I even noticed libpcap.so.6 shown as missing in 200902 release by many binaries. I created a softlink from libpcap.so (There was one already for libpcap.so.5) and it worked. There were  many binaries which are throwing the same error abt strnlen. Instead of me upgrading the whole OS is there any workaround like replacing /libexec/*.so with the new ones which have been built.

Can someone be kind enough to provide a virgin copy to me for FreeBSD 8.0 i386 so that I wouldn't have to
download 700 MB


----------



## blah (Jul 10, 2009)

quakerdoomer said:
			
		

> Amazing !!
> How did you figure this out  Are you involved in the development process ?


Nah, just remembered there were a few string related functions added over the year.





			
				quakerdoomer said:
			
		

> After getting libpcap I even noticed libpcap.so.6 shown as missing in 200902 release by many binaries. I created a softlink from libpcap.so (There was one already for libpcap.so.5) and it worked.


I'd recommend using libmap.conf(5) so that all overrides are in **one** place and not scattered across filesystem(s).





			
				quakerdoomer said:
			
		

> There were  many binaries which are throwing the same error abt strnlen. Instead of me upgrading the whole OS is there any workaround like replacing /libexec/*.so with the new ones which have been built.


Not sure if it will not cause new issues but I'd try replacing only libc.so.7 with new one first.





			
				quakerdoomer said:
			
		

> Can someone be kind enough to provide a virgin copy to me for FreeBSD 8.0 i386 so that I wouldn't have to
> download 700 MB


/pub/FreeBSD/releases/i386/8.0-BETA1/base/ - 53Mb


----------



## quakerdoomer (Jul 13, 2009)

I ran install.sh (which extracts the base files on /) using root but for certain files it said "cannot unlink" Permission Denied
I mounted my partition with DesktopBSD (Live) and chrooted into my FreeBSD UFS Partition and repeated the exercise.
Still the same.

The adverse effect of this was that all my tty throw this error :

```
<HOSTNAME> init: getty repeating too quickly on port /dev/ttyv0, sleeping 30 secs
<HOSTNAME> init: getty repeating too quickly on port /dev/ttyv1, sleeping 30 secs
<HOSTNAME> init: getty repeating too quickly on port /dev/ttyv2, sleeping 30 secs
<HOSTNAME> init: getty repeating too quickly on port /dev/ttyv3, sleeping 30 secs
<HOSTNAME> init: getty repeating too quickly on port /dev/ttyv4, sleeping 30 secs
<HOSTNAME> init: getty repeating too quickly on port /dev/ttyv5, sleeping 30 secs
<HOSTNAME> init: getty repeating too quickly on port /dev/ttyv6, sleeping 30 secs
<HOSTNAME> init: getty repeating too quickly on port /dev/ttyv7, sleeping 30 secs
```

I cannot login now after the attempt to upgrade

I had FreeBSD-8Beta1-amd64. I extracted ld-elf.so (32 bit) and tried to delete my original one from /libexec. It doesn't get deleted or replaced even from the LiveCD.

I had a tar-gz of my / i even tried overwriting my / from the LiveCD so as to undo the modified rc files. Didn't help !

Kindly advise.


----------



## blah (Jul 13, 2009)

quakerdoomer said:
			
		

> I ran install.sh (which extracts the base files on /) using root but for certain files it said "cannot unlink" Permission Denied
> I mounted my partition with DesktopBSD (Live) and chrooted into my FreeBSD UFS Partition and repeated the exercise.
> Still the same.


Some files have `*schg*' flag set that prevents unlinking. Unset it and try again. cf. chflags(1)

FYI, this question better fit for Installing & Upgrading. You'll get more responses there.


----------



## quakerdoomer (Jul 14, 2009)

I incorrectly assumed that the install.sh script was wise enough to handle that. Too bad its not completely usable. 
Anyways thanks.


----------



## quakerdoomer (Sep 30, 2009)

A small update :
Changing 'schg' alongwith a few other flags did help. However I could login only as root after that. Couldn't login as any other user.
But it helped 
Thanks


----------

