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

