|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
undefined symbol: ORBit_skel_class_registerHi,
I install orbit2 on a linux machine , and try to play around the echo example from the ORBit Beginners Documentation v1.6. (http://www.gnome.org/projects/ORBit2/documentation.html) The compilation is fine, but when I run the echo-server according to the instruction, it gives error like: ./echo-server: relocation error: ./echo-server: undefined symbol: ORBit_skel_class_register I am new to orbit2, and don't know where to look for help. Can anyone provide some help ? Thanks a lot! Michael |
|
|
Re: undefined symbol: ORBit_skel_class_registerBy the way, on the system, it looks like ORBit2.6 is installed. >rpm -q -a | grep ORBit2 ORBit2-2.6.0-2 > But the version I installed is ORBit2-2.13.1. The problem may be caused by the installed ORBit2, but I don't know how to invoke my built ORBit2-2.13.1. Any idea how to use my new compiled ORBit2 ? Thanks. Michael |
|
|
Re: undefined symbol: ORBit_skel_class_registerAm 03.02.2006 13:26:18 schrieb(en) Michael G. (sent by Nabble.com):
> By the way, on the system, it looks like ORBit2.6 is installed. > > >rpm -q -a | grep ORBit2 > ORBit2-2.6.0-2 > > > > But the version I installed is ORBit2-2.13.1. > > The problem may be caused by the installed ORBit2, but I don't know > how to invoke my built ORBit2-2.13.1. Any idea how to use my new > compiled ORBit2 ? Well, i am relatively new to ORBit2 too. But perhaps i have an idea what might happen to you. It looks like ORBit2-2.6.0 was installed already on your system as you installed the 2.13.1 version. Most likely the 2.6.0 is under /usr and your 2.13.1 is now under /usr/local. Now i guess that your idl is compiled with the idl compiler of one version and your ORBit2 and your binary is than in turn linked to the other lib of ORBit2. I guess (but its really only a guess) that the idl compiler of 2.6.0 and 2.13.1 produce no compatible source. So as a suggestion i would try to use the already installed version of your ORBit because it might be used by some software already, and remove the 2.13.1. Or check that in any case the correct idl-compiler is used with the correct ORBit2 lib. All this is just guessing, as i am new to ORBit2 too. Greetings Georg _______________________________________________ orbit-list mailing list orbit-list@... http://mail.gnome.org/mailman/listinfo/orbit-list |
|
|
Re: undefined symbol: ORBit_skel_class_registerHi,
Thanks for reply. This is the output when I type "make" to compile the program. " /home/mwgong/orbit2/bin/orbit-idl-2 echo.idl orbit-idl-2 2.13.1 compiling mode, hide preprocessor errors, passes: stubs skels common headers gcc -pthread -DORBIT2=1 -I/home/mwgong/glib2_8_5/include/glib-2.0 -I/home/mwgong/glib2_8_5/lib/glib-2.0/include -I/home/mwgong/orbit2/include/orbit-2.0 -c -o echo-client.o echo-client.c gcc -pthread -DORBIT2=1 -I/home/mwgong/glib2_8_5/include/glib-2.0 -I/home/mwgong/glib2_8_5/lib/glib-2.0/include -I/home/mwgong/orbit2/include/orbit-2.0 -c -o echo-stubs.o echo-stubs.c gcc -pthread -DORBIT2=1 -I/home/mwgong/glib2_8_5/include/glib-2.0 -I/home/mwgong/glib2_8_5/lib/glib-2.0/include -I/home/mwgong/orbit2/include/orbit-2.0 -c -o echo-common.o echo-common.c gcc -pthread -DORBIT2=1 -I/home/mwgong/glib2_8_5/include/glib-2.0 -I/home/mwgong/glib2_8_5/lib/glib-2.0/include -I/home/mwgong/orbit2/include/orbit-2.0 -c -o examples-toolkit.o examples-toolkit.c gcc -pthread -L/home/mwgong/glib2_8_5/lib -L/home/mwgong/orbit2/lib -lORBitCosNaming-2 -lORBit-2 -lm -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 echo-client.o echo-stubs.o echo-common.o examples-toolkit.o -o echo-client gcc -pthread -DORBIT2=1 -I/home/mwgong/glib2_8_5/include/glib-2.0 -I/home/mwgong/glib2_8_5/lib/glib-2.0/include -I/home/mwgong/orbit2/include/orbit-2.0 -c -o echo-server.o echo-server.c gcc -pthread -DORBIT2=1 -I/home/mwgong/glib2_8_5/include/glib-2.0 -I/home/mwgong/glib2_8_5/lib/glib-2.0/include -I/home/mwgong/orbit2/include/orbit-2.0 -c -o echo-skels.o echo-skels.c gcc -pthread -DORBIT2=1 -I/home/mwgong/glib2_8_5/include/glib-2.0 -I/home/mwgong/glib2_8_5/lib/glib-2.0/include -I/home/mwgong/orbit2/include/orbit-2.0 -c -o echo-skelimpl.o echo-skelimpl.c gcc -pthread -L/home/mwgong/glib2_8_5/lib -L/home/mwgong/orbit2/lib -lORBitCosNaming-2 -lORBit-2 -lm -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 echo-server.o echo-skels.o echo-common.o examples-toolkit.o echo-skelimpl.o -o echo-server " which I think I always use the idl compiler and orbit2 lib under /home/mwgong/orbit2/ directory. Therefore, I think the problem is when the "echo-server" executable runs, it , somehows, uses the ORB2-2.6 library ?? My general purpose is to compile ORBit2 on Red Hat, and tries to use it to see whether it is usable. Then I will do some development work for ORBit2. Any idea ? Thanks again. Michael |
|
|
Re: undefined symbol: ORBit_skel_class_registerAm 03.02.2006 17:29:35 schrieb(en) Michael G. (sent by Nabble.com):
> > Hi, > > Thanks for reply. > > This is the output when I type "make" to compile the program. > > " > /home/mwgong/orbit2/bin/orbit-idl-2 echo.idl > orbit-idl-2 2.13.1 compiling > mode, hide preprocessor errors, passes: stubs skels common headers > > gcc -pthread -DORBIT2=1 -I/home/mwgong/glib2_8_5/include/glib-2.0 > -I/home/mwgong/glib2_8_5/lib/glib-2.0/include > -I/home/mwgong/orbit2/include/orbit-2.0 -c -o echo-client.o > echo-client.c > gcc -pthread -L/home/mwgong/glib2_8_5/lib -L/home/mwgong/orbit2/lib > -lORBitCosNaming-2 -lORBit-2 -lm -lgmodule-2.0 -ldl -lgthread-2.0 > -lglib-2.0 echo-server.o echo-skels.o echo-common.o > examples-toolkit.o echo-skelimpl.o -o echo-server > " > > which I think I always use the idl compiler and orbit2 lib under > /home/mwgong/orbit2/ directory. Yes, looks like it does. > Therefore, I think the problem is when the "echo-server" executable > runs, it , somehows, uses the ORB2-2.6 library ?? well, that could be checked real simple. Try ldd echo-server. I add a tar gz of the echo client and server as i have wrote it, including autobuild stuff....(i hope its ok to send attachments to this list, alse please tell me and take my apology for it please, i will not do it again then.) Well, those sources build without any problem here. Sorry, the comments in my source are translated to german... > My general purpose is to compile ORBit2 on Red Hat, and tries to use > it to see whether it is usable. Then I will do some development work > for ORBit2. I cannot say much to Red Hat, but i actually plan to use ORBit2 as a backbone for a project that should run under a lot of unixes and windows and for that i tested the actual cvs under my SuSE and with MinGW and i can say for sure ORBit2 is usable...well, i think it must be usable as the complete actual GNOME is build upon it. :-) Greets Georg _______________________________________________ orbit-list mailing list orbit-list@... http://mail.gnome.org/mailman/listinfo/orbit-list |
|
|
Re: undefined symbol: ORBit_skel_class_registerHi, all,
Thanks for help from "Patrick Ohly" and "Georg Steffers". I take Georg's suggestion to use "ldd" checking the shared library used by "echo-server". The output is: >ldd echo-server libORBitCosNaming-2.so.0 => /usr/lib/libORBitCosNaming-2.so.0 (0x40021000) libORBit-2.so.0 => /usr/lib/libORBit-2.so.0 (0x40027000) libm.so.6 => /lib/tls/libm.so.6 (0x40069000) libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x4008b000) libdl.so.2 => /lib/libdl.so.2 (0x4008f000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x40093000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x40098000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40103000) libc.so.6 => /lib/tls/libc.so.6 (0x42000000) liblinc.so.1 => /usr/lib/liblinc.so.1 (0x40111000) libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x40119000) libpopt.so.0 => /usr/lib/libpopt.so.0 (0x4014e000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) > which means echo-server uses the shared library from system's ORBit. Then I set LD_LIBRARY_PATH as following: >export LD_LIBRARY_PATH=/home/mwgong/orbit2/lib/ >ldd echo-server libORBitCosNaming-2.so.0 => /home/mwgong/orbit2/lib/libORBitCosNaming-2.so.0 (0x40017000) libORBit-2.so.0 => /home/mwgong/orbit2/lib/libORBit-2.so.0 (0x4001b000) libm.so.6 => /lib/tls/libm.so.6 (0x40076000) libgmodule-2.0.so.0 => /home/mwgong/orbit2/lib/libgmodule-2.0.so.0 (0x40098000) libdl.so.2 => /lib/libdl.so.2 (0x4009c000) libgthread-2.0.so.0 => /home/mwgong/orbit2/lib/libgthread-2.0.so.0 (0x400a0000) libglib-2.0.so.0 => /home/mwgong/orbit2/lib/libglib-2.0.so.0 (0x400a4000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40122000) libc.so.6 => /lib/tls/libc.so.6 (0x42000000) libgobject-2.0.so.0 => /home/mwgong/glib2_8_5/lib/libgobject-2.0.so.0 (0x40130000) libpopt.so.0 => /usr/lib/libpopt.so.0 (0x40161000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) > Then I can run the echo-server and echo-client programs. And it works as expected. In conclusion, I set LD_LIBRARY_PATH variable to ORBit library I just built, and the "relocation error" disappears. Thanks a lot. Michael |
| Free embeddable forum powered by Nabble | Forum Help |