Re: Orocos integration in buildroot
Willy Lambert <[email protected]>
| Newsgroups | gmane.science.robotics.orocos.devel |
|---|---|
| Message-ID | <CAKvQZ_3mO4tjH7=ALqepOFj2V=tMZ3uH_4e5j6XXeiikr5bwCg@mail.gmail.com> |
2013/1/29 Willy Lambert <[email protected]>: > 2013/1/28 Charles Lesire-Cabaniols <[email protected]>: >> >> >> >> 2013/1/23 Willy Lambert <[email protected]> >>> >>> 2013/1/22 Philippe Hamelin <[email protected]>: >>> > 2013/1/22 Willy Lambert <[email protected]> >>> >> >>> >> Hi all, >>> >> >>> >> for some time ago, Philippe Hamelin pointed me to his git repo with >>> >> Orocos integrated in Buildroot in the aim to fit in a low performance >>> >> devices : >>> >> https://github.com/phamelin/buildroot/tree/2011.05-sm >>> >> >>> >> I spent some time to play with Buildroot with the aim of reducing my >>> >> rootfs from 2GB to something like 200Mb. >>> >> >>> >> I'm now ready with buildroot and I'm attacking the Orocos packaging >>> >> from Philippe's work. I would like to post patches to buildroot about >>> >> Orocos integration. Does anyone care about this ? >>> >> >>> > >>> > I'm glad to hear that it serves someone else. >>> > >>> >> >>> >> @Philippe, was there any reason why you did not post you work back to >>> >> Buildroot ? (Technical problems ? Time ? Paches refused ? ) >>> >> >>> > >>> > Time as usual :-) >>> > >>> > Philippe >>> > >>> >>> I seems that boost is now existing in new buildroot versions. >>> >>> >>> >>> In order to pur Orocos in Buildroot I need a way to get Orocos >>> sources. The options are : >>> _ a git link to a .git file (would be : >>> git://gitorious.org/orocos-toolchain/rtt.git for instance, but is this >>> branch stable ?) >> >> >> You have to point to the last stable release. Today it's toolchain-2.6. Bug >> fixes are directly applied to this branch when needed. >> >>> >>> _ a direct link to a source tarball (would be : >>> http://people.mech.kuleuven.be/~orocos/pub/stable/toolchain/, but what >>> about minor patches ...) >>> >>> Any idea about the best solution ? >>> -- >>> Orocos-Dev mailing list >>> [email protected] >>> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev >> >> > > I managed to get sources and start building them. > > I currently have a build error in rtt/ExecutionEngine.cpp, that's > certainly due to the -fno-exeption option given to gcc. The are 2 > questions around this : > _ is it possible to build Orocos without exeptions ? > _ is there any other code that could rely on exeptions that compiled > that I could take as an example to propose a patch if this is an > unexpected error. > > > [ 12%] Building C object > rtt/CMakeFiles/orocos-rtt-gnulinux_dynamic.dir/os/tlsf/tlsf.c.o > cd /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt && > /wix/buildroot/output/host/usr/bin/i686-buildroot-linux-uclibc-gcc > -DRTT_DLL_EXPORT -DOROCOS_TARGET=gnulinux -D_LARGEFILE_SOURCE > -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -O2 > -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 > -pipe -O2 -Os -DNDEBUG -fPIC > -I/wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/os/gnulinux > -I/wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/os > -I/wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt > -I/wix/buildroot/output/build/orocos-rtt-2.5.0/rtt > -I/wix/buildroot/output/host/usr/i686-buildroot-linux-uclibc/sysroot/usr/include > -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE > -D_FILE_OFFSET_BITS=64 -pipe -O2 -D_LARGEFILE_SOURCE > -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -O2 > -fmessage-length=0 -fno-exceptions -ffunction-sections -fdata-sections > -o CMakeFiles/orocos-rtt-gnulinux_dynamic.dir/os/tlsf/tlsf.c.o -c > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/os/tlsf/tlsf.c > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/ExecutionEngine.cpp: > In member function 'void RTT::ExecutionEngine::processChildren()': > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/ExecutionEngine.cpp:332:47: > error: exception handling disabled, use -fexceptions to enable > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/ExecutionEngine.cpp:334:43: > error: 'e' was not declared in this scope > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/ExecutionEngine.cpp:332:19: > error: '...' handler must be the last handler for its try block > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/ExecutionEngine.cpp:347:43: > error: 'e' was not declared in this scope > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/ExecutionEngine.cpp:345:19: > error: '...' handler must be the last handler for its try block > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/ExecutionEngine.cpp:365:43: > error: 'e' was not declared in this scope > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/ExecutionEngine.cpp:363:19: > error: '...' handler must be the last handler for its try block > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/ExecutionEngine.cpp:376:43: > error: 'e' was not declared in this scope > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/ExecutionEngine.cpp:374:19: > error: '...' handler must be the last handler for its try block > make[3]: *** [rtt/CMakeFiles/orocos-rtt-gnulinux_dynamic.dir/ExecutionEngine.cpp.o] > Error 1 > make[3]: *** Waiting for unfinished jobs.... > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/OperationInterface.cpp: > In member function 'bool RTT::OperationInterface::isSynchronous(const > std::string&) const': > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/OperationInterface.cpp:99:13: > error: exception handling disabled, use -fexceptions to enable > make[3]: *** [rtt/CMakeFiles/orocos-rtt-gnulinux_dynamic.dir/OperationInterface.cpp.o] > Error 1 > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/Service.cpp: In > member function 'RTT::Service::shared_ptr RTT::Service::provides()': > /wix/buildroot/output/build/orocos-rtt-2.5.0/rtt/rtt/Service.cpp:108:37: > error: exception handling disabled, use -fexceptions to enable > make[3]: *** [rtt/CMakeFiles/orocos-rtt-gnulinux_dynamic.dir/Service.cpp.o] > Error 1 I oppened a bugtracker for this part, as I found that standard gnulinux install has the same problem. I successfully built log4cpp and rtt. But ocl has some difficulties to find rtt. cmake says at the same time : -- Found orocos-rtt 2.5.0 for the gnulinux target. and but it set OROCOS-RTT_FOUND to FALSE so package "OROCOS-RTT" is considered to be NOT FOUND. So I don't understand what's happening there. Can anyone helps with this ? Here is the log : ard@ard-host(10.0):/wix/buildroot$ VERBOSE=2 make orocos-ocl >>> orocos-ocl 2.5.0 Configuring (cd /wix/buildroot/output/build/orocos-ocl-2.5.0/ocl && rm -f CMakeCache.txt && /wix/buildroot/output/host/usr/bin/cmake /wix/buildroot/output/build/orocos-ocl-2.5.0/ocl -DCMAKE_TOOLCHAIN_FILE="/wix/buildroot/output/host/usr/share/buildroot/toolchainfile.cmake" -DCMAKE_INSTALL_PREFIX="/usr" -DOROCOS-RTT_DIR="/wix/buildroot/output/host/usr/i686-buildroot-linux-uclibc/sysroot/wix/buildroot/output/build/orocos-rtt-2.5.0/install/lib/cmake/orocos-rtt" ) Re-run cmake no build system arguments -- The C compiler identification is GNU 4.5.4 -- The CXX compiler identification is GNU 4.5.4 -- Check for working C compiler: /wix/buildroot/output/host/usr/bin/i686-buildroot-linux-uclibc-gcc -- Check for working C compiler: /wix/buildroot/output/host/usr/bin/i686-buildroot-linux-uclibc-gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /wix/buildroot/output/host/usr/bin/i686-buildroot-linux-uclibc-g++ -- Check for working CXX compiler: /wix/buildroot/output/host/usr/bin/i686-buildroot-linux-uclibc-g++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done Orocos Component Library version (2.5.0) No orocos-ocl.cmake file loaded, using default settings.See orocos-ocl.default.cmake Detected OROCOS_TARGET environment variable. Using: gnulinux Orocos-RTT found in /wix/buildroot/output/host/usr/i686-buildroot-linux-uclibc/sysroot/wix/buildroot/output/build/orocos-rtt-2.5.0/install/lib/cmake/orocos-rtt/orocos-rtt-gnulinux-libraries.cmake -- Found orocos-rtt 2.5.0 for the gnulinux target. CMake Error at CMakeLists.txt:168 (find_package): Found package configuration file: /wix/buildroot/output/host/usr/i686-buildroot-linux-uclibc/sysroot/wix/buildroot/output/build/orocos-rtt-2.5.0/install/lib/cmake/orocos-rtt/orocos-rtt-config.cmake but it set OROCOS-RTT_FOUND to FALSE so package "OROCOS-RTT" is considered to be NOT FOUND. -- Configuring incomplete, errors occurred! make: *** [/wix/buildroot/output/build/orocos-ocl-2.5.0/.stamp_configured] Error 1 -- Orocos-Dev mailing list [email protected] http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev