STATUS: PASSED BUILD: master:9eb88ceb39b7d0b8ddc6487e61ce8edadef10ec4 ENVIRONMENT: Ubuntu 12.10 x86_64 STEPS TO REPRODUCE: 1. Perform a user-build sdk with current Poky build (for qemux86) $ source oe-init-build-env $ bitbake meta-ide-support 2. Download iptables project from the stable releases: http://netfilter.org/projects/iptables/files/. The latest version is iptables-1.4.16.tar.bz2. 3. Source the user-build sdk envioronment 4. With the cross compile environment, run: $ ./configure ${CONFIGURE_FLAGS} $ make $ make install DESTDIR=/opt/tmp" EXPECTED OUTCOME: 4 sudoku project could be compiled successfully with user-build sdk. ACTUAL RESULT: 4: $ ./configure $CONFIGURE_FLAGS configure: WARNING: unrecognized options: --with-libtool-sysroot checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for i586-poky-linux-strip... i586-poky-linux-strip checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking for style of include used by make... GNU checking for C++ compiler default output file name... a.out checking whether the C++ compiler works... yes checking whether we are cross compiling... yes checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether i586-poky-linux-g++ -m32 -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86 accepts -g... yes checking dependency style of i586-poky-linux-g++ -m32 -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86... gcc3 checking for library containing strerror... none required checking whether we are using the GNU C++ compiler... (cached) yes checking whether i586-poky-linux-g++ -m32 -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86 accepts -g... (cached) yes checking dependency style of i586-poky-linux-g++ -m32 -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86... (cached) gcc3 checking for i586-poky-linux-gcc... i586-poky-linux-gcc -m32 -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86 checking whether we are using the GNU C compiler... yes checking whether i586-poky-linux-gcc -m32 -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86 accepts -g... yes checking for i586-poky-linux-gcc -m32 -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86 option to accept ISO C89... none needed checking dependency style of i586-poky-linux-gcc -m32 -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86... gcc3 checking how to run the C++ preprocessor... i586-poky-linux-g++ -m32 -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86 -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking whether NLS is requested... yes checking for msgfmt... /home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/x86_64-linux/usr/bin/msgfmt checking for gmsgfmt... /home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/x86_64-linux/usr/bin/msgfmt checking for xgettext... /home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/x86_64-linux/usr/bin/xgettext checking for msgmerge... /home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/x86_64-linux/usr/bin/msgmerge checking build system type... x86_64-pc-linux-gnu checking host system type... i586-poky-linux-gnu checking for ld used by GCC... i586-poky-linux-ld --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86 checking if the linker (i586-poky-linux-ld --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86) is GNU ld... yes checking for shared library run path origin... done checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyCurrent... no checking for GNU gettext in libc... yes checking whether to use NLS... yes checking where the gettext function comes from... libc checking for i586-poky-linux-pkg-config... no checking for pkg-config... /home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/x86_64-linux/usr/bin/pkg-config configure: WARNING: using cross tools not prefixed with host triplet checking pkg-config is at least version 0.9.0... yes checking for PACKAGE... configure: error: Package requirements (gtk+-2.0 >= 2.4.0) were not met: No package 'gtk+-2.0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables PACKAGE_CFLAGS and PACKAGE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. yocto@yocto-o1:
the error also happened on opensuse 12.2 x86_64 and fedora 17 i686 hosts.
Hi, THe issue happens actually when using sudoku project, not iptables. Sudoku source code can be downloaded from here: http://sourceforge.net/projects/sudoku-savant/files/sudoku-savant/sudoku-savant-1.3/
When using meta-ide-toolchain bitbake target, only a minimal target sysroot is constructed. Not all libraries are included in it. So, in order for one to compile a certain application, the target SDK image has to be compiled first (for example core-image-sato-sdk) and then extract the target rootfs using runqemu-extract-sdk. Afterwards, the environment setup script has to be manually edited so that the sysroot points to the target rootfs location. Documentation about this procedure can be found here [1], paragraph 2.1.3. Jessica, Do you have anything to add to this? In my opinion this is not a bug, just an usage issue. I did the procedure explained above and the sudoku project compiled just fine. [1] http://www.yoctoproject.org/docs/1.3/adt-manual/adt-manual.html
Jessica, Laurentiu, I have looked over the documentation but I can say that it isn't explicitly saying that you have to build an actual core-image-sato-sdk in order to be able to compile a project. quote from the documentation that Laurentiu specified: "Be aware that when you use this method to install the toolchain you still need to separately extract and install the sysroot filesystem. For information on how to do this, see the "Extracting the Root Filesystem" section." As for me, I can interpret that I can use a sysroot downloaded from the autobuilder, which I actually did. It doesn't So how do you should we proceed?
Hi Alex, I agree with Laurentiu, it states that you have to extract a target rootfs as sysroot which means you(application developer) need to be responsible that the sysroot contains all the nedded dev packages for your application to compile. So I'm closing this bug as not a bug. I'd say you need to update your test case to either explicitly extract core-image-sato-sdk as your sysroot and modify the environment setup file coordinally. Or bitbake core-image-sato-sdk yourself and use the default sysroot under ../build/tmp/sysroots/qemux86 Thanks, Jessica
verified