From: Joseph B. <jlb@Cs.Nott.AC.UK> - 2006-01-16 12:26:46
|
Parsing configuration file "miabot.cfg" trying to load /home/jlb/player_b/./miabot.so...failed (/home/jlb/player_b/./miabot.so: undefined symbol: __dso_handle) trying to load miabot.so...failed (miabot.so: cannot open shared object file: No such file or directory) error : error loading plugin: (null) error : failed to load plugin: miabot.so Hello everyone, I get the above error when trying to load a plugin I have written, I use the following commands to compile/link: $ g++ -Wall -g3 -c miabot.cc miabot_commands.cc miabot_params.cc $ g++ -shared -nostartfiles -o miabot.so miabot.o miabot_commands.o miabot_params.o -lbluetooth I have also tried: $ g++ -Wall -g3 `pkg-config --cflags player` -c miabot.cc miabot_commands.cc miabot_params.cc $ g++ -shared -nostartfiles -o miabot.so miabot.o miabot_commands.o miabot_params.o -lbluetooth just in case, but the same error still occurs. Now the funny thing is that the plugin used to work fine and I have not changed my player installation... I have tried the older version of the g++ compiler which I used originally (3.3) but this also gives the error!?? Anyone got any ideas at all? joe n.b. I have tried this on both Kubuntu and CentOS distributions. current g++ version is 4.2 -- Joseph Baxter Automated Scheduling, Optimisation and Planning Group School of Computer Science and Information Technology University of Nottingham Jubilee Campus Wollaton Road Nottingham NG8 1BB Room: B80 Tel: (0115) 95 14247 http://www.cs.nott.ac.uk/~jlb http://www.asap.cs.nott.ac.uk/projects/cdmue/ http://grumpy.cs.nott.ac.uk/~robots/wiki/index.php/Main_Page This message has been checked for viruses but the contents of an attachment may still contain software viruses, which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation. |
From: yair <ya...@01...> - 2006-01-16 13:09:50
|
On Mon, 2006-01-16 at 12:24 +0000, Joseph Baxter wrote: > Parsing configuration file "miabot.cfg" > trying to load /home/jlb/player_b/./miabot.so...failed > (/home/jlb/player_b/./miabot.so: undefined symbol: __dso_handle) you can start by looking in which library is the "__dso_handle" symbol defined. i suggest you add a dummy main for your library and compile it as an executable binary. see if you have linking problems. |
From: Pierre C. <pca...@pa...> - 2006-01-16 15:25:33
|
Hi! I suppose you have a problem with your LD_LIBRARY_PATH environnement=20 variable. Try adjusting it in order to make appear in your path the=20 library which contains dso_handle. You can make that by typing: $ LD_LIBRARY_PATH=3D/path/to/the/missing/library/:${LD_LIBRARY_PATH} $ export LD_LIBRARY_PATH Regards, Pierre Joseph Baxter a =E9crit : > Parsing configuration file "miabot.cfg" > trying to load /home/jlb/player_b/./miabot.so...failed=20 > (/home/jlb/player_b/./miabot.so: undefined symbol: __dso_handle) > trying to load miabot.so...failed (miabot.so: cannot open shared=20 > object file: No such file or directory) > error : error loading plugin: (null) > error : failed to load plugin: miabot.so > > Hello everyone, > > I get the above error when trying to load a plugin I have written, I=20 > use the following commands to compile/link: > > $ g++ -Wall -g3 -c miabot.cc miabot_commands.cc miabot_params.cc > $ g++ -shared -nostartfiles -o miabot.so miabot.o miabot_commands.o=20 > miabot_params.o -lbluetooth > > I have also tried: > > $ g++ -Wall -g3 `pkg-config --cflags player` -c miabot.cc=20 > miabot_commands.cc miabot_params.cc > $ g++ -shared -nostartfiles -o miabot.so miabot.o miabot_commands.o=20 > miabot_params.o -lbluetooth > > just in case, but the same error still occurs. Now the funny thing is=20 > that the plugin used to work fine and I have not changed my player=20 > installation... I have tried the older version of the g++ compiler=20 > which I used originally (3.3) but this also gives the error!?? > > Anyone got any ideas at all? > > joe > > n.b. > > I have tried this on both Kubuntu and CentOS distributions. > > current g++ version is 4.2 > --=20 Pierre Castella Chemin des Triaudes 11-230 CH-1024 Ecublens Switzerland Tel: +41 76 407 62 22 http://www.bambulan.com pie...@ep... |
From: Brian G. <br...@ge...> - 2006-01-17 17:44:40
|
Joseph Baxter wrote: > Parsing configuration file "miabot.cfg" > trying to load /home/jlb/player_b/./miabot.so...failed > (/home/jlb/player_b/./miabot.so: undefined symbol: __dso_handle) > trying to load miabot.so...failed (miabot.so: cannot open shared object > file: No such file or directory) > error : error loading plugin: (null) > error : failed to load plugin: miabot.so > I get the above error when trying to load a plugin I have written, I use > the following commands to compile/link: > > $ g++ -Wall -g3 -c miabot.cc miabot_commands.cc miabot_params.cc > $ g++ -shared -nostartfiles -o miabot.so miabot.o miabot_commands.o > miabot_params.o -lbluetooth That unresolved symbol is internal to the C (or maybe C++) runtime; the error is a symptom of an incorrect or incomplete link. A common cause is using ld instead of g++ for linking, but you're already using g++, which is the right way to do it. I would try removing the -nostartfiles option to g++. I know it's in the example Makefile for Player plugins, but it shouldn't be necessary since we moved from '_init()' to 'player_driver_init()' for plugin initialization. brian. -- Brian Gerkey br...@ge... http://gerkey.org |
From: Daniel C. <dan...@ok...> - 2006-02-20 20:57:52
|
Hello, I'm having problems with my client. After using the cameracompress driver, the client won't disconnect completely from the server. It doesn't work in the robot or in gazebo, maybe I'm just forgetting to delete something else, please give me some advice. I'm using Player 1.6.2. I wrote a piece of code that does nothing but connect and disconnect to the position and camera devices and the disconnect() function does not disconnect completely from the server, I close the program and I have to restart player to connect again!. Code, config and world file attached. ## Player config file driver ( name "gz_position" provides ["position:0"] gz_id "robot1" ) driver ( name "gz_camera" provides ["camera:0"] gz_id "camera1" ) driver ( name "cameracompress" provides ["camera:1"] requires ["camera:0"] ) ##Gazebo world file <?xml version="1.0"?> <gz:world xmlns:gz="http://playerstage.sourceforge.net/gazebo/xmlschema/#gz" xmlns:model="http://playerstage.sourceforge.net/gazebo/xmlschema/ #model" xmlns:window="http://playerstage.sourceforge.net/gazebo/xmlschema/ #window" xmlns:params="http://playerstage.sourceforge.net/gazebo/xmlschema/ #params"> <model:LightSource> <id>light1</id> <xyz>-10.000 10.000 10.000</xyz> </model:LightSource> <model:ObserverCam> <id>userCam0</id> <xyz>-1.586 1.959 1.897</xyz> <rpy>-0 35 -84</rpy> <displayAxes>false</displayAxes> <displayCoM>false</displayCoM> <imageSize>640 480</imageSize> </model:ObserverCam> <model:GroundPlane> <id>ground1</id> </model:GroundPlane> <model:SimpleSolid> <xyz>0.000 0.000 -0.005</xyz> <shape>box</shape> <size>2 2 0.50</size> <color>1.0 1.0 1.0</color> <mass>10000</mass> </model:SimpleSolid> <model:SegwayRMP> <id>robot1</id> <xyz>-2.067 -0.000 0.003</xyz> <rpy>-0 1 0</rpy> <model:MonoCam> <id>camera1</id> <xyz>0.2 0 0.92</xyz> <nearClip>0.5</nearClip> <farClip>3</farClip> </model:MonoCam> </model:SegwayRMP> </gz:world> ## client side code int main(int argc, char **argv) { PlayerClient robot("localhost"); // connect to Player PositionProxy* position; // odometers CameraProxy* camera; position = new PositionProxy(&robot,0,'a'); // odometers camera = new CameraProxy(&robot,1,'r'); robot.Disconnect(); delete position; delete camera; } |