Re: Orocos integration in buildroot
Willy Lambert <[email protected]>
| Newsgroups | gmane.science.robotics.orocos.devel |
|---|---|
| Message-ID | <CAKvQZ_1iDNotsiw-_cGEgGoAfEvxW2jdPbw1Zbf5H7eGY-Hb3A@mail.gmail.com> |
2013/2/1 Peter Soetens <[email protected]>: > On Thu, Jan 31, 2013 at 2:50 AM, Willy Lambert <[email protected]> wrote: >> 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 ? >> > > Wasn't this a bug fixed on the toolchain-2.5/2.6 branch where we had > to set OROCOS-RTT_FOUND to TRUE instead of to a filesystem path in > said file ? > Something like in orocos-rtt-config.cmake : # Confirm found, not cached ! message("Orocos-RTT found in ${OROCOS-RTT_IMPORT_FILE}") set(OROCOS-RTT_FOUND ${OROCOS-RTT_IMPORT_FILE}) Changing last line to : set(OROCOS-RTT_FOUND ${OROCOS-RTT_IMPORT_FILE}) correct the issue. Sorry for being on "late" version. I need a 2.5 tarball, and the only one I can have easily is a pure 2.5.0. Thanks for support. I am currently able to compile log4cpp, rtt in buildroot.With this correction ocl should come quickly too. > Peter -- Orocos-Dev mailing list [email protected] http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev