Ok, no need to modify the sources, this is an interpreter, right? ;-)
? (native "@" "dlopen" 'N "lib/ext" 9)
(native "@" "dlopen" 'N "lib/ext" 9)
dyld: loaded: /Users/jacereda/picolisp/lib/ext
dyld: unloaded: /Users/jacereda/picolisp/lib/ext
? (native "@" "dlerror" 'S)
(native "@" "dlerror" 'S)
-> "dlopen(lib/ext, 9): Symbol not found: _A^J Referenced from:
ext^J Expected in: flat namespace^J in /Users/jacereda/picolisp/lib/ext"
Perhaps the executable shouldn't be stripped?
On Nov 4, 2012, at 6:59 PM, Jorge Acereda wrote:
> On Nov 4, 2012, at 6:43 PM, Alexander Burger wrote:
>> On Sun, Nov 04, 2012 at 06:12:36PM +0100, Jorge Acereda wrote:
>>> Works ok on 32 bits:
>>> bash-3.2$ ./pil lib/test.l $(/bin/pwd) -bye +
>> Interesting. What might be the reason? Is the library format different
>> between those versions?
>> Or do we need some linker command line flag to get the proper format
>> (i.e. holding 'Snx' instead of '_Snx')?
> I'm now doubting the underscore is the problem. I wrote the following test
> and it resolves properly the Snx symbol without underscores.
> I guess the best is printing dlerror() after the failed dlopen()/dlsym(),
> that might give some hints.
>> - Alex
>> UNSUBSCRIBE: mailto:email@example.com?subject=Unsubscribe