Building OpenDDS with bitbakeWhat is best practice to do small changes in source code in YoctoCan I install a .deb during a BitBake Build?meta-qt5 Krogoth Branch Building Error During 'do_populate_sysroot'How to insert OV5640 camera driver as module in yoctobuild system derived toolchain in Yoctodo_compile error while running bitbake on pokyYocto: BUILD_LDFLAGS set to build system libraries, not targetYocto minimal eSDK - world-pkgdataUnable to build poky recipes: /poky/meta/recipes-core/ncurses/ncurses_6.0+20171125.bb:do_install failedGetting Build Error in Yocto Build system
Which modern firearm should a time traveler bring to be easily reproducible for a historic civilization?
I want light controlled by one switch, not two
Fitting two-dimensional data
Three Subway Escalators
Has anyone ever written a novel or short story composed of only dialogue?
Counting multiples of 3 up to a given number
Can a creature sustain itself by eating its own severed body parts?
How does mathematics work?
Applying for jobs when I have an obvious scar
What is the intuition for higher homotopy groups not vanishing?
Why are flying carpets banned while flying brooms are not?
Last-minute canceled work-trip means I'll lose thousands of dollars on planned vacation
How can electronics on board JWST survive the low operating temperature while it's difficult to survive lunar nights?
Why teach C using scanf without talking about command line arguments?
Why is this guy handcuffed censored?
Should I work for free if client's requirement changed
How much did all the space agencies spent on rockets launching and space exploration? What are the benefits for me and you?
What does "play in traffic" mean?
Book about an amphibian race at the centre of the Earth
A Real World Example for Divide and Conquer Method
What would be an ideal fidelity measure to determine the closeness between two non unitary matrices?
The most secure way to handle someone forgetting to verify their account?
How was Luke's prosthetic hand in Episode V filmed?
why neutral does not shock. how can a neutral be neutral in ac current?
Building OpenDDS with bitbake
What is best practice to do small changes in source code in YoctoCan I install a .deb during a BitBake Build?meta-qt5 Krogoth Branch Building Error During 'do_populate_sysroot'How to insert OV5640 camera driver as module in yoctobuild system derived toolchain in Yoctodo_compile error while running bitbake on pokyYocto: BUILD_LDFLAGS set to build system libraries, not targetYocto minimal eSDK - world-pkgdataUnable to build poky recipes: /poky/meta/recipes-core/ncurses/ncurses_6.0+20171125.bb:do_install failedGetting Build Error in Yocto Build system
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I need to build OpenDDS-3.13.1 with bitbake for my Yocto project. Target is for now only QEMU.
However, I downloaded the sources (they configure, compile and link on the host system quite well) and linked them into my recipe.
Inheriting "autoconf" causes an error in the configuration step, it can somehow not expand the default arguments (which is already odd).
After some searching I found a pretty old discussion about this topic: https://lists.yoctoproject.org/pipermail/yocto/2011-July/002126.html
My recipe currently looks as follows:
FILESEXTRAPATHS_prepend := "[PATH_TO_SOURCE]:"
PV = "3.13.1"
SRC_URI = "file://$PN-$PV.tar.gz"
S = "$WORKDIR/$PN-$PV"
B = "$S"
do_configure()
./configure
do_compile()
make
At the moment the configuration step runs successfully, but compiling fails as it cannot find header files. As mentioned in the mailing list post above, I tried to add the CXXFLAGS to the configuration step. This will step over the first missing include ("features") but stops at the next one ("sting"). Both headers are available in $S and $B respectivly, therefor are also part of $STAGING_DIR_HOST.
What am I missing here? I actually expected all step are implicitly covered by inheriting autotools.
Edit:
as requested here is the log output:
DEBUG: Executing shell function do_compile
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ace'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ace/GNUmakefile.ACE MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ace'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/common'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/common/GNUmakefile.ACEXML MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/common'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/parser/parser'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/parser/parser/GNUmakefile.ACEXML_Parser MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/parser/parser'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_FE MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_A MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_C MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_E MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_I MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_O MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_S MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_U MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_V MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/apps/gperf/src'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/apps/gperf/src/GNUmakefile.gperf MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/apps/gperf/src'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_EXE MAKEFLAGS=w
x86_64-poky-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/recipe-sysroot -fvisibility=hidden -fvisibility-inlines-hidden -Wnon-virtual-dtor -ggdb -pthread -fno-strict-aliasing -Wall -W -Wpointer-arith -pipe -D_GNU_SOURCE -I/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers -D__ACE_INLINE__ -I../.. -I../TAO_IDL/fe -I../TAO_IDL/include -I.. -Iinclude -Ibe_include -Ife -I.. -DTAO_IDL_PREPROCESSOR="x86_64-poky-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/recipe-sysroot" -c -o .obj/driver/drv_args.o driver/drv_args.cpp
<command-line>:0:22: warning: missing terminating " character
driver/drv_args.cpp:69:10: fatal error: string: No such file or directory
#include <string>
^~~~~~~~
compilation terminated.
/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/include/makeinclude/rules.local.GNU:134: recipe for target '.obj/driver/drv_args.o' failed
make[1]: *** [.obj/driver/drv_args.o] Error 1
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile.dist:568: recipe for target 'TAO_IDL_EXE' failed
make: *** [TAO_IDL_EXE] Error 2
WARNING: exit code 2 from a shell command.
ERROR: Function failed: do_compile (log file is located at /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/temp/log.do_compile.15963)
yocto bitbake openembedded opendds
add a comment |
I need to build OpenDDS-3.13.1 with bitbake for my Yocto project. Target is for now only QEMU.
However, I downloaded the sources (they configure, compile and link on the host system quite well) and linked them into my recipe.
Inheriting "autoconf" causes an error in the configuration step, it can somehow not expand the default arguments (which is already odd).
After some searching I found a pretty old discussion about this topic: https://lists.yoctoproject.org/pipermail/yocto/2011-July/002126.html
My recipe currently looks as follows:
FILESEXTRAPATHS_prepend := "[PATH_TO_SOURCE]:"
PV = "3.13.1"
SRC_URI = "file://$PN-$PV.tar.gz"
S = "$WORKDIR/$PN-$PV"
B = "$S"
do_configure()
./configure
do_compile()
make
At the moment the configuration step runs successfully, but compiling fails as it cannot find header files. As mentioned in the mailing list post above, I tried to add the CXXFLAGS to the configuration step. This will step over the first missing include ("features") but stops at the next one ("sting"). Both headers are available in $S and $B respectivly, therefor are also part of $STAGING_DIR_HOST.
What am I missing here? I actually expected all step are implicitly covered by inheriting autotools.
Edit:
as requested here is the log output:
DEBUG: Executing shell function do_compile
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ace'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ace/GNUmakefile.ACE MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ace'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/common'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/common/GNUmakefile.ACEXML MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/common'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/parser/parser'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/parser/parser/GNUmakefile.ACEXML_Parser MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/parser/parser'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_FE MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_A MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_C MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_E MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_I MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_O MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_S MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_U MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_V MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/apps/gperf/src'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/apps/gperf/src/GNUmakefile.gperf MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/apps/gperf/src'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_EXE MAKEFLAGS=w
x86_64-poky-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/recipe-sysroot -fvisibility=hidden -fvisibility-inlines-hidden -Wnon-virtual-dtor -ggdb -pthread -fno-strict-aliasing -Wall -W -Wpointer-arith -pipe -D_GNU_SOURCE -I/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers -D__ACE_INLINE__ -I../.. -I../TAO_IDL/fe -I../TAO_IDL/include -I.. -Iinclude -Ibe_include -Ife -I.. -DTAO_IDL_PREPROCESSOR="x86_64-poky-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/recipe-sysroot" -c -o .obj/driver/drv_args.o driver/drv_args.cpp
<command-line>:0:22: warning: missing terminating " character
driver/drv_args.cpp:69:10: fatal error: string: No such file or directory
#include <string>
^~~~~~~~
compilation terminated.
/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/include/makeinclude/rules.local.GNU:134: recipe for target '.obj/driver/drv_args.o' failed
make[1]: *** [.obj/driver/drv_args.o] Error 1
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile.dist:568: recipe for target 'TAO_IDL_EXE' failed
make: *** [TAO_IDL_EXE] Error 2
WARNING: exit code 2 from a shell command.
ERROR: Function failed: do_compile (log file is located at /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/temp/log.do_compile.15963)
yocto bitbake openembedded opendds
why wouldn't you show us the compilation log?
– Oleksandr Kravchuk
Mar 26 at 15:43
The log output has been added to the original post. I haven't posted the log before, since its the usual straight forward workflow.
– x'mpl'
Mar 26 at 16:02
Did you manage to get this to work?
– cosimo193
May 13 at 14:00
add a comment |
I need to build OpenDDS-3.13.1 with bitbake for my Yocto project. Target is for now only QEMU.
However, I downloaded the sources (they configure, compile and link on the host system quite well) and linked them into my recipe.
Inheriting "autoconf" causes an error in the configuration step, it can somehow not expand the default arguments (which is already odd).
After some searching I found a pretty old discussion about this topic: https://lists.yoctoproject.org/pipermail/yocto/2011-July/002126.html
My recipe currently looks as follows:
FILESEXTRAPATHS_prepend := "[PATH_TO_SOURCE]:"
PV = "3.13.1"
SRC_URI = "file://$PN-$PV.tar.gz"
S = "$WORKDIR/$PN-$PV"
B = "$S"
do_configure()
./configure
do_compile()
make
At the moment the configuration step runs successfully, but compiling fails as it cannot find header files. As mentioned in the mailing list post above, I tried to add the CXXFLAGS to the configuration step. This will step over the first missing include ("features") but stops at the next one ("sting"). Both headers are available in $S and $B respectivly, therefor are also part of $STAGING_DIR_HOST.
What am I missing here? I actually expected all step are implicitly covered by inheriting autotools.
Edit:
as requested here is the log output:
DEBUG: Executing shell function do_compile
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ace'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ace/GNUmakefile.ACE MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ace'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/common'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/common/GNUmakefile.ACEXML MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/common'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/parser/parser'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/parser/parser/GNUmakefile.ACEXML_Parser MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/parser/parser'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_FE MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_A MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_C MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_E MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_I MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_O MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_S MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_U MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_V MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/apps/gperf/src'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/apps/gperf/src/GNUmakefile.gperf MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/apps/gperf/src'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_EXE MAKEFLAGS=w
x86_64-poky-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/recipe-sysroot -fvisibility=hidden -fvisibility-inlines-hidden -Wnon-virtual-dtor -ggdb -pthread -fno-strict-aliasing -Wall -W -Wpointer-arith -pipe -D_GNU_SOURCE -I/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers -D__ACE_INLINE__ -I../.. -I../TAO_IDL/fe -I../TAO_IDL/include -I.. -Iinclude -Ibe_include -Ife -I.. -DTAO_IDL_PREPROCESSOR="x86_64-poky-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/recipe-sysroot" -c -o .obj/driver/drv_args.o driver/drv_args.cpp
<command-line>:0:22: warning: missing terminating " character
driver/drv_args.cpp:69:10: fatal error: string: No such file or directory
#include <string>
^~~~~~~~
compilation terminated.
/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/include/makeinclude/rules.local.GNU:134: recipe for target '.obj/driver/drv_args.o' failed
make[1]: *** [.obj/driver/drv_args.o] Error 1
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile.dist:568: recipe for target 'TAO_IDL_EXE' failed
make: *** [TAO_IDL_EXE] Error 2
WARNING: exit code 2 from a shell command.
ERROR: Function failed: do_compile (log file is located at /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/temp/log.do_compile.15963)
yocto bitbake openembedded opendds
I need to build OpenDDS-3.13.1 with bitbake for my Yocto project. Target is for now only QEMU.
However, I downloaded the sources (they configure, compile and link on the host system quite well) and linked them into my recipe.
Inheriting "autoconf" causes an error in the configuration step, it can somehow not expand the default arguments (which is already odd).
After some searching I found a pretty old discussion about this topic: https://lists.yoctoproject.org/pipermail/yocto/2011-July/002126.html
My recipe currently looks as follows:
FILESEXTRAPATHS_prepend := "[PATH_TO_SOURCE]:"
PV = "3.13.1"
SRC_URI = "file://$PN-$PV.tar.gz"
S = "$WORKDIR/$PN-$PV"
B = "$S"
do_configure()
./configure
do_compile()
make
At the moment the configuration step runs successfully, but compiling fails as it cannot find header files. As mentioned in the mailing list post above, I tried to add the CXXFLAGS to the configuration step. This will step over the first missing include ("features") but stops at the next one ("sting"). Both headers are available in $S and $B respectivly, therefor are also part of $STAGING_DIR_HOST.
What am I missing here? I actually expected all step are implicitly covered by inheriting autotools.
Edit:
as requested here is the log output:
DEBUG: Executing shell function do_compile
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ace'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ace/GNUmakefile.ACE MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ace'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/common'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/common/GNUmakefile.ACEXML MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/common'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/parser/parser'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/parser/parser/GNUmakefile.ACEXML_Parser MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/ACEXML/parser/parser'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_FE MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_A MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_C MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_E MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_I MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_O MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_S MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_U MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_BE_VIS_V MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/apps/gperf/src'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/apps/gperf/src/GNUmakefile.gperf MAKEFLAGS=w
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/apps/gperf/src'
make[1]: Entering directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile: /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_EXE MAKEFLAGS=w
x86_64-poky-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/recipe-sysroot -fvisibility=hidden -fvisibility-inlines-hidden -Wnon-virtual-dtor -ggdb -pthread -fno-strict-aliasing -Wall -W -Wpointer-arith -pipe -D_GNU_SOURCE -I/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers -D__ACE_INLINE__ -I../.. -I../TAO_IDL/fe -I../TAO_IDL/include -I.. -Iinclude -Ibe_include -Ife -I.. -DTAO_IDL_PREPROCESSOR="x86_64-poky-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/recipe-sysroot" -c -o .obj/driver/drv_args.o driver/drv_args.cpp
<command-line>:0:22: warning: missing terminating " character
driver/drv_args.cpp:69:10: fatal error: string: No such file or directory
#include <string>
^~~~~~~~
compilation terminated.
/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/include/makeinclude/rules.local.GNU:134: recipe for target '.obj/driver/drv_args.o' failed
make[1]: *** [.obj/driver/drv_args.o] Error 1
make[1]: Leaving directory '/media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/OpenDDS-3.13.1/ACE_wrappers/TAO/TAO_IDL'
GNUmakefile.dist:568: recipe for target 'TAO_IDL_EXE' failed
make: *** [TAO_IDL_EXE] Error 2
WARNING: exit code 2 from a shell command.
ERROR: Function failed: do_compile (log file is located at /media/work/10_Projects/Yocto/florida_ref/build/tmp/work/core2-64-poky-linux/OpenDDS/3.13.1-r0/temp/log.do_compile.15963)
yocto bitbake openembedded opendds
yocto bitbake openembedded opendds
edited Mar 26 at 16:01
x'mpl'
asked Mar 26 at 12:00
x'mpl'x'mpl'
188 bronze badges
188 bronze badges
why wouldn't you show us the compilation log?
– Oleksandr Kravchuk
Mar 26 at 15:43
The log output has been added to the original post. I haven't posted the log before, since its the usual straight forward workflow.
– x'mpl'
Mar 26 at 16:02
Did you manage to get this to work?
– cosimo193
May 13 at 14:00
add a comment |
why wouldn't you show us the compilation log?
– Oleksandr Kravchuk
Mar 26 at 15:43
The log output has been added to the original post. I haven't posted the log before, since its the usual straight forward workflow.
– x'mpl'
Mar 26 at 16:02
Did you manage to get this to work?
– cosimo193
May 13 at 14:00
why wouldn't you show us the compilation log?
– Oleksandr Kravchuk
Mar 26 at 15:43
why wouldn't you show us the compilation log?
– Oleksandr Kravchuk
Mar 26 at 15:43
The log output has been added to the original post. I haven't posted the log before, since its the usual straight forward workflow.
– x'mpl'
Mar 26 at 16:02
The log output has been added to the original post. I haven't posted the log before, since its the usual straight forward workflow.
– x'mpl'
Mar 26 at 16:02
Did you manage to get this to work?
– cosimo193
May 13 at 14:00
Did you manage to get this to work?
– cosimo193
May 13 at 14:00
add a comment |
2 Answers
2
active
oldest
votes
I actually expected all step are implicitly covered by inheriting
autotools.
But you don't inherit autotools. Anyway that won't help because OpenDDS doesn't use autotools.
First some cleanup: FILESEXTRAPATH should be removed, call the recipe name_version.bb and you can remove PV, those S and B values are the defaults. Your do_compile is basically doing the same as the default. SRC_URI should be https://github.com/objectcomputing/OpenDDS/releases/download/DDS-3.13.1/OpenDDS-3.13.1.tar.gz surely.
The important thing is what is the output of the do_configure task. OpenDDS has a hand-coded and one-off configure which you'll need to carefully call. From glancing at the script, it looks like passing --target is a good start.
Thanks for your comment. Theinherit autotoolswas removed, since it causes errors in do_configure, manually calling it does somehow not. The file extra paths are there for development, I don't want to download the whole package each time, so I just use a local copy until I have solved the recipe issues.
– x'mpl'
Mar 27 at 11:53
It won't download each time, it will cache the tarball in DL_DIR. Inheriting autotools failed because OpenDDS doesn't use autotools, so the inherit was incorrect. As they use a hand-coded configure script you need to determine how to call it correctly.
– Ross Burton
Mar 28 at 12:11
add a comment |
For openDDS the usual cross-compiling approach does not work out of the box. Here you need to run the compile process on and within your host machines context and reference your cross compiler which will than be used by the build system of openDDS.
Here is how to get it run:
The configure script from the openDDS sources does not accept additional arguments to the cross-compilers which are needed by bitbake. Therefore I wrapped them into scripts which replace the final calls to the CC, CXX, LD and AR:
Create a new task after do_unpack doing the following
- extract the binary names from the variables (CC, CXX and AR) and create a local script with the same name
- insert shebang into the just created wrapper script
- append the whole value of the variable (here $CC) into the wrapper script
- make wrapper executable
cc_wrapper=`echo $CC | cut -f 1 -d `
echo '#!/bin/sh' > $S/$cc_wrapper
echo "$CC "$@"" >> $S/$cc_wrapper
chmod +x $S/$cc_wrapper
- do the same for CXX and AR
Override the configure step
- extract the full path to the target cross compiler
target_compiler="$S/`echo $CXX | cut -f 1 -d `"
- and replace CC variable which points to the bitbake cross-compiler with the host native ones:
export CC=$BUILD_CC
- do the same for CXX and AR too
- do the final call to the configure script with the expected cross compile options
./configure --target=linux-cross --target-compiler=$target_compiler
(Note the reference to $target_compiler set above)
Override the compile step
- export again CC, CXX, AR and in addition LD to point to the hosts native instances
export CC=$BUILD_CC
- finally just call make within the compile step, that should make it happen!
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55356648%2fbuilding-opendds-with-bitbake%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
I actually expected all step are implicitly covered by inheriting
autotools.
But you don't inherit autotools. Anyway that won't help because OpenDDS doesn't use autotools.
First some cleanup: FILESEXTRAPATH should be removed, call the recipe name_version.bb and you can remove PV, those S and B values are the defaults. Your do_compile is basically doing the same as the default. SRC_URI should be https://github.com/objectcomputing/OpenDDS/releases/download/DDS-3.13.1/OpenDDS-3.13.1.tar.gz surely.
The important thing is what is the output of the do_configure task. OpenDDS has a hand-coded and one-off configure which you'll need to carefully call. From glancing at the script, it looks like passing --target is a good start.
Thanks for your comment. Theinherit autotoolswas removed, since it causes errors in do_configure, manually calling it does somehow not. The file extra paths are there for development, I don't want to download the whole package each time, so I just use a local copy until I have solved the recipe issues.
– x'mpl'
Mar 27 at 11:53
It won't download each time, it will cache the tarball in DL_DIR. Inheriting autotools failed because OpenDDS doesn't use autotools, so the inherit was incorrect. As they use a hand-coded configure script you need to determine how to call it correctly.
– Ross Burton
Mar 28 at 12:11
add a comment |
I actually expected all step are implicitly covered by inheriting
autotools.
But you don't inherit autotools. Anyway that won't help because OpenDDS doesn't use autotools.
First some cleanup: FILESEXTRAPATH should be removed, call the recipe name_version.bb and you can remove PV, those S and B values are the defaults. Your do_compile is basically doing the same as the default. SRC_URI should be https://github.com/objectcomputing/OpenDDS/releases/download/DDS-3.13.1/OpenDDS-3.13.1.tar.gz surely.
The important thing is what is the output of the do_configure task. OpenDDS has a hand-coded and one-off configure which you'll need to carefully call. From glancing at the script, it looks like passing --target is a good start.
Thanks for your comment. Theinherit autotoolswas removed, since it causes errors in do_configure, manually calling it does somehow not. The file extra paths are there for development, I don't want to download the whole package each time, so I just use a local copy until I have solved the recipe issues.
– x'mpl'
Mar 27 at 11:53
It won't download each time, it will cache the tarball in DL_DIR. Inheriting autotools failed because OpenDDS doesn't use autotools, so the inherit was incorrect. As they use a hand-coded configure script you need to determine how to call it correctly.
– Ross Burton
Mar 28 at 12:11
add a comment |
I actually expected all step are implicitly covered by inheriting
autotools.
But you don't inherit autotools. Anyway that won't help because OpenDDS doesn't use autotools.
First some cleanup: FILESEXTRAPATH should be removed, call the recipe name_version.bb and you can remove PV, those S and B values are the defaults. Your do_compile is basically doing the same as the default. SRC_URI should be https://github.com/objectcomputing/OpenDDS/releases/download/DDS-3.13.1/OpenDDS-3.13.1.tar.gz surely.
The important thing is what is the output of the do_configure task. OpenDDS has a hand-coded and one-off configure which you'll need to carefully call. From glancing at the script, it looks like passing --target is a good start.
I actually expected all step are implicitly covered by inheriting
autotools.
But you don't inherit autotools. Anyway that won't help because OpenDDS doesn't use autotools.
First some cleanup: FILESEXTRAPATH should be removed, call the recipe name_version.bb and you can remove PV, those S and B values are the defaults. Your do_compile is basically doing the same as the default. SRC_URI should be https://github.com/objectcomputing/OpenDDS/releases/download/DDS-3.13.1/OpenDDS-3.13.1.tar.gz surely.
The important thing is what is the output of the do_configure task. OpenDDS has a hand-coded and one-off configure which you'll need to carefully call. From glancing at the script, it looks like passing --target is a good start.
answered Mar 27 at 11:00
Ross BurtonRoss Burton
2,4927 silver badges9 bronze badges
2,4927 silver badges9 bronze badges
Thanks for your comment. Theinherit autotoolswas removed, since it causes errors in do_configure, manually calling it does somehow not. The file extra paths are there for development, I don't want to download the whole package each time, so I just use a local copy until I have solved the recipe issues.
– x'mpl'
Mar 27 at 11:53
It won't download each time, it will cache the tarball in DL_DIR. Inheriting autotools failed because OpenDDS doesn't use autotools, so the inherit was incorrect. As they use a hand-coded configure script you need to determine how to call it correctly.
– Ross Burton
Mar 28 at 12:11
add a comment |
Thanks for your comment. Theinherit autotoolswas removed, since it causes errors in do_configure, manually calling it does somehow not. The file extra paths are there for development, I don't want to download the whole package each time, so I just use a local copy until I have solved the recipe issues.
– x'mpl'
Mar 27 at 11:53
It won't download each time, it will cache the tarball in DL_DIR. Inheriting autotools failed because OpenDDS doesn't use autotools, so the inherit was incorrect. As they use a hand-coded configure script you need to determine how to call it correctly.
– Ross Burton
Mar 28 at 12:11
Thanks for your comment. The
inherit autotools was removed, since it causes errors in do_configure, manually calling it does somehow not. The file extra paths are there for development, I don't want to download the whole package each time, so I just use a local copy until I have solved the recipe issues.– x'mpl'
Mar 27 at 11:53
Thanks for your comment. The
inherit autotools was removed, since it causes errors in do_configure, manually calling it does somehow not. The file extra paths are there for development, I don't want to download the whole package each time, so I just use a local copy until I have solved the recipe issues.– x'mpl'
Mar 27 at 11:53
It won't download each time, it will cache the tarball in DL_DIR. Inheriting autotools failed because OpenDDS doesn't use autotools, so the inherit was incorrect. As they use a hand-coded configure script you need to determine how to call it correctly.
– Ross Burton
Mar 28 at 12:11
It won't download each time, it will cache the tarball in DL_DIR. Inheriting autotools failed because OpenDDS doesn't use autotools, so the inherit was incorrect. As they use a hand-coded configure script you need to determine how to call it correctly.
– Ross Burton
Mar 28 at 12:11
add a comment |
For openDDS the usual cross-compiling approach does not work out of the box. Here you need to run the compile process on and within your host machines context and reference your cross compiler which will than be used by the build system of openDDS.
Here is how to get it run:
The configure script from the openDDS sources does not accept additional arguments to the cross-compilers which are needed by bitbake. Therefore I wrapped them into scripts which replace the final calls to the CC, CXX, LD and AR:
Create a new task after do_unpack doing the following
- extract the binary names from the variables (CC, CXX and AR) and create a local script with the same name
- insert shebang into the just created wrapper script
- append the whole value of the variable (here $CC) into the wrapper script
- make wrapper executable
cc_wrapper=`echo $CC | cut -f 1 -d `
echo '#!/bin/sh' > $S/$cc_wrapper
echo "$CC "$@"" >> $S/$cc_wrapper
chmod +x $S/$cc_wrapper
- do the same for CXX and AR
Override the configure step
- extract the full path to the target cross compiler
target_compiler="$S/`echo $CXX | cut -f 1 -d `"
- and replace CC variable which points to the bitbake cross-compiler with the host native ones:
export CC=$BUILD_CC
- do the same for CXX and AR too
- do the final call to the configure script with the expected cross compile options
./configure --target=linux-cross --target-compiler=$target_compiler
(Note the reference to $target_compiler set above)
Override the compile step
- export again CC, CXX, AR and in addition LD to point to the hosts native instances
export CC=$BUILD_CC
- finally just call make within the compile step, that should make it happen!
add a comment |
For openDDS the usual cross-compiling approach does not work out of the box. Here you need to run the compile process on and within your host machines context and reference your cross compiler which will than be used by the build system of openDDS.
Here is how to get it run:
The configure script from the openDDS sources does not accept additional arguments to the cross-compilers which are needed by bitbake. Therefore I wrapped them into scripts which replace the final calls to the CC, CXX, LD and AR:
Create a new task after do_unpack doing the following
- extract the binary names from the variables (CC, CXX and AR) and create a local script with the same name
- insert shebang into the just created wrapper script
- append the whole value of the variable (here $CC) into the wrapper script
- make wrapper executable
cc_wrapper=`echo $CC | cut -f 1 -d `
echo '#!/bin/sh' > $S/$cc_wrapper
echo "$CC "$@"" >> $S/$cc_wrapper
chmod +x $S/$cc_wrapper
- do the same for CXX and AR
Override the configure step
- extract the full path to the target cross compiler
target_compiler="$S/`echo $CXX | cut -f 1 -d `"
- and replace CC variable which points to the bitbake cross-compiler with the host native ones:
export CC=$BUILD_CC
- do the same for CXX and AR too
- do the final call to the configure script with the expected cross compile options
./configure --target=linux-cross --target-compiler=$target_compiler
(Note the reference to $target_compiler set above)
Override the compile step
- export again CC, CXX, AR and in addition LD to point to the hosts native instances
export CC=$BUILD_CC
- finally just call make within the compile step, that should make it happen!
add a comment |
For openDDS the usual cross-compiling approach does not work out of the box. Here you need to run the compile process on and within your host machines context and reference your cross compiler which will than be used by the build system of openDDS.
Here is how to get it run:
The configure script from the openDDS sources does not accept additional arguments to the cross-compilers which are needed by bitbake. Therefore I wrapped them into scripts which replace the final calls to the CC, CXX, LD and AR:
Create a new task after do_unpack doing the following
- extract the binary names from the variables (CC, CXX and AR) and create a local script with the same name
- insert shebang into the just created wrapper script
- append the whole value of the variable (here $CC) into the wrapper script
- make wrapper executable
cc_wrapper=`echo $CC | cut -f 1 -d `
echo '#!/bin/sh' > $S/$cc_wrapper
echo "$CC "$@"" >> $S/$cc_wrapper
chmod +x $S/$cc_wrapper
- do the same for CXX and AR
Override the configure step
- extract the full path to the target cross compiler
target_compiler="$S/`echo $CXX | cut -f 1 -d `"
- and replace CC variable which points to the bitbake cross-compiler with the host native ones:
export CC=$BUILD_CC
- do the same for CXX and AR too
- do the final call to the configure script with the expected cross compile options
./configure --target=linux-cross --target-compiler=$target_compiler
(Note the reference to $target_compiler set above)
Override the compile step
- export again CC, CXX, AR and in addition LD to point to the hosts native instances
export CC=$BUILD_CC
- finally just call make within the compile step, that should make it happen!
For openDDS the usual cross-compiling approach does not work out of the box. Here you need to run the compile process on and within your host machines context and reference your cross compiler which will than be used by the build system of openDDS.
Here is how to get it run:
The configure script from the openDDS sources does not accept additional arguments to the cross-compilers which are needed by bitbake. Therefore I wrapped them into scripts which replace the final calls to the CC, CXX, LD and AR:
Create a new task after do_unpack doing the following
- extract the binary names from the variables (CC, CXX and AR) and create a local script with the same name
- insert shebang into the just created wrapper script
- append the whole value of the variable (here $CC) into the wrapper script
- make wrapper executable
cc_wrapper=`echo $CC | cut -f 1 -d `
echo '#!/bin/sh' > $S/$cc_wrapper
echo "$CC "$@"" >> $S/$cc_wrapper
chmod +x $S/$cc_wrapper
- do the same for CXX and AR
Override the configure step
- extract the full path to the target cross compiler
target_compiler="$S/`echo $CXX | cut -f 1 -d `"
- and replace CC variable which points to the bitbake cross-compiler with the host native ones:
export CC=$BUILD_CC
- do the same for CXX and AR too
- do the final call to the configure script with the expected cross compile options
./configure --target=linux-cross --target-compiler=$target_compiler
(Note the reference to $target_compiler set above)
Override the compile step
- export again CC, CXX, AR and in addition LD to point to the hosts native instances
export CC=$BUILD_CC
- finally just call make within the compile step, that should make it happen!
edited May 28 at 8:38
answered May 27 at 12:39
x'mpl'x'mpl'
188 bronze badges
188 bronze badges
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55356648%2fbuilding-opendds-with-bitbake%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
why wouldn't you show us the compilation log?
– Oleksandr Kravchuk
Mar 26 at 15:43
The log output has been added to the original post. I haven't posted the log before, since its the usual straight forward workflow.
– x'mpl'
Mar 26 at 16:02
Did you manage to get this to work?
– cosimo193
May 13 at 14:00