Hi Patrick,

On Thu, Aug 12, 2010 at 6:59 AM, patrick keshishian <[email protected]>
wrote:
>>>> i am stupid. the buffer used for the param to dlopen() was truncated.
>>>> expanding it and passing the full absolute path, dlerror() returns
>>>> "Cannot load specified object".
>>>>
>>>> clues, pointers?
>>>
>>> You can help us by posting the code that does the dlopen()
>>
>>      if (!(h = dlopen("/home/eyan/src/lib/ht", RTLD_LAZY |
>> RTLD_GLOBAL))  ||  !(h = dlsym(h,p))) {
>>         printf("%s\n", dlerror());
>>         printf("%s\n", buf);
>>         return NO;
>>      }
>
> That error indicates that dependent libs of that lib aren't able to get
loaded.
>
> Try setting LD_DEBUG and see if that helps trace down the problem.
>
> --patrick
>

after setting LD_DEBUG, here's the output. (still learning how to read
the following but if not too busy eyes can look at it and point me
nearer to the goal, then it would be great):


e...@obsddev $ ./dbg wiki/main.l lib/too.l -main -go
rtld loading: './bin/picolisp'
exe load offset:  0x0
head ./bin/picolisp
obj ./bin/picolisp has ./bin/picolisp as head
examining: './bin/picolisp'
loading: libc.so.53.1 required by ./bin/picolisp
obj /usr/lib/libc.so.53.1 has ./bin/picolisp as head
loading: libm.so.5.2 required by ./bin/picolisp
obj /usr/lib/libm.so.5.2 has ./bin/picolisp as head
linking dep /usr/lib/libc.so.53.1 as child of ./bin/picolisp
linking dep /usr/lib/libm.so.5.2 as child of ./bin/picolisp
examining: '/usr/lib/libc.so.53.1'
examining: '/usr/lib/libm.so.5.2'
obj /usr/libexec/ld.so has ./bin/picolisp as head
relocation took 0.008299
        Start    End      Type Open Ref GrpRef Name
        1c000000 3c043000 exe  1    0   0      ./bin/picolisp
        047b9000 247f2000 rlib 0    1   0      /usr/lib/libc.so.53.1
        07968000 27972000 rlib 0    1   0      /usr/lib/libm.so.5.2
        0c40a000 0c40a000 rtld 0    1   0      /usr/libexec/ld.so
symcache lookups 231 hits 38 ratio 16% hits
dynamic loading done, success.
doing ctors obj 0x7f9462e4 @0x47cb740: [/usr/lib/libc.so.53.1]
doing ctors obj 0x7f9464a4 @0x796a550: [/usr/lib/libm.so.5.2]
entry point: 0x1c0018b8
rtld loading: 'tput'
exe load offset:  0x0
head tput
obj tput has tput as head
examining: 'tput'
loading: libc.so.53.1 required by tput
obj /usr/lib/libc.so.53.1 has tput as head
loading: libcurses.so.11.0 required by tput
obj /usr/lib/libcurses.so.11.0 has tput as head
linking dep /usr/lib/libcurses.so.11.0 as child of tput
linking dep /usr/lib/libc.so.53.1 as child of tput
examining: '/usr/lib/libcurses.so.11.0'
examining: '/usr/lib/libc.so.53.1'
obj /usr/libexec/ld.so has tput as head
relocation took 0.001220
        Start    End      Type Open Ref GrpRef Name
        1c000000 3c004000 exe  1    0   0      tput
        0f175000 2f186000 rlib 0    1   0      /usr/lib/libcurses.so.11.0
        04c49000 24c82000 rlib 0    1   0      /usr/lib/libc.so.53.1
        0c647000 0c647000 rtld 0    1   0      /usr/libexec/ld.so
symcache lookups 269 hits 39 ratio 14% hits
dynamic loading done, success.
doing ctors obj 0x879ef49c @0xf17dd10: [/usr/lib/libcurses.so.11.0]
doing ctors obj 0x879ef2dc @0x4c5b740: [/usr/lib/libc.so.53.1]
entry point: 0x1c000c38
doing dtors
doing dtors obj 0x879ef49c @0xf1a28b0: [/usr/lib/libcurses.so.11.0]
doing dtors obj 0x879ef2dc @0x4cd5ae0: [/usr/lib/libc.so.53.1]
rtld loading: 'tput'
exe load offset:  0x0
head tput
obj tput has tput as head
examining: 'tput'
loading: libc.so.53.1 required by tput
obj /usr/lib/libc.so.53.1 has tput as head
loading: libcurses.so.11.0 required by tput
obj /usr/lib/libcurses.so.11.0 has tput as head
linking dep /usr/lib/libcurses.so.11.0 as child of tput
linking dep /usr/lib/libc.so.53.1 as child of tput
examining: '/usr/lib/libcurses.so.11.0'
examining: '/usr/lib/libc.so.53.1'
obj /usr/libexec/ld.so has tput as head
relocation took 0.001263
        Start    End      Type Open Ref GrpRef Name
        1c000000 3c004000 exe  1    0   0      tput
        08c3a000 28c4b000 rlib 0    1   0      /usr/lib/libcurses.so.11.0
        0e0da000 2e113000 rlib 0    1   0      /usr/lib/libc.so.53.1
        074ca000 074ca000 rtld 0    1   0      /usr/libexec/ld.so
symcache lookups 269 hits 39 ratio 14% hits
dynamic loading done, success.
doing ctors obj 0x83fb249c @0x8c42d10: [/usr/lib/libcurses.so.11.0]
doing ctors obj 0x83fb22dc @0xe0ec740: [/usr/lib/libc.so.53.1]
entry point: 0x1c000c38
doing dtors
doing dtors obj 0x83fb249c @0x8c678b0: [/usr/lib/libcurses.so.11.0]
doing dtors obj 0x83fb22dc @0xe166ae0: [/usr/lib/libc.so.53.1]
dlopen: loading: lib/ht
head lib/ht
obj lib/ht has lib/ht as head
linking lib/ht as dlopen()ed
head [lib/ht]
examining: 'lib/ht'
loading: libc.so.53.1 required by lib/ht
linking dep /usr/lib/libc.so.53.1 as child of lib/ht
tail lib/ht
./bin/picolisp:lib/ht: undefined symbol 'Nil'
./bin/picolisp:lib/ht: undefined symbol 'Nil'
./bin/picolisp:lib/ht: undefined symbol 'Nil'
./bin/picolisp:lib/ht: undefined symbol 'Nil'
./bin/picolisp:lib/ht: undefined symbol 'Nil'
./bin/picolisp:lib/ht: undefined symbol 'Nil'
./bin/picolisp:lib/ht: undefined symbol 'Nil'
./bin/picolisp:lib/ht: undefined symbol 'Nil'
./bin/picolisp:lib/ht: undefined symbol 'Nil'
./bin/picolisp:lib/ht: undefined symbol 'Nil'
./bin/picolisp:lib/ht: undefined symbol 'Nil'
./bin/picolisp:lib/ht: undefined symbol 'prin'
./bin/picolisp:lib/ht: undefined symbol 'prin'
./bin/picolisp:lib/ht: undefined symbol 'bufSize'
./bin/picolisp:lib/ht: undefined symbol 'bufSize'
./bin/picolisp:lib/ht: undefined symbol 'bufString'
./bin/picolisp:lib/ht: undefined symbol 'bufString'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'Env'
./bin/picolisp:lib/ht: undefined symbol 'outString'
./bin/picolisp:lib/ht: undefined symbol 'outString'
./bin/picolisp:lib/ht: undefined symbol 'evList'
./bin/picolisp:lib/ht: undefined symbol 'evList'
./bin/picolisp:lib/ht: undefined symbol 'evList'
./bin/picolisp:lib/ht: undefined symbol 'evList'
./bin/picolisp:lib/ht: undefined symbol 'evList'
./bin/picolisp:lib/ht: undefined symbol 'evList'
./bin/picolisp:lib/ht: undefined symbol 'evList'
./bin/picolisp:lib/ht: undefined symbol 'evList'
./bin/picolisp:lib/ht: undefined symbol 'evList'
./bin/picolisp:lib/ht: undefined symbol 'name'
./bin/picolisp:lib/ht: undefined symbol 'Intern'
./bin/picolisp:lib/ht: undefined symbol 'ihash'
./bin/picolisp:lib/ht: undefined symbol 'hashed'
./bin/picolisp:lib/ht: undefined symbol 'begString'
./bin/picolisp:lib/ht: undefined symbol 'begString'
./bin/picolisp:lib/ht: undefined symbol 'endString'
./bin/picolisp:lib/ht: undefined symbol 'endString'
./bin/picolisp:lib/ht: undefined symbol 'firstByte'
./bin/picolisp:lib/ht: undefined symbol 'firstByte'
./bin/picolisp:lib/ht: undefined symbol 'firstByte'
./bin/picolisp:lib/ht: undefined symbol 'firstByte'
./bin/picolisp:lib/ht: undefined symbol 'firstByte'
./bin/picolisp:lib/ht: undefined symbol 'firstByte'
./bin/picolisp:lib/ht: undefined symbol 'outName'
./bin/picolisp:lib/ht: undefined symbol 'outName'
./bin/picolisp:lib/ht: undefined symbol 'mkChar'
./bin/picolisp:lib/ht: undefined symbol 'mkChar'
./bin/picolisp:lib/ht: undefined symbol 'mkChar'
./bin/picolisp:lib/ht: undefined symbol 'evCnt'
./bin/picolisp:lib/ht: undefined symbol 'Chr'
./bin/picolisp:lib/ht: undefined symbol 'Chr'
./bin/picolisp:lib/ht: undefined symbol 'Chr'
./bin/picolisp:lib/ht: undefined symbol 'Chr'
./bin/picolisp:lib/ht: undefined symbol 'Chr'
./bin/picolisp:lib/ht: undefined symbol 'Chr'
./bin/picolisp:lib/ht: undefined symbol 'Chr'
./bin/picolisp:lib/ht: undefined symbol 'Chr'
./bin/picolisp:lib/ht: undefined symbol 'Chr'
./bin/picolisp:lib/ht: undefined symbol 'Chr'
./bin/picolisp:lib/ht: undefined symbol 'Chr'
./bin/picolisp:lib/ht: undefined symbol 'getChar'
./bin/picolisp:lib/ht: undefined symbol 'getChar'
./bin/picolisp:lib/ht: undefined symbol 'cons'
./bin/picolisp:lib/ht: undefined symbol 'cons'
./bin/picolisp:lib/ht: undefined symbol 'OutFile'
./bin/picolisp:lib/ht: undefined symbol 'flush'
unload_shlib called on lib/ht
unload_shlib called on /usr/lib/libc.so.53.1
unload_shlib unloading on lib/ht
dlopen: lib/ht: done (failed).
!? (ht:Pack @U)
ht:Pack -- Undefined
?

Reply via email to