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