I hope this is the correct place to post this. If not, please let me know. I'm trying to create a recipe for OpenDDS. The recipe works so far as fetching, unpacking, and configuration. Or it seems to. :) Part of the configuration piece is that it also pulls down ACE+TAO real-time CORBA. This part works fine as well.
I set S as follows to match the unpacking directories enforced by the tar file: S = ${WORKINGDIR}/DDS The package comes with a configuration script pre-built, and it expects to be told where glibc is. So, I write do_configure as follows: EXTRA_OECONF = "-glibc=${STAGING_DIR}/${MACHINE}/usr" do_configure() { ${S}/configure ${EXTRA_OECONF} } The problem that I run into is during compilation. I write the following for do_compile() do_compile() { oenote ${STAGING_DIR} cd ${S} && make } This works right up until there is a compile error in ACE+TAO. Of course, I build the entire DDS package, including ACE+TAO, with no hiccups in Ubuntu, so I understand that this is a cross-compile/environment issue. The compile error is that it cannot find features.h, which is clearly in ${STAGING_LIBDIR}/${MACHINE}/usr/include. The compile command which is being executed is as follows (this is going to be ugly, let me know if there's a better way to include this, such as a pastebin somewhere): | make[1]: Entering directory `/opt/yocto/poky-5.0.1-build/tmp/work/i586-poky-linux/opendds-2.3-r0/ACE _wrappers/TAO/TAO_IDL' | | GNUmakefile: /opt/yocto/poky-5.0.1-build/tmp/work/i586-poky-linux/opendds-2.3-r0/ACE_ wrappers/TAO/TAO_IDL/GNUmakefile.TAO_IDL_EXE MAKEFLAGS=w | | i586-poky-linux-g++ -march=i586 --sysroot=/opt/yocto/poky-5.0.1-build/tmp/sysroots/qemux86 -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith -ggdb -pipe -D_REENTRANT -DACE_HAS_AIO_CALLS -D_GNU_SOURCE -I/opt/yocto/poky-5.0.1-build/tmp/work/i586-poky-linux/opendds-2.3-r0/AC E_wrappers -DACE_HAS_EXCEPTIONS -DACE_NO_INLINE -I../.. -Iinclude -Ibe_include -Ife -I.. -DTAO_IDL_PREPROCESSOR=\"i586-poky-linux-g++ -march=i586 --sysroot=/opt/yocto/poky-5.0.1-build/tmp/sysroots/qemux86\" -c -o .obj/driver/drv_preproc.o driver/drv_preproc.cpp | <command-line>:0:22: warning: missing terminating " character | In file included from /opt/yocto/poky-5.0.1-build/tmp/work/i586-poky-linux/opendds-2.3-r0/ACE_ wrappers/ace/config-linux-common.h:30:0, | from /opt/yocto/poky-5.0.1-build/tmp/work/i586-poky-linux/opendds-2.3-r0/ACE_ wrappers/ace/config-linux.h:14, | from /opt/yocto/poky-5.0.1-build/tmp/work/i586-poky-linux/opendds-2.3-r0/ACE_ wrappers/ace/config.h:1, | from /opt/yocto/poky-5.0.1-build/tmp/work/i586-poky-linux/opendds-2.3-r0/ACE_ wrappers/ace/config-macros.h:24, | from /opt/yocto/poky-5.0.1-build/tmp/work/i586-poky-linux/opendds-2.3-r0/ACE_ wrappers/ace/config-lite.h:24, | from /opt/yocto/poky-5.0.1-build/tmp/work/i586-poky-linux/opendds-2.3-r0/ACE_ wrappers/ace/os_include/os_limits.h:21, | from include/idl_defines.h:70, | from driver/drv_preproc.cpp:70: | /opt/yocto/poky-5.0.1-build/tmp/work/i586-poky-linux/opendds-2.3-r0/ACE_ wrappers/ace/config-posix.h:7:20: fatal error: unistd.h: No such file or directory | compilation terminated. | make[1]: *** [.obj/driver/drv_preproc.o] Error 1 | make[1]: Leaving directory `/opt/yocto/poky-5.0.1-build/tmp/work/i586-poky-linux/opendds-2.3-r0/ACE _wrappers/TAO/TAO_IDL' | make: *** [TAO_IDL_EXE] Error 2 | ERROR: Function 'do_compile' failed (see /opt/yocto/poky-5.0.1-build/tmp/work/i586-poky-linux/opendds-2.3-r0/temp /log.do_compile.17412 for further information) NOTE: package opendds-2.3-r0: task do_compile: Failed ERROR: Task 5 (/opt/yocto/poky-bernard-5.0.1/meta/recipes-middleware/opendds/opendds_2 .3.bb, do_compile) failed with exit code '1' The thing that is puzzling me is that --sysroot seems to be pointing in the general direction of ${STAGING_DIR} and so the include directive, #include <features.h> should be good. I have checked, and features.h is in the /usr/include subdirectory there. Does anyone have a clue they could lend me? Thanks, Paul E. Ourada Sr. Principal Software Engineer Covidien, Energy-based Devices 5920 Longbow Drive Boulder, CO 80301 paul.our...@covidien.com www.covidien.com Main: 303-530-2300 Ofc: 303-581-6940 Fax: 303-581-6741 _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto