Ian Piumarta wrote:
Hi Antoine,

_local_object= *(oop *)dlsym(global, "_libid_object");

It's not finding the symbol _libid_object so returning 0 and segfaulting during the cast.

Did you solve this or is it still broken for you?



Still broken for me. Ended up wandering off to go play with the lessphic
instead. :)



If it's broken, what cpu/os are you using?



Linux tworing 2.6.23-gentoo-r1 #4 PREEMPT Thu Nov 15 14:36:52 SAST 2007
i686 Intel(R) Pentium(R) M processor 1.86GHz GenuineIntel GNU/Linux



Can you run it under gdb and find out the value of "global"?



Starting program:
/home/antoine/Projects.ext/FONC/repo/idst/function/examples/libjolt/jest

Program received signal SIGSEGV, Segmentation fault.
0x0804efb2 in __id__init__ () at jolt.h:91
91 _local_object= *(oop *)dlsym(global, "_libid_object");
(gdb) bt
#0 0x0804efb2 in __id__init__ () at jolt.h:91
#1 0x0804f177 in libjolt_init (argcp=0xbfdcf3f0, argvp=0xbfdcf3f4,
envpp=0xbfdcf3f8) at jolt.h:113
#2 0x0804f1b1 in main (argc=-1208324156, argv=0xb7fa6ca0,
envp=0xb7f68054) at jest.c:15
(gdb) print global
$1 = (dlhandle_t) 0xb7fa7658
(gdb)




What happens if you manually edit the problem statement to add an additional "_" in front of "_libid_object"?



Same problem :-/


<Aside/>

After updating from svn I now also get:

----------------------------------------------------------------------

make[2]: Entering directory
`/home/antoine/Projects.ext/FONC/repo/idst/function/objects'
./idc -g -k -c _object.st -o _object.o
./idc -g -k -c Objects.st -o Objects.o
./idc -g -k -c Object.st -o Object.o
./idc -g -k -c SmallInteger.st -o SmallInteger.o
./idc -g -k -c String.st -o String.o
./idc -g -k -c Symbol.st -o Symbol.o
./idc -g -k -c BlockClosure.st -o BlockClosure.o
./idc -g -k -c ProfiledMethod.st -o ProfiledMethod.o
ProfiledMethod.o.c: In function 'Object__perform_every_':
ProfiledMethod.o.c:1011: error: 'SIGALRM' undeclared (first use in this
function)
ProfiledMethod.o.c:1011: error: (Each undeclared identifier is reported
only once
ProfiledMethod.o.c:1011: error: for each function it appears in.)
ProfiledMethod.o.c:1016: error: 'SIG_IGN' undeclared (first use in this
function)
make[2]: *** [ProfiledMethod.o] Error 1
make[2]: Leaving directory
`/home/antoine/Projects.ext/FONC/repo/idst/function/objects'
make[2]: Entering directory
`/home/antoine/Projects.ext/FONC/repo/idst/function/jolt-burg'
/bin/sh -ec 'cd ../objects; make'
make[3]: Entering directory
`/home/antoine/Projects.ext/FONC/repo/idst/function/objects'
./idc -g -k -c ProfiledMethod.st -o ProfiledMethod.o
ProfiledMethod.o.c: In function 'Object__perform_every_':
ProfiledMethod.o.c:1011: error: 'SIGALRM' undeclared (first use in this
function)
ProfiledMethod.o.c:1011: error: (Each undeclared identifier is reported
only once
ProfiledMethod.o.c:1011: error: for each function it appears in.)
ProfiledMethod.o.c:1016: error: 'SIG_IGN' undeclared (first use in this
function)
make[3]: *** [ProfiledMethod.o] Error 1
make[3]: Leaving directory
`/home/antoine/Projects.ext/FONC/repo/idst/function/objects'
make[2]: *** [../objects/objects.a] Error 2
make[2]: Leaving directory
`/home/antoine/Projects.ext/FONC/repo/idst/function/jolt-burg'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/antoine/Projects.ext/FONC/repo/idst/function'
make: *** [all] Error 2

----------------------------------------------------------------------

Which I fixed with a { include "signal.h" } in ProfiledMethod.st


Tx!

- antoine


--

"Any organization that designs a system (defined broadly) will produce a
 design whose structure is a copy of the organization's communication
 structure."

 - Melvin Conway

_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to