Hi Felipe, This is really nice to have good guidance from your side. I will explain you about my system side. I have Fedora 11 installed on my system. GCC version is 4.4.1. To install sbox2 i am following commands as followed. I have downloaded sbox2-2.0 and qemu-0.11.0.tar.gz. Both are resident in the following directory /tmp/sbox2/sbox2-2.0 from here i have given following commands ./autogen.sh make install prefix=/opt/sb2/ But my make fail and i have applied following patch and get success for installing sbox2-2.0 --- include/config_hardcoded.h Thu Apr 02 02:06:14 2009 +++ include/config_hardcoded.h Thu Oct 15 19:06:34 2009 @@ -1,22 +1,21 @@ - -/* Define to the type of arg 1 for `readlink'. */ -#define READLINK_TYPE_ARG1 const char *path - -/* Define to the type of arg 2 for `readlink'. */ -#define READLINK_TYPE_ARG2 char *buf - -/* Define to the type of arg 3 for `readlink'. */ -#define READLINK_TYPE_ARG3 size_t bufsiz - -/* Define to the type of arg 1 for `scandir'. */ -#define SCANDIR_TYPE_ARG1 const char *dir - -/* Define to the type of arg 2 for `scandir'. */ -#define SCANDIR_TYPE_ARG2 struct dirent ***namelist - -/* Define to the type of arg 3 for `scandir'. */ -#define SCANDIR_TYPE_ARG3 int(*filter)(const struct dirent *) - -/* Define to the type of arg 4 for `scandir'. */ -#define SCANDIR_TYPE_ARG4 int(*compar)(const void *,const void *) - + +/* Define to the type of arg 1 for `readlink'. */ +#define READLINK_TYPE_ARG1 const char *path + +/* Define to the type of arg 2 for `readlink'. */ +#define READLINK_TYPE_ARG2 char *buf + +/* Define to the type of arg 3 for `readlink'. */ +#define READLINK_TYPE_ARG3 size_t bufsiz + +/* Define to the type of arg 1 for `scandir'. */ +#define SCANDIR_TYPE_ARG1 const char *dir + +/* Define to the type of arg 2 for `scandir'. */ +#define SCANDIR_TYPE_ARG2 struct dirent ***namelist + +/* Define to the type of arg 3 for `scandir'. */ +#define SCANDIR_TYPE_ARG3 int(*filter)(const struct dirent *) + +/* Define to the type of arg 4 for `scandir'. */ +#define SCANDIR_TYPE_ARG4 int(*compar)( (__const struct dirent **, __const struct dirent **) ) --- preload/generate.py Thu Apr 02 02:06:14 2009 +++ preload/generate.py Thu Oct 15 19:03:24 2009 @@ -164,8 +164,8 @@ W('int rename(const char *oldpath, const char *newpath)', b_map("oldpath"), b_map("newpath")) W('int revoke(const char *file)', b_map("file")) W('int rmdir(const char *pathname)', b_map("pathname")) -W('int scandir(const char *dir, struct dirent ***namelist, SCANDIR_TYPE_ARG3, int(*compar)(const void *, const void *))', b_map("dir"), argnames=['dir','namelist','filter','compar']) -W('int scandir64(const char *dir, struct dirent64 ***namelist, int(*filter)(const struct dirent64 *), int(*compar)(const void *, const void *))', b_map("dir"),argnames=['dir','namelist','filter','compar']) +W('int scandir(const char *dir, struct dirent ***namelist,SCANDIR_TYPE_ARG3 , SCANDIR_TYPE_ARG4)', b_map("dir"), argnames=['dir','namelist','filter','compar']) +W('int scandir64(const char *dir, struct dirent64 ***namelist, SCANDIR_TYPE_ARG3,SCANDIR_TYPE_ARG4)', b_map("dir"),argnames=['dir','namelist','filter','compar']) W('int setxattr(const char *path, const char *name, const void *value, size_t size, int flags)', b_map("path")) W('int stat(const char *file_name, struct stat *buf)', b_map("file_name")) W('int stat64(const char *file_name, struct stat64 *buf)', b_map("file_name")) --- preload/interface.master Thu Apr 02 02:06:14 2009 +++ preload/interface.master Thu Oct 15 19:26:21 2009 @@ -407,8 +407,8 @@ #ifdef HAVE_SCANDIR #ifdef HAVE_LINUX_SCANDIR WRAP: int scandir(const char *dir, struct dirent ***namelist, \ - SCANDIR_TYPE_ARG3, int(*compar)(const void *, const void *)) : \ - map(dir) hardcode_param(3,filter) + int(*filter)(const struct dirent *), int(*compar)(const struct dirent **, const struct dirent **)) : \ + map(dir) #endif #ifdef HAVE_OSX_SCANDIR WRAP: int scandir(const char *dirname, struct dirent ***namelist, int (*select)(struct dirent *), int (*compar)(const void *, const void *)): map(dirname) @@ -417,7 +417,7 @@ #ifdef HAVE_SCANDIR64 WRAP: int scandir64(const char *dir, struct dirent64 ***namelist, \ int(*filter)(const struct dirent64 *), \ - int(*compar)(const void *, const void *)) : \ + int(*compar)(const struct dirent64 **, const struct dirent64 **)) : \ map(dir) #endif #ifdef HAVE_SETXATTR After that i have installed qemu by giving following commands. ./configure --prefix=/opt/qemu/ --target-list=arm-linux-user make install i have added sb3 bin path to my PATH variable. My cross tool chain is installed at following path which is from Codesourcery( Sourcery G++ Lite version) and is installed at /opt/arm-2008q3/. These are my system set up. Now when i give following command to set up qemu for my cross tool chain it gives following error. [root at Fedora libc]# sb2-init -c /opt/qemu/bin/qemu-arm armv7 /opt/arm-2008q3/bin/arm-none-linux-gnueabi-gcc Info: Mapping mode not specified, using default (simple) Using /opt/arm-2008q3/bin/arm-none-linux-gnueabi-gcc to detect target architecture: Finished writing sb2.gcc.config gcc configured. sb2-init: Target architecture is 'arm' sb2-init: Host architecture is 'i[3456]86' Finished writing sb2.config sb2-init: configuring libtool for this target: /opt/qemu/bin/qemu-arm: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied /opt/qemu/bin/qemu-arm: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied /opt/qemu/bin/qemu-arm: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. Running /opt/sb2/bin/sb2-build-libtool failed You can run this manually later, otherwise your sb2 environment is correctly setup and ready to use After this when i configure glib by appluing following command, i can not configure it and it gives following error. [root at Fedora libc]# cd /tmp/gstreamer/glib-2.16.6 [root at Fedora glib-2.16.6]# sb2 ./configure --prefix=/opt/gstreamer_beagle/ --disable-static --with-html-dir=/tmp/dump /opt/qemu/bin/qemu-arm: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied /opt/qemu/bin/qemu-arm: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied /opt/qemu/bin/qemu-arm: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes 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 build system type... arm-unknown-linux-gnueabi checking host system type... arm-unknown-linux-gnueabi checking for the BeOS... no checking for Win32... no checking for Mac OS X Carbon support... checking for style of include used by make... GNU checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. Please guide me in this situation. Thanks in Advance, Tejas. ----- Original Message ----- From: "Felipe Contreras" <felipe.contreras at gmail.com> To: "Tejas Bhanabhagavanwala" <tejas at oriolesoftware.com> Cc: "Nigel Hsiung" <nigelcz at hotmail.com>; "gst mailing list" <gstreamer-embedded at lists.sourceforge.net> Sent: Thursday, October 15, 2009 1:06 AM Subject: Re: New to gstreamer On Wed, Oct 14, 2009 at 2:35 PM, Tejas Bhanabhagavanwala <tejas at oriolesoftware.com> wrote: > Hi Felipe, > I have tried with scratchbox 1. SB1 has been installed > successfully. But when i tried to configure glib2.16.2 with following > command. > > [sbox-armv7: ~] > ./configure --prefix="$prefix" --disable-static > --with-html-dir=/tmp/dump --host=arm-none-linux-gnueabi Why did you add the '--host' option? It's nowhere on any instructions. Read this carefully: scratchbox was created to forget about cross-compilation; you don't need to specify the host, target, or anything. > it gives following error.Please find log of configure command as > followed. Of course it's failing because it thinks it's cross-compiling, so it's not using scratchbox. > checking whether we are cross compiling... yes This question has nothing to do with GStreamer, you should ask it in the scratchbox mailing list. Cheers. -- Felipe Contreras