On Wed, Aug 11, 2010 at 11:41 PM, Edwin Eyan Moragas <[email protected]> wrote:
> 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
[...]
> 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).

It looks like your lib/ht has undefined references to all above
symbols. You need to figure out where these are defined. Are they part
of picolist or some other library built?

--patrick

Reply via email to