Compile problem on Solaris --with-smbwrapper
David Collier-Brown
davecb at canada.sun.com
Tue Oct 16 08:17:02 GMT 2001
David Collier-Brown wrote:
> > ld.so.1: smbsh: fatal: relocation error: file
> > /usr/local/samba/bin/smbwrapper.so: symbol charset_initialize:
> > referenced symbol not found
I'm attaching truss and apptrace logs, annotated:
truss says:
----
26598/1: 3.7274 write(2, " P a s s w o r d : ", 10) !
26598/1: read(3, 0xFF23BC04, 1) (sleeping...)
--reads my password
--starts opening and reading files,
-- and searching for libraries...
26598/1: 6.1959 open("/etc/mnttab",
O_RDONLY) = 4
...
26598/1: 6.1989
stat64("/usr/local/samba/bin/smbwrapper.32.so", 0xFFBEE950) Err#2
ENOENT
-- and this really doesn't exist, and shouldn't. I'm
-- running 64-bit Solaris 8.
26598/1: 6.2014 execve("/bin/ksh", 0xFFBEE9D8, 0x0008F5B8)
argc = 1
-- and then immediately execs my shell, which
-- starts linking shared libraries (I'll just
-- show the opens for a few hundred lines)
26598/1: 6.2022 open("/var/ld/ld.config",
O_RDONLY) Err#2 ENOENT
26598/1: 6.2025 open("/usr/local/samba/bin/smbwrapper.so",
O_RDONLY) = 3
26598/1: 6.2040 open("/usr/lib/libsocket.so.1",
O_RDONLY) = 3
26598/1: 6.2051 open("/usr/lib/libnsl.so.1",
O_RDONLY) = 3
26598/1: 6.2064 open("/usr/lib/libsec.so.1",
O_RDONLY) = 3
26598/1: 6.2075 open("/usr/lib/libgen.so.1",
O_RDONLY) = 3
26598/1: 6.2086 open("/usr/lib/libdl.so.1",
O_RDONLY) = 3
26598/1: 6.2091 open("/usr/lib/libc.so.1",
O_RDONLY) = 3
26598/1: 6.2105 open("/usr/lib/libmp.so.2",
O_RDONLY) = 3
26598/1: 6.2132
open("/usr/platform/SUNW,Sun-Blade-1000/lib/libc_psr.so.1", O_RDONLY)
= 3
26598/1: 6.2213 open("/usr/lib/libsecdb.so.1",
O_RDONLY) = 3
26598/1: 6.2225 open("/usr/lib/libcmd.so.1",
O_RDONLY) = 3
--and then blows up in the linker...
26598/1: 6.2226 fstat(3,
0xFFBED9B4) = 0
26598/1: 6.2227 mmap(0xFF230000, 8192, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF230000
26598/1: 6.2229 mmap(0x00000000, 90112, PROT_READ|PROT_EXEC,
MAP_PRIVATE, 3, 0) = 0xFF040000
26598/1: 6.2230 mmap(0xFF054000, 1155,
PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 16384) =
0xFF05!
26598/1: 6.2233 munmap(0xFF044000,
65536) = 0
26598/1: 6.2234 memcntl(0xFF040000, 4344, MC_ADVISE,
MADV_WILLNEED, 0, 0) = 0
26598/1: 6.2235
close(3) = 0
ld.so.1: smbsh: fatal: relocation error: file
/usr/local/samba/bin/smbwrapper.so: symbol charset_initialize:
referenced !
26598/1: 6.2238 write(2, "\n",
1) = 1
26598/1: 6.2240
getpid() = 26598 [26596]
26598/1: *** process killed ***
---
apptrace says
---
26606:smbsh -> libc.so.1:strlen(s = "LD_AUDIT") = 0x8
26606:smbsh -> libc.so.1:malloc(size = 0x21) = 0x45e70
26606:smbsh -> libc.so.1:strcpy(dst = "LD_AUDIT", src =
"LD_AUDIT") = "LD_AUDIT"
-- it's saving some strings initially
26606:smbsh -> libc.so.1:strlen(s = "/usr/lib/abi/apptrac") =
0x1a
26606:smbsh -> libc.so.1:malloc(size = 0x1b) = 0x44330
26606:smbsh -> libc.so.1:strcpy(dst = "/usr/lib/abi/apptrac", src
= "/usr/lib/abi/apptrac") = "/usr/lib/abi/apptrac"
26606:smbsh -> libc.so.1:strlen(s = "LD_AUDIT_64") = 0xb
26606:smbsh -> libc.so.1:malloc(size = 0x24) = 0x45ea0
26606:smbsh -> libc.so.1:strcpy(dst = "LD_AUDIT_64", src =
"LD_AUDIT_64") = "LD_AUDIT_64"
26606:smbsh -> libc.so.1:strlen(s = "/usr/lib/abi/sparcv9") =
0x22
26606:smbsh -> libc.so.1:malloc(size = 0x23) = 0x45ed0
26606:smbsh -> libc.so.1:strcpy(dst = "/usr/lib/abi/sparcv9", src
= "/usr/lib/abi/sparcv9") = "/usr/lib/abi/sparcv9"
26606:smbsh -> libc.so.1:strlen(s = "SMBW_HANDLE") = 0xb
26606:smbsh -> libc.so.1:malloc(size = 0x24) = 0x45f00
26606:smbsh -> libc.so.1:strcpy(dst = "SMBW_HANDLE", src =
"SMBW_HANDLE") = "SMBW_HANDLE"
26606:smbsh -> libc.so.1:strlen(s = "1023") = 0x4
26606:smbsh -> libc.so.1:malloc(size = 0x5) = 0x44e20
26606:smbsh -> libc.so.1:strcpy(dst = "1023", src = "1023") =
"1023"
26606:smbsh -> libc.so.1:strlen(s = "LD_PRELOAD") = 0xa
26606:smbsh -> libc.so.1:malloc(size = 0x23) = 0x45f30
26606:smbsh -> libc.so.1:strcpy(dst = "LD_PRELOAD", src =
"LD_PRELOAD") = "LD_PRELOAD"
26606:smbsh -> libc.so.1:strlen(s = "/usr/local/samba/bin") =
0x22
26606:smbsh -> libc.so.1:malloc(size = 0x23) = 0x45f60
26606:smbsh -> libc.so.1:strcpy(dst = "/usr/local/samba/bin", src
= "/usr/local/samba/bin") = "/usr/local/samba/bin"
26606:smbsh -> libc.so.1:strlen(s = "_RLD_LIST") = 0x9
26606:smbsh -> libc.so.1:malloc(size = 0x22) = 0x45f90
26606:smbsh -> libc.so.1:strcpy(dst = "_RLD_LIST", src =
"_RLD_LIST") = "_RLD_LIST"
26606:smbsh -> libc.so.1:strlen(s = "/usr/local/samba/bin") =
0x2a
26606:smbsh -> libc.so.1:malloc(size = 0x2b) = 0x45fc0
26606:smbsh -> libc.so.1:strcpy(dst = "/usr/local/samba/bin", src
= "/usr/local/samba/bin") = "/usr/local/samba/bin"
26606:smbsh -> libc.so.1:malloc(size = 0xd8) = 0x45ff8
26606:smbsh -> libc.so.1:malloc(size = 0xd8) = 0x460e8
26606:smbsh -> libc.so.1:mbstowcs(pwcs = 0x460e8, s =
"/home/davecb/project", n = 0x35) = 0x35
26606:smbsh -> libc.so.1:free(ptr = 0x460e8)
26606:smbsh -> libc.so.1:malloc(size = 0x44) = 0x460e8
26606:smbsh -> libc.so.1:malloc(size = 0x44) = 0x46138
26606:smbsh -> libc.so.1:mbstowcs(pwcs = 0x46138, s =
"/dev/fd/+([0-9])", n = 0x10) = 0x10
26606:smbsh -> libc.so.1:free(ptr = 0x46138)
26606:smbsh -> libc.so.1:wcslen(ws = 0x45ff8) = 0x35
26606:smbsh -> libc.so.1:free(ptr = 0x45ff8)
26606:smbsh -> libc.so.1:free(ptr = 0x460e8)
26606:smbsh -> smbwrapper.so:stat64(0x45b28, 0xffbeee58, 0x600)
ld.so.1: smbsh: fatal: relocation error: file
/usr/local/samba/bin/smbwrapper.so: symbol charset_initialize:
referenced symbol not found
apptrace: smbsh: Killed
---
and so it seems to die in or right after a stat64
call on /usr/local/samba/bin/smbwrapper.32.so,
from smbwrapper.so, while looking for charset_initialize
to call.
This probably is in or near smbw_init() in smbw.c
--dave
More information about the samba-technical
mailing list