Hi misc,
got picoLisp behaving normally in openbsd. thanks for all who helped.
here's the lowdown:
partial diff follows:
ifeq ($(shell uname), OpenBSD)
OS = OpenBSD
- PICOLISP-FLAGS = -m32 -rdynamic
+ PICOLISP-FLAGS = -m32 -rdynamic -Wl,-E
LIB-FLAGS = -lc -lm
- DYNAMIC-LIB-FLAGS = -m32 -shared -export-dynamic
+ DYNAMIC-LIB-FLAGS = -Wl,-E -Wl,-shared
STRIP = strip
else
On Thu, Aug 12, 2010 at 2: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