From: Chad G. <ch...@mg...> - 2007-10-12 19:03:41
|
I've been able to get player-2.0.4 and a recent CVS snapshot to both build successfully for the gumstix. Initially I selected player using make menuconfig for the gumstix root directory. The version included is rather old version I think. Modifying the packages/player/player.mk file to use the newer version is pretty easy. There were a few problems to work around. 1. I needed to set the # of jobs to run simultateously to 1 under menuconfig->Build options 2. Depending on what drivers you include, some of the library files don't get put in the staging directory and the build fails. They've been compiled so I just copied them to the staging directory and it worked the second time. There's probably a cleaner fix but it worked for me. 3. I found that the gumstix's shared library support was broken so I just built it statically and it seems to work great. I think someone recently posted how to fix it. 4. I haven't figured out how to do a libtool cross-compile build required for plugin driver support. 5. I couldn't get the SWIG wrappers to compile under buildroot so I had to build them by hand, but I got python bindings to eventually work too. I posted here earlier how I did that. -Chad On 10/12/07, John Cummins <jrp...@ya...> wrote: > I am also investigating the possibility that c code get compiled for ARM > but c++ for intel. > The config says > > Player will be built on a x86-unknown-linux-gnu system to run > on a arm-unknown-linux-gnu system, with the following tools: > C compiler: arm-linux-gcc -g -O2 > C++ compiler: g++ > > am I interpreting that correctly? > > John Cummins > > > > Richard vaughan <va...@cs...> wrote: > > > Two points that might be helpful, in lieu of a detailed solution: > > Player is included in the Gumstix "official" software tree, so you can build > it using their automated system. Just choose Player before building the > gumstix tree. > > The problem with pkg-config and cross-compiling was reported on this mailing > list a little while ago. I think Brian posted a good workaround. Check back > in the list. > > Richard/ > > > > On 12-Oct-07, at 9:34 AM, John Cummins wrote: > At the end of this e-mail is a run of my attempt to cross compile player for > gumstix > > 1) I do a find to see what ELF files are in the sub directory > 2)I do the configure. I don't know why it doesn't find the packages they are > installed and work. That's not a major problem (or is it?) > 3) Then I do the make install. which fails from a linker error > 4) Then I do the find again. Note that some of the .o files are intel 386 > objects and some are ARM objects. The make install compiled some c files for > Intel and some > for the gumstix(ARM) processor. So its not surprising the link failed. > > Questions > 1) Does anyone know (or have a good guess) why some were compiled for intel. > The .configure was asking for arm. > 2)Is there a better way to specify the host. the .config.out says unknown > arm > > Any suggestions? > > John Cummins > > terminal output follows, config.out is attached > (1) > root@john-desktop:~/player-2.0.4# find . -exec file {} \; | grep ELF > > (2) > root@john-desktop:~/player-2.0.4# ./configure --build=x86-linux > --host=arm-linux --disable-shared --disable-alldrivers --enable-roomba > > config.out > cat: /etc/ld.so.conf.d/*.conf: No such file or directory > cat: /etc/ld.so.conf.d/*.conf: No such file or directory > configure: WARNING: You should really install pkg-config > configure: WARNING: Some components of Player will not be built > configure: WARNING: Can't locate GTK/GNOME without pkg-config. > configure: WARNING: No GTK/GNOME-based GUIs will be built. > > (3) > root@john-desktop:~/player-2.0.4# make install > make.out > driver.cc: In constructor 'Driver::Driver(ConfigFile*, int, bool, size_t)': > driver.cc:90: warning: large integer implicitly truncated to unsigned type > /home/john/gumstix-buildroot/build_arm_nofpu/staging_dir/arm-linux/bin/ld: > unrecognised emulation mode: elf_i386 > Supported emulations: armelf_linux armelf > collect2: ld returned 1 exit status > make[2]: *** [player] Error 1 > make[1]: *** [install-recursive] Error 1 > make: *** [install-recursive] Error 1 > > (4) > root@john-desktop:~/player-2.0.4# find . -exec file {} \; | grep ELF > ./server/drivers/mixed/irobot/roomba/roomba_driver.o: ELF > 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped > ./server/drivers/mixed/irobot/roomba/roomba_comms.o: ELF > 32-bit LSB relocatable, ARM, version 1, not stripped > ./server/drivers/base/imagebase.o: ELF 32-bit LSB > relocatable, Intel 80386, version 1 (SYSV), not stripped > ./server/libplayerdrivers/driverregistry.o: ELF 32-bit LSB > relocatable, Intel 80386, version 1 (SYSV), not stripped > ./server/server.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 > (SYSV), not stripped > ./libplayerxdr/playerxdr.o: ELF 32-bit LSB relocatable, ARM, version 1, not > stripped > ./libplayerxdr/functiontable.o: ELF 32-bit LSB relocatable, ARM, version 1, > not stripped > ./libplayertcp/remote_driver.o: ELF 32-bit LSB relocatable, Intel 80386, > version 1 (SYSV), not stripped > ./libplayertcp/playertcp.o: ELF 32-bit LSB relocatable, Intel 80386, version > 1 (SYSV), not stripped > ./libplayertcp/socket_util.o: ELF 32-bit LSB relocatable, ARM, version 1, > not stripped > ./libplayercore/addr_util.o: ELF 32-bit LSB relocatable, ARM, version 1, not > stripped > ./libplayercore/wallclocktime.o: ELF 32-bit LSB > relocatable, Intel 80386, version 1 (SYSV), not stripped > ./libplayercore/error.o: ELF 32-bit LSB relocatable, ARM, version 1, not > stripped > ./libplayercore/globals.o: ELF 32-bit LSB relocatable, Intel 80386, version > 1 (SYSV), not stripped > ./libplayercore/driver.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 > (SYSV), not stripped > ./libplayercore/device.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 > (SYSV), not stripped > ./libplayercore/devicetable.o: ELF 32-bit LSB relocatable, Intel 80386, > version 1 (SYSV), not stripped > ./libplayercore/interface_util.o: ELF 32-bit LSB > relocatable, Intel 80386, version 1 (SYSV), not stripped > ./libplayercore/message.o: ELF 32-bit LSB relocatable, Intel 80386, version > 1 (SYSV), not stripped > ./libplayercore/drivertable.o: ELF 32-bit LSB relocatable, Intel 80386, > version 1 (SYSV), not stripped > ./libplayercore/plugins.o: ELF 32-bit LSB relocatable, Intel 80386, version > 1 (SYSV), not stripped > ./libplayercore/configfile.o: ELF 32-bit LSB relocatable, Intel 80386, > version 1 (SYSV), not stripped > ./replace/dummy.o: ELF 32-bit LSB relocatable, ARM, version 1, not stripped > ./replace/round.o: ELF 32-bit LSB relocatable, ARM, version 1, not stripped > root@john-desktop:~/player-2.0.4# > > > ________________________________ > Catch up on fall's hot new shows on Yahoo! TV. Watch previews, get listings, > and more! <config.out> > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> > http://get.splunk.com/_______________________________________________ > Playerstage-users mailing list > Pla...@li... > https://lists.sourceforge.net/lists/listinfo/playerstage-users > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> > http://get.splunk.com/_______________________________________________ > Playerstage-users mailing list > Pla...@li... > https://lists.sourceforge.net/lists/listinfo/playerstage-users > > > > ________________________________ > Check out the hottest 2008 models today at Yahoo! Autos. > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Playerstage-users mailing list > Pla...@li... > https://lists.sourceforge.net/lists/listinfo/playerstage-users > > |