Trying to cross compile for ARM phone (android galaxy S4)

i am trying to cross compile for my galaxy S4 on my 64 bit arch install, and ran into a host of issues. Currently at a specific error message in the code box below, after downloading the android NDK at https://developer.android.com/tools/sdk/ndk/index.html and running:
android-ndk-r9d/build/tools/make-standalone-toolchain.sh
this gave me android-ndk-gcc (directory)
so i read up some basics on how to set the compiler via:
'export CC=/home/earth/android-ndk-gcc/bin/arm-linux-androideabi-gcc'
then i downloaded Bash's source code and tried to run variations of ./configure with no success until i tried:
'./configure --host=arm-linux --enable-static-link --without-bash-malloc'
which resulted in successful whatever configure does (sets up make file stuff?)
the result of 'make' was (only posting the one compile iteration that resulted in an error):
/home/earth/android-ndk-gcc/bin/arm-linux-androideabi-gcc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -I../../lib/intl -I/home/earth/project/bash-4.3/lib/intl -DHAVE_CONFIG_H -DSHELL -g -O2 oslib.c
oslib.c:238:1: error: redefinition of 'mkfifo'
/home/earth/android-ndk-gcc/bin/../sysroot/usr/include/sys/stat.h:129:23: note: previous definition of 'mkfifo' was here
oslib.c: In function 'mkfifo':
oslib.c:239:12: error: argument 'path' doesn't match prototype
/home/earth/android-ndk-gcc/bin/../sysroot/usr/include/sys/stat.h:129:23: error: prototype declaration
oslib.c:240:10: error: argument 'mode' doesn't match prototype
/home/earth/android-ndk-gcc/bin/../sysroot/usr/include/sys/stat.h:129:23: error: prototype declaration
Makefile:78: recipe for target 'oslib.o' failed
make[1]: *** [oslib.o] Error 1
make[1]: Leaving directory '/home/earth/project/bash-4.3/lib/sh'
Makefile:643: recipe for target 'lib/sh/libsh.a' failed
make: *** [lib/sh/libsh.a] Error 1
I am in no way experienced with compiling things, but i did manage to compile a simple helloworld.c program for my phone and run it successfully on the phone, which tells me the compiler works okay.
Can anyone give me more information on what's happening? Google returns almost nothing on any of these errors, especially the oslib.c errors.

You should check out the Android NDK documentation.  The NDK comes with a cross compiler specifically for android, with the correct versions of libraries, etc.  It comes with some examples showing how to build stuff for it.
EDIT: There is also an AUR package for it.
Last edited by tom5760 (2011-04-04 15:56:25)

Similar Messages

  • Create a cross compiler for arm

    I am struggling with building a cross toolchain, essentially it boils down to building these packages (in thegiven order):
    binutils gcc-base newlib gcc
    When done I am trying to compile a dummy cpp algorithm (euler gcd/ggT search) with no includes.
    What the cross toolchain spits at me is the following:
    $ arm-unknown-eabi-gcc -march=armv5te ./euklidisch_ggt.c -o ./euklidisch_ggt.bin.armv5te
    /usr/bin/arm-unknown-eabi-ld: skipping incompatible /usr/lib/gcc/arm-unknown-eabi/4.5.2/../../../../arm-unknown-eabi/lib/libc.a when searching for -lc
    /usr/bin/arm-unknown-eabi-ld: skipping incompatible /usr/arm-unknown-eabi/lib/libc.a when searching for -lc
    /usr/bin/arm-unknown-eabi-ld: cannot find -lc
    collect2: ld returned 1 exit status
    I wrote a little script to build it (as I got pretty much fed up doing it all by hund, round #7 just failed again)
    Note: it is semi-automated, you will still be requested to give your passwd to agree with install and blah
    Note: use it with arg "cleanup" to get rid of old installed packages (run as root)
    Note: use it to compile as user
    #!/bin/bash
    BUILDERUSER=buildmonkey
    PREFIX="/usr"
    TARGET="arm-unknown-eabi"
    PKGBUILDDIR="/home/${BUILDERUSER}/PKGBUILD"
    PKGS="binutils gcc-base newlib gcc"
    export PREFIX
    export TARGET
    export BUILDERUSER
    export PKGS
    export PKGBUILDDIR
    function cleanup
    for j in ${PKGS}
    do
    export j
    echo "Removing package ${TARGET}-${j}"
    su -c'pacman -R ${TARGET}-${j}'
    done
    function compile_and_install
    cd ${PKGBUILDDIR}
    echo ""
    echo ""
    echo "Compileing ${TARGET}-${1} ... "
    echo ""
    echo ""
    cd ./${TARGET}-${1}
    rm ./${TARGET}-${1}*
    makepkg -f || return 1
    su -c 'pacman -U ./${TARGET}-${1}*'
    echo ""
    if [ "${1}" == "cleanup" ]; then
    echo "cleanup requested...."
    cleanup
    exit 0
    fi
    if [ "$(id -u)" == "0" ]; then
    echo "This script must not be run as root!!" 1>&2
    exit 1
    fi
    echo ""
    if [ -d "${PKGBUILDDIR}" ]; then
    echo "PKGBUILD directory is ${PKGBUILDDIR}"
    else
    echo "PKGBUILD directory ${PKGBUILDDIR} is missing!!"
    exit 1
    fi
    echo "PKGs are ${PKGS}"
    echo ""
    for i in ${PKGS}
    do
    compile_and_install ${i}
    done
    exit 0
    The packagebuilds are as following (hacked away versions of the ones existing in AUR, which give me linker errors)
    binutils
    pkgname=arm-unknown-eabi-binutils
    pkgver=2.21
    pkgrel=1
    pkgdesc="A set of programs to assemble and manipulate binary and object files"
    arch=(i686 x86_64)
    license=(GPL)
    options=(!libtool)
    url="http://sources.redhat.com/binutils"
    depends=('glibc' 'zlib')
    source=(ftp://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.bz2)
    md5sums=('c84c5acc9d266f1a7044b51c85a823f5')
    build() {
    cd $srcdir/binutils-${pkgver}
    [ $NOEXTRACT -eq 1 ] || ./configure\
    --prefix=${PREFIX} \
    --program-prefix=${TARGET}- \
    --enable-shared \
    --disable-multilib \
    --with-lib-path=${PREFIX}/lib/binutils/{TARGET} \
    --disable-nls \
    --target=${TARGET} \
    --build=${CHOST} \
    --host=${CHOST}
    # mkdir -p $pkgdir/${PREFIX}/lib/binutils
    sed -i 's|know (S_GET_VALUE (frag->tc_frag_data.last_map) < S_GET_VALUE (symbolP));|{know (S_GET_VALUE (frag->tc_frag_data.last_map) < S_GET_VALUE (symbolP));}|' gas/config/tc-arm.c || return 1
    make configure-host
    make tooldir=$pkgdir/${PREFIX}
    make prefix=$pkgdir/${PREFIX} tooldir=$pkgdir/${PREFIX} install
    mkdir -p $pkgdir/${PREFIX}/lib/binutils/${TARGET}
    cp -v include/libiberty.h $pkgdir/${PREFIX}/lib/binutils/${TARGET}
    rm -f $pkgdir/${PREFIX}/man/man1/{dlltool,nlmconv,windres}*
    rm -f $pkgdir/usr/bin/ar
    rm -f $pkgdir/usr/bin/as
    rm -f $pkgdir/usr/bin/ld
    rm -f $pkgdir/usr/bin/nm
    rm -f $pkgdir/usr/bin/objdump
    rm -f $pkgdir/usr/bin/ranlib
    rm -f $pkgdir/usr/bin/strip
    rm -f $pkgdir/usr/bin/objcopy
    rm -f $pkgdir/usr/lib/libiberty.a
    rm -rf $pkgdir/usr/share
    rm -rf $pkgdir/usr/lib/ldscripts
    gcc-base
    pkgname=arm-unknown-eabi-gcc-base
    pkgver=4.5.2
    pkgrel=1
    pkgdesc="The GNU Compiler Collection"
    arch=(i686 x86_64)
    license=('GPL' 'LGPL')
    url="http://gcc.gnu.org"
    depends=('arm-unknown-eabi-binutils' 'libmpc' 'libelf' 'cloog-ppl')
    options=(!libtool !emptydirs zipman docs !strip)
    source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-core-${pkgver}.tar.bz2)
    md5sums=('aa9e36bec080452372bfba793428ee82')
    build() {
    cd $srcdir/gcc-$pkgver
    export CFLAGS="-O2 -pipe"
    export CXXFLAGS="-O2 -pipe"
    [ $NOEXTRACT -eq 1 ] || rm -rf build
    mkdir build
    cd build
    [ $NOEXTRACT -eq 1 ] || ../configure --prefix=${PREFIX} \
    --target=${TARGET} \
    --host=$CHOST \
    --build=$CHOST \
    --enable-shared \
    --disable-nls \
    --enable-languages=c \
    --enable-multilib \
    --with-local-prefix=${PREFIX}/lib/${TARGET} \
    --with-as=${PREFIX}/bin/${TARGET}-as \
    --with-ld=${PREFIX}/bin/${TARGET}-ld \
    --enable-softfloat \
    --with-float=soft \
    --with-newlib
    make all-gcc all-target-libgcc
    make DESTDIR=$pkgdir install-gcc install-target-libgcc
    rm -f $pkgdir/usr/share/man/man7/fsf-funding.7*
    rm -f $pkgdir/usr/share/man/man7/gfdl.7*
    rm -f $pkgdir/usr/share/man/man7/gpl.7*
    rm -rf $pkgdir/usr/share/info
    cp -r $pkgdir/usr/libexec/* $pkgdir/usr/lib/
    rm -rf $pkgdir/usr/libexec
    # strip it manually
    strip $pkgdir/usr/bin/* 2>/dev/null || true
    find $pkgdir/usr/lib -type f -exec arm-none-eabi-strip {} \; 2>/dev/null || true
    newlib
    pkgname=arm-unknown-eabi-newlib
    pkgver=1.19.0
    pkgrel=1
    pkgdesc="Newlib is a C library intended for use on embedded systems."
    arch=('i686' 'x86_64')
    groups=('devel')
    url="http://sourceware.org/newlib/"
    license=('GPL')
    depends=('arm-unknown-eabi-binutils' 'arm-unknown-eabi-gcc-base')
    source=(ftp://sources.redhat.com/pub/newlib/newlib-${pkgver}.tar.gz)
    md5sums=('0966e19f03217db9e9076894b47e6601')
    build() {
    cd ${srcdir}
    rm -rf build
    mkdir build
    cd build
    export CFLAGS="-O2"
    ../newlib-${pkgver}/configure \
    --target=${TARGET} \
    --prefix=${PREFIX} \
    --enable-interwork \
    --enable-multilib \
    --with-gnu-as \
    --with-gnu-ld \
    --with-float=soft \
    --disable-nls || return 1
    make || return 1
    make -j1 DESTDIR=${pkgdir} install || return 1
    rm -rf ${pkgdir}/usr/share/info
    return 0
    gcc:
    pkgname=arm-unknown-eabi-gcc
    pkgver=4.5.2
    pkgrel=1
    pkgdesc="The GNU Compiler Collection - Cross compiler for ARM target"
    arch=(i686 x86_64)
    license=('GPL' 'LGPL')
    url="http://gcc.gnu.org"
    #an installed libc/newlib is needed for libstdc++ compile
    depends=('arm-unknown-eabi-binutils>=2.18' 'cloog-ppl>=0.15.3' 'arm-unknown-eabi-newlib>=1.18.0')
    # cross-arm-none-eabi-gcc is an superset of cross-arm-none-eabi-gcc-base
    conflicts=('arm-unknown-eabi-gcc-base')
    provides=("arm-unknown-eabi-gcc-base=${pkgver}")
    options=(!libtool !emptydirs !strip zipman docs)
    source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2)
    md5sums=('d6559145853fbaaa0fd7556ed93bce9a')
    build() {
    cd ${srcdir}/gcc-$pkgver
    export CFLAGS="-O2 -pipe"
    export CXXFLAGS="-O2 -pipe"
    rm -rf build
    mkdir build
    cd build
    ../configure \
    --prefix=${PREFIX} \
    --target=${TARGET} \
    --build=${CHOST} \
    --host=${CHOST} \
    --disable-nls \
    --enable-multilib \
    --enable-languages=c,c++ \
    --enable-__cxa_atexit \
    --enable-interwork \
    --with-local-prefix=${PREFIX}/lib/${TARGET} \
    --with-as=${PREFIX}/bin/${TARGET}-as \
    --with-ld=${PREFIX}/bin/${TARGET}-ld \
    --with-newlib \
    --with-float=soft
    make all-gcc all-target-libgcc all-target-libstdc++-v3 || return 1
    make DESTDIR=${pkgdir} install-gcc install-target-libgcc install-target-libstdc++-v3 || return 1
    rm -f $pkgdir/usr/share/man/man7/fsf-funding.7*
    rm -f $pkgdir/usr/share/man/man7/gfdl.7*
    rm -f $pkgdir/usr/share/man/man7/gpl.7*
    rm -rf $pkgdir/usr/share/info
    rm -rf $pkgdir/usr/share/gcc-4.5.2
    cp -r $pkgdir/usr/libexec/* $pkgdir/usr/lib/ && \
    rm -rf $pkgdir/usr/libexec
    I already read linux from scratch howto for building cross compilers, though partly it contradicts with AUR comments especially in regard to --with-sysroot and --with-build-sysroot
    If someone can please shed some light on this, the gcc doc is not very helpfull
    Note: I know that a bare metal arm elf cross compiler exisis in the archlinux repository but that is not sufficient as I need different targets with some special options (where can I get the PKGBUILD from packages within the ABS?)

    Current targets are armv7vfpv3 and armv5te softfloat, this compiler(s) (afaik softfloat and hardfloat can not be put into one compiler, correct me if I am wrong) will be used as basis for kernel compileing for these architectures plus the basic packages (afaik called bootstrapping).
    And I knew it was not really newby stuff, but .. well .. after searching like 5 mins for an appropriate subforum I gave up and posted it just here, sorry
    The point is this is the basis for a lot of core packages and I just want to do it right (and atm it ain't working at all )
    Last edited by drahnr (2011-04-05 22:36:11)

  • Cross compiling for ARM (Android)

    Hello, everyone. I just rooted my Android phone (an LG Ally), and decided that a fun way to try and use my newfound freedom would be to cross-compile some programs for it like Busybox, Lua, a fresh copy of Python, and possibly even pacman. (Being able to use makepkg to compile phone software would be awesome.)
    I found the cross-arm-elf-binutils and cross-arm-gcc-base packages in community, so now the question is...how do I use them? From what I understand, it essentially comes down to bulding the software like normal, but using the executables from the cross-compiling package instead of the system installed ones. Is that basically right? Can you recommend any articles on cross-compiling in general, and for Android in particular?

    You should check out the Android NDK documentation.  The NDK comes with a cross compiler specifically for android, with the correct versions of libraries, etc.  It comes with some examples showing how to build stuff for it.
    EDIT: There is also an AUR package for it.
    Last edited by tom5760 (2011-04-04 15:56:25)

  • License for cross-compilation for solaris 10 sparc on Linux x86

    I'd like to do cross-compilation for solaris 10 sparc on Linux x86 using gcc (for linux). To do that, I have to copy libraries (/lib/64) and includes (/usr/include) from a sparc machine to my linux machine.
    The compilation will be run on about (up to) 50 Linux machines (by various developers). We also have 3 solaris-10-SPARC machines.
    I wonder if Solaris license allows me to copy the includes and libs to perform compilation elsewhere.
    I also checked "OTN License Agreement for Oracle Solaris", but it looks like Oracle allows for installing "the programs" on up to 3 machines, but I need it on 50.
    Thanks for any suggestions or redirections to a proper place where I can get an answer.
    Marek

    When installing Solaris 10 01/06 on a Dell 1850 I receive an error message during the install saying "no disk found". I assume that the drive/controller is not recognized. The Dell 1850 is listed under the HCL for Solaris 10 10/06. I don't believe I can use the Solaris(TM) Device Driver for the LSI MegaRAID Adapter floppy with 1/06. I don�t have any other Solaris boxes up so I can�t build a jump start server. Any suggestions?

  • Using makepkg to cross-compile (for sparc64)

    I recently acquired a Sun Ultra 5 system with a TI UltraSparc IIi CPU (sparc64).  I am in the middle of doing some compiling on it using Debian as the host system while dabbling into cross-compiling for it.  It would be superb to have a sparc64 toolchain installed and in the $PATH on a modern x86_64 system while using makepkg to cross-compile sparc64 packages.  I would copy /etc/makepkg.conf to a working directory, make the necessary changes, and run makepkg --config /working/dir/makepkg.conf.  makepkg would then (theoretically) pick up that I'm cross compiling, see the proper toolchain in the path, and cross compile.
    Is this possible?  If not, what kind of work/patching would be necessary to make it happen?

    cedeel wrote:A Sparc64 chroot isn't possible. The closest thing would be to run a chroot-like environment in QEMU.
    A cross toolchain should be preferred, although I have no idea on how to set it up.
    Yeah.  I'm building a toolchain atm.  As long as the PKGBUILDs know that I'm cross compiling, I should be okay.  There will be a bit of hand-cranking needed since not all sources use autotools.  Not really looking forward to cross-compiling openssl, and the kernel will take a bit of screwing around to work right, but, meh, that's part of the fun, right?  There's only 100-ish packages for a base install, so just getting to a functional system won't be too bad.
    I'm going to experiment with an auto-build system when I have the system running.  I'm very comfortable with bash scripting and am learning c++, so I have some good ideas.  I work as a sysadmin too, so I could even give some of the meatier servers at work an extra job to do.  That is, if all goes well
    Last edited by synthead (2012-01-02 20:18:18)

  • Announcing availability of  x86 hosted cross compiler for SPARC/Solaris

    We are pleased to announce the release for GCC For Sun Systems 4.2.0 cross compilers!
    This is a Solaris/x86 hosted compiler with target code generation for
    SPARC/Solaris systems. If you develop on your OpenSolaris, or Solaris
    x86 laptop or desktop, you can now start compiling your sources for
    SPARC systems. Almost all features available in the
    native SPARC GCC For Sun Systems 4.2.0 compiler are available
    for use in the cross compiler. Please refer to the mini cross compiler howto
    page for additional details on install and usage, and gotchas in cross
    development environment.
    Please continue to provide us your feedback and issues, which helps
    us make the product better.
    Thanks
    GCCFSS team

    Can GCCFSS also cross compile from in reverse - from SPARC to x86/x64?
    Thank you

  • Incident Management System for Mobile Phone (Android and IOS)

    Dear Solman Gurus,
    We have already Incident Management System in our Solman 7.1 .
    We are using it efficiently, but we want to use it in mobile phones also(android and ios).
    Also we have a web link and we can manage our incident management system in this link http://xxsolman.xxxxxxxx.com:8006/support . We are using for WEB also for Incident Management System.
    My question is ; how can i use it for Mobile Phone Operation systems(android and ios) ? Which guide should i follow ? Should i upgrade pacth or something in our solman ?
    Looks like Android application is : SAP IT Incident Management
    Best Regars

    Hi Kemal,
    You need to adopt the Mobile strategy for ITSM to use this. Broadly speaking, the ITSM apps can be accessible either via internet or intranet. If you plan to use the apps outside your company network then you would need Sybase tools to enable this as shown below;
    The detailed information is available here
    Mobile Applications for SAP IT Service Management - SAP IT Service Management on SAP Solution Manager - SCN Wiki
    Regards,
    Vivek

  • Problems cross compiling for Foxboard (cris-gcc)

    I am trying to compile the Berkeley DB for applications on a Foxboard from ACME and I am running into some problems that I cannot solve. Perhaps someone can help me.
    First problem is the configure. I use the following to configure:
    cd build_unix
    export prefix=/home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu
    export SYSTYPE=FOXBOARD
    export CCFLAGS="-isystem $prefix/include -isystem $prefix/usr/include"
    export CPPFLAGS="-isystem $prefix/include -isystem $prefix/usr/include"
    export RANLIB=ranlib
    export STRCASE="strcasecmp.o"
    export LDFLAGS="-Wl,-rpath-link,$prefix/lib,-rpath-link,$prefix/usr/lib"
    export SYSLIBS="-Wl,-rpath-link,$prefix/lib,-rpath-link,$prefix/usr/lib"
    export AUXLIBS=$AUXLIBS
    export AR=ar-cris
    export ARFL=$ARFL
    export RANLIB=$RANLIB
    export SYSLIBS="$AUXLIBS $SYSLIBS"
    export CC=gcc_cris $CCARGS
    export OPT=$OPT
    export DEBUG=$DEBUG
    export AWK=awk
    ../dist/configure          \
         --disable-largefile     \
         --disable-static     \
         --enable-smallbuild     \
         --host=i386-pc-linux-gnu \
         --target=cris-linux     \
         --enable-uimutexes     \
         --prefix $prefix/mnt/1
    This works, but it produces the following messages:
    configure: WARNING: sys/time.h: present but cannot be compiled
    configure: WARNING: sys/time.h: check for missing prerequisite headers?
    configure: WARNING: sys/time.h: see the Autoconf documentation
    configure: WARNING: sys/time.h: section "Present But Cannot Be Compiled"
    configure: WARNING: sys/time.h: proceeding with the preprocessor's result
    configure: WARNING: sys/time.h: in the future, the compiler will take precedence
    configure: WARNING: ## ---------------------------------------------------------- ##
    configure: WARNING: ## Report this to Oracle Technology Network Berkeley DB forum ##
    configure: WARNING: ## ---------------------------------------------------------- ##
    checking for sys/time.h... yes
    checking sys/fcntl.h usability... no
    checking sys/fcntl.h presence... yes
    configure: WARNING: sys/fcntl.h: present but cannot be compiled
    configure: WARNING: sys/fcntl.h: check for missing prerequisite headers?
    configure: WARNING: sys/fcntl.h: see the Autoconf documentation
    configure: WARNING: sys/fcntl.h: section "Present But Cannot Be Compiled"
    configure: WARNING: sys/fcntl.h: proceeding with the preprocessor's result
    configure: WARNING: sys/fcntl.h: in the future, the compiler will take precedence
    configure: WARNING: ## ---------------------------------------------------------- ##
    configure: WARNING: ## Report this to Oracle Technology Network Berkeley DB forum ##
    configure: WARNING: ## ---------------------------------------------------------- ##
    Because I assume this is the forum they are talking about, I decided to obey the suggestion and report it here.
    Do I need to be worried?
    Laurent-jan

    The problems are in the configure-step. So here is from config.log:
    <pre>
    configure:23212: checking sys/time.h usability
    configure:23229: gcc_cris -c -Os -isystem /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/include -isystem /home/foxboard/devboa
    rd-R2_10/target/cris-axis-linux-gnu/usr/include -D_GNU_SOURCE -D_REENTRANT conftest.c >&5
    In file included from /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/include/sys/time.h:4,
    from conftest.c:44:
    /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/include/linux/types.h:59: conflicting types for `clock_t'
    /usr/local/cris/cris-axis-elf/include/time.h:36: previous declaration of `clock_t'
    configure:23235: $? = 1
    configure: failed program was:
    | /* confdefs.h. */
    | #define PACKAGE_NAME "Berkeley DB"
    | #define PACKAGE_TARNAME "db-4.5.20"
    | #define PACKAGE_VERSION "4.5.20"
    | #define PACKAGE_STRING "Berkeley DB 4.5.20"
    | #define PACKAGE_BUGREPORT "Oracle Technology Network Berkeley DB forum"
    | #define HAVE_SYS_STAT_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_UNISTD_H 1
    | /* end confdefs.h. */
    | #include <stdio.h>
    | #if HAVE_SYS_TYPES_H
    | # include <sys/types.h>
    | #endif
    | #if HAVE_SYS_STAT_H
    | # include <sys/stat.h>
    | #endif
    | #if STDC_HEADERS
    | # include <stdlib.h>
    | # include <stddef.h>
    | #else
    | # if HAVE_STDLIB_H
    | # include <stdlib.h>
    | # endif
    | #endif
    | #if HAVE_STRING_H
    | # if !STDC_HEADERS && HAVE_MEMORY_H
    | # include <memory.h>
    | # endif
    | # include <string.h>
    | #endif
    | #if HAVE_STRINGS_H
    | # include <strings.h>
    | #endif
    | #if HAVE_INTTYPES_H
    | # include <inttypes.h>
    | #endif
    | #if HAVE_STDINT_H
    | # include <stdint.h>
    | #endif
    | #if HAVE_UNISTD_H
    | # include <unistd.h>
    | #endif
    | #include <sys/time.h>
    configure:23266: result: no
    configure:23270: checking sys/time.h presence
    configure:23285: gcc_cris -E -isystem /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/include -isystem /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/usr/include -D_GNU_SOURCE -D_REENTRANT conftest.c
    configure:23291: $? = 0
    configure:23312: result: yes
    configure:23325: WARNING: sys/time.h: present but cannot be compiled
    configure:23327: WARNING: sys/time.h: check for missing prerequisite headers?
    configure:23329: WARNING: sys/time.h: see the Autoconf documentation
    configure:23331: WARNING: sys/time.h: section "Present But Cannot Be Compiled"
    configure:23333: WARNING: sys/time.h: proceeding with the preprocessor's result
    configure:23335: WARNING: sys/time.h: in the future, the compiler will take precedence
    configure:23345: checking for sys/time.h
    configure:23353: result: yes
    configure:23212: checking sys/fcntl.h usability
    configure:23229: gcc_cris -c -Os -isystem /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/include -isystem /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/usr/include -D_GNU_SOURCE -D_REENTRANT conftest.c >&5
    In file included from /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/include/asm-generic/fcntl.h:4,
    from /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/include/asm/fcntl.h:1,
    from /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/include/sys/fcntl.h:4,
    from conftest.c:45:
    /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/include/linux/types.h:59: conflicting types for `clock_t'
    /usr/local/cris/cris-axis-elf/include/time.h:36: previous declaration of `clock_t'
    configure:23235: $? = 1
    configure: failed program was:
    | /* confdefs.h. */
    | #define PACKAGE_NAME "Berkeley DB"
    | #define PACKAGE_TARNAME "db-4.5.20"
    | #define PACKAGE_VERSION "4.5.20"
    | #define PACKAGE_STRING "Berkeley DB 4.5.20"
    | #define PACKAGE_BUGREPORT "Oracle Technology Network Berkeley DB forum"
    | #define HAVE_SYS_STAT_H 1
    | #define HAVE_STDLIB_H 1
    | #define HAVE_UNISTD_H 1
    | #define HAVE_SYS_TIME_H 1
    | /* end confdefs.h. */
    | #include <stdio.h>
    | #if HAVE_SYS_TYPES_H
    | # include <sys/types.h>
    | #endif
    | #if HAVE_SYS_STAT_H
    | # include <sys/stat.h>
    | #endif
    | #if STDC_HEADERS
    | # include <stdlib.h>
    | # include <stddef.h>
    | #else
    | # if HAVE_STDLIB_H
    | # include <stdlib.h>
    | # endif
    | #endif
    | #if HAVE_STRING_H
    | # if !STDC_HEADERS && HAVE_MEMORY_H
    | # include <memory.h>
    | # endif
    | # include <string.h>
    | #endif
    | #if HAVE_STRINGS_H
    | # include <strings.h>
    | #endif
    | #if HAVE_INTTYPES_H
    | # include <inttypes.h>
    | #endif
    | #if HAVE_STDINT_H
    | # include <stdint.h>
    | #endif
    | #if HAVE_UNISTD_H
    | # include <unistd.h>
    | #endif
    | #include <sys/fcntl.h>
    configure:23266: result: no
    configure:23270: checking sys/fcntl.h presence
    configure:23285: gcc_cris -E -isystem /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/include -isystem /home/foxboard/devboard-R2_10/target/cris-axis-linux-gnu/usr/include -D_GNU_SOURCE -D_REENTRANT conftest.c
    configure:23291: $? = 0
    configure:23312: result: yes
    configure:23325: WARNING: sys/fcntl.h: present but cannot be compiled
    configure:23327: WARNING: sys/fcntl.h: check for missing prerequisite headers?
    configure:23329: WARNING: sys/fcntl.h: see the Autoconf documentation
    configure:23331: WARNING: sys/fcntl.h: section "Present But Cannot Be Compiled"
    configure:23333: WARNING: sys/fcntl.h: proceeding with the preprocessor's result
    configure:23335: WARNING: sys/fcntl.h: in the future, the compiler will take precedence
    configure:23345: checking for sys/fcntl.h
    configure:23353: result: yes
    </pre>
    Running the configure again results in the same messages (which is logical) but now fails with:
    <pre>
    checking for unistd.h... (cached) yes
    checking for off_t... no
    configure: error: No off_t type.
    </pre>
    Crosscompiling is not as easy as it looks. Thanks for looking into this.
    Laurent-jan

  • Cross compiling for 5.8 sparc

    Hi all,
    is it possible to generate code for solaris 5.8 on a 5.10 machine with sunstudio 12?
    I haven't seen any option for this in the manual pages of CC.
    regards
    Arno

    Is there some other stratigie that we can do, to develop on the new machine with the actual SunStudio and also support our customer, which have 5.8 as a target???
    I don't want to test to diffrent relesases, for the same platform.
    regards
    Arno

  • Good instructions for making a GCC cross compiler?

    Hi
    I think this might be the best place to ask this since people probably have been making cross compilers. I am interested in trying to make a cross compiler of GCC targetting Plan9/i386. There is an old 3.0 version of GCC (http://cm.bell-labs.com/sources/extra/gcc/) ported to Plan9.
    The thing that confuses me a bit about cross compilers is the use of binutils for the target architecture. How does that actually work? The host OS/architecture would not be able to execute those binaries. It feels a bit like a chicken-and-egg issure and I am not really sure how to get started. I have been trying to read up a bit on the PKGBUILDs for cross-arm but the whole theoretical issue of how to actually get the thing working in the first place is still a bit unclear to me.
    Some good instructions/links/help would be appreciated
    I could post my temporary PKGBUILD here if people want to help out with the actual build...

    A small update to my attempts:
    This is my binutils package, it has failed at multiple levels during my attempts. The binutils ported to Plan9 are relatively old so some stuff needs to be patched up to build. Now it fails on not being able to recognize arlex.o . This seems a bit odd I think.
    # Adapted from cross-arm-elf, cross-i686-pc-gnu and cross-i686-pc-mingw32
    pkgname=cross-i386-plan9-binutils
    pkgver=2.11.2
    pkgrel=1
    pkgdesc="The GNU Compiler Collection - Cross compiler for Plan9 i386 target"
    arch=('i686' 'x86_64')
    license=('GPL')
    url="http://plan9.bell-labs.com/wiki/plan9/porting_alien_software_to_plan_9/index.html"
    depends=('glibc' 'zlib')
    options=('!libtool' '!distcc' '!ccache')
    source=('http://plan9.bell-labs.com/sources/extra/gcc/gnusrc.tgz' \
    'bucommh.patch')
    md5sums=('39d23b7223b68de4cf333205257112ce' \
    '2945c4e40dbcd966217ed1349195e312')
    _target=i386-lucent-plan9
    _sysroot=/usr/lib/cross-${_target}
    build() {
    rm -rf ${srcdir}/build
    mkdir ${srcdir}/build #starting fresh
    msg "building and packaging binutils"
    cp -ar ${srcdir}/binutils-2.11.2/* ${srcdir}/build/
    cd ${srcdir}/build
    msg "cheating broken references to Plan9-ported GNU binutils"
    ln -s /usr/bin/ar "${_target}-ar"
    ln -s /usr/bin/as "${_target}-as"
    ln -s /usr/bin/ld "${_target}-ld"
    ln -s /usr/bin/ranlib "${_target}-ranlib"
    PATH=${srcdir}/build:$PATH
    CFLAGS='-O2 -static'
    msg "patching up stuff"
    cd ${srcdir}/build/binutils
    patch bucomm.h -i $srcdir/bucommh.patch
    msg "going back to build directory and start configure"
    cd ${srcdir}/build
    ./configure --prefix=${_sysroot} --bindir=/usr/bin \
    --with-sysroot=${_sysroot} \
    --build=$CHOST --host=$CHOST --target=${_target} \
    --with-gcc --with-gnu-as --with-gnu-ld \
    --enable-shared --without-included-gettext \
    --disable-nls --disable-debug
    msg "fixing some corrupt libraries"
    cp /usr/lib/libiberty.a ${srcdir}/build/libiberty/
    msg "finally making the actual binutils"
    cd ${srcdir}/build
    make
    make DESTDIR=$pkgdir/ install
    # clean-up cross compiler root
    rm -r ${pkgdir}/${_sysroot}/share/{info,man}
    # needed for gcc build
    install -dm755 ${pkgdir}/${_sysroot}/include
    this is the bucommh.patch:
    81c81
    < extern char *sbrk ();
    > extern void *sbrk ();
    Last edited by W.F.Cody (2011-09-13 18:57:17)

  • Fortran code for iOS using GCC cross-compiler

    Hello everyone!
    I have some Fortran application, and i want to compile it for iOS. I'm new in iOS development and  as i understand correctly i need to configure GCC (from gcc.gnu.org) with --target=arm-apple-darwin and --enable-languages=c,c++, fortran.
    With --target=arm-elf, --target=arm-apple-darwin i got error, that it's not supported.
    With --target=arm-none-eabi i got cannot compute suffix of object files: cannot compile Maybe is that because i'm setting wrong configure parameters.
    My question is : what is correct ./confgiure parameters to create gcc cross compiler for iOS platform, which supports FORTRAN.
    Is this the only (right?) way to build cross-compiler for iOS platform, or i could use existing LLVM-GCC? Thanks!

    jasonwryan, thanks for the reply,
    I've read the ARM Dev Guide as suggested but I don't believe this will do what I'm aiming to achieve. It seems the ARM Dev Guide will install the arm-linux-gnueabi, which allows cross-compiling applications to run on LINUX built for ARM. I need something like arm-none-eabi (or arm-none-gnueabi - the whole naming scheme is a mess at the moment) which is an ARM compiler for "bare metal" ARM devices. I am aiming to program a simple ARM Cortex M4 microcontroller as opposed to an ARM microprocessor running Linux. Hence arm-linux-gnueabi is quite overkill from my understanding and it might even not work.
    So, if someone could either confirm that what the ARM Dev Guide suggests is indeed what I need to program a bare metal ARM microcontroller, or recommend an alternative path, it would be very appreciated.
    Thanks,
    -Igor

  • [SOLVED] cross compiling libopenfst makepkg error

    Hello there,
    I am trying to cross compile openfst on my 64 bit arch setup since it is taking too long on my raspberry pi (which also happily runs arch). I thought I would be ok with the following makepkg to get me a binary package which I could transfer to my pi and then install with pacman-U:
    # Maintainer: Christoph Drexler <chrdr at gmx dot at>
    pkgname=openfst
    pkgver=1.4.1
    pkgrel=1
    pkgdesc="Library for constructing, combining, optimizing, and searching weighted finite-state transducers (FSTs)"
    arch=('i686' 'x86_64' 'armv6h')
    url="http://www.openfst.org/"
    license=('APACHE')
    depends=('gcc-libs' 'glibc')
    options=(!libtool)
    source=("http://openfst.cs.nyu.edu/twiki/pub/FST/FstDownload/${pkgname}-${pkgver}.tar.gz")
    md5sums=('ca8f1730b9b9b281e515611fa9ae23c0')
    build() {
    cd ${srcdir}/${pkgname}-${pkgver}
    #export CXX=arm-linux-gnueabi-g++
    #export CC=arm-linux-gnueabi-gcc
    # Options according to http://openfst.cs.nyu.edu/twiki/bin/view/FST/ReadMe
    OPTIONS="--prefix=/usr --disable-dependency-tracking"
    OPTIONS+=" --enable-bin" # Enable fst::script and command-line binaries; Default: yes
    OPTIONS+=" --enable-compact-fsts" # Enable all CompactFst classes; Default: no
    OPTIONS+=" --enable-const-fsts" # Enable all ConstFst classes; Default: no
    OPTIONS+=" --enable-far" # Enable FAR (FST Archive) extension; Default: no
    OPTIONS+=" --enable-linear-fsts" # Enable Linear{Tagger,Classifier}Fst extensions; Default: no
    OPTIONS+=" --enable-lookahead-fsts" # Enable LookAheadFst classes; Default: no
    OPTIONS+=" --enable-pdt" # Experimental push-down transducer extensions; Default: no
    OPTIONS+=" --host=arm-linux-gnueabi" # Experimental push-down transducer extensions; Default: no
    OPTIONS+=" --build=x86_64" # Experimental push-down transducer extensions; Default: no
    LIBS="-ldl" ./configure $OPTIONS
    make
    package() {
    cd ${srcdir}/${pkgname}-${pkgver}
    make DESTDIR=${pkgdir} install
    (basically adding the host and build option)
    However, I get an error in the output:
    ==> Making package: openfst 1.4.1-1 (Sun Jan 11 16:13:22 CET 2015)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving sources...
    -> Found openfst-1.4.1.tar.gz
    ==> Validating source files with md5sums...
    openfst-1.4.1.tar.gz ... Passed
    ==> Extracting sources...
    -> Extracting openfst-1.4.1.tar.gz with bsdtar
    ==> Removing existing $pkgdir/ directory...
    ==> Starting build()...
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for arm-linux-gnueabi-strip... arm-linux-gnueabi-strip
    checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking for arm-linux-gnueabi-g++... arm-linux-gnueabi-g++
    checking whether the C++ compiler works... no
    configure: error: in `/home/tom/openfst-1.4.1/src/openfst-1.4.1':
    configure: error: C++ compiler cannot create executables
    See `config.log' for more details
    ==> ERROR: A failure occurred in build().
    Aborting...
    the error being that the C++ compiler cannot create excecutables makes sense since they are not meant to be excecuted on x86_64 but for armv6h (cross compilation). I have checked with arm-linux-gnueabi-g++ and its excecutables I can run on my pi so this should be ok. I am guessing that I am either missing an option to disable the compiler check, or I should change the configure script and remove this check, but I cannot figure out how to do either...
    //edit: I'm not sure this topic is in the right place btw, maybe it should be in scripting...
    Last edited by tomzooi (2015-01-11 18:23:35)

    that seems to do the trick, I'm not gonna test it since my pi just finished compiling it locally (which took 12+hours or so), but the compile seems to work since they are not excecutable on 64 bit, so pkgbuild for raspi cross compilation using makepkg -s:
    # Maintainer: Christoph Drexler <chrdr at gmx dot at>
    pkgname=openfst
    pkgver=1.4.1
    pkgrel=1
    pkgdesc="Library for constructing, combining, optimizing, and searching weighted finite-state transducers (FSTs)"
    arch=('i686' 'x86_64' 'armv6h')
    url="http://www.openfst.org/"
    license=('APACHE')
    depends=('gcc-libs' 'glibc')
    options=(!libtool !buildflags)
    source=("http://openfst.cs.nyu.edu/twiki/pub/FST/FstDownload/${pkgname}-${pkgver}.tar.gz")
    md5sums=('ca8f1730b9b9b281e515611fa9ae23c0')
    build() {
    cd ${srcdir}/${pkgname}-${pkgver}
    # Options according to http://openfst.cs.nyu.edu/twiki/bin/view/FST/ReadMe
    OPTIONS="--prefix=/usr --disable-dependency-tracking"
    OPTIONS+=" --enable-bin" # Enable fst::script and command-line binaries; Default: yes
    OPTIONS+=" --enable-compact-fsts" # Enable all CompactFst classes; Default: no
    OPTIONS+=" --enable-const-fsts" # Enable all ConstFst classes; Default: no
    OPTIONS+=" --enable-far" # Enable FAR (FST Archive) extension; Default: no
    OPTIONS+=" --enable-linear-fsts" # Enable Linear{Tagger,Classifier}Fst extensions; Default: no
    OPTIONS+=" --enable-lookahead-fsts" # Enable LookAheadFst classes; Default: no
    OPTIONS+=" --enable-pdt" # Experimental push-down transducer extensions; Default: no
    OPTIONS+=" --host=arm-linux-gnueabi" # Experimental push-down transducer extensions; Default: no
    OPTIONS+=" --build=x86_64" # Experimental push-down transducer extensions; Default: no
    LIBS="-ldl" ./configure $OPTIONS
    make
    package() {
    cd ${srcdir}/${pkgname}-${pkgver}
    make DESTDIR=${pkgdir} install
    to get some stuff which I think I can ignore:
    strip: Unable to recognise the format of the input file `./usr/bin/fstprint'
    strip: Unable to recognise the format of the input file `./usr/bin/farprintstrings'
    strip: Unable to recognise the format of the input file `./usr/bin/fstmap'
    strip: Unable to recognise the format of the input file `./usr/bin/fstsynchronize'
    strip: Unable to recognise the format of the input file `./usr/bin/fstdraw'
    strip: Unable to recognise the format of the input file `./usr/bin/fstepsnormalize'
    strip: Unable to recognise the format of the input file `./usr/bin/fstdisambiguate'
    strip: Unable to recognise the format of the input file `./usr/bin/fstunion'
    strip: Unable to recognise the format of the input file `./usr/bin/pdtexpand'
    strip: Unable to recognise the format of the input file `./usr/bin/fstminimize'
    strip: Unable to recognise the format of the input file `./usr/bin/fsttopsort'
    strip: Unable to recognise the format of the input file `./usr/bin/pdtreplace'
    strip: Unable to recognise the format of the input file `./usr/bin/fstreverse'
    strip: Unable to recognise the format of the input file `./usr/bin/fstsymbols'
    strip: Unable to recognise the format of the input file `./usr/bin/farequal'
    strip: Unable to recognise the format of the input file `./usr/bin/fstequal'
    strip: Unable to recognise the format of the input file `./usr/bin/fstcompile'
    strip: Unable to recognise the format of the input file `./usr/bin/fstshortestpath'
    strip: Unable to recognise the format of the input file `./usr/bin/farinfo'
    strip: Unable to recognise the format of the input file `./usr/bin/fstrandgen'
    strip: Unable to recognise the format of the input file `./usr/bin/fstshortestdistance'
    strip: Unable to recognise the format of the input file `./usr/bin/fstarcsort'
    strip: Unable to recognise the format of the input file `./usr/bin/fstrmepsilon'
    strip: Unable to recognise the format of the input file `./usr/bin/fstconvert'
    strip: Unable to recognise the format of the input file `./usr/bin/fstreplace'
    strip: Unable to recognise the format of the input file `./usr/bin/farcompilestrings'
    strip: Unable to recognise the format of the input file `./usr/bin/fstencode'
    strip: Unable to recognise the format of the input file `./usr/bin/fstpush'
    strip: Unable to recognise the format of the input file `./usr/bin/pdtshortestpath'
    strip: Unable to recognise the format of the input file `./usr/bin/fstinfo'
    strip: Unable to recognise the format of the input file `./usr/bin/fstrelabel'
    strip: Unable to recognise the format of the input file `./usr/bin/fstinvert'
    strip: Unable to recognise the format of the input file `./usr/bin/fstconcat'
    strip: Unable to recognise the format of the input file `./usr/bin/fstintersect'
    strip: Unable to recognise the format of the input file `./usr/bin/pdtreverse'
    strip: Unable to recognise the format of the input file `./usr/bin/fstclosure'
    strip: Unable to recognise the format of the input file `./usr/bin/fstdeterminize'
    strip: Unable to recognise the format of the input file `./usr/bin/fstcompose'
    strip: Unable to recognise the format of the input file `./usr/bin/fstlinear'
    strip: Unable to recognise the format of the input file `./usr/bin/pdtcompose'
    strip: Unable to recognise the format of the input file `./usr/bin/farcreate'
    strip: Unable to recognise the format of the input file `./usr/bin/fstdifference'
    strip: Unable to recognise the format of the input file `./usr/bin/fstloglinearapply'
    strip: Unable to recognise the format of the input file `./usr/bin/fstprune'
    strip: Unable to recognise the format of the input file `./usr/bin/pdtinfo'
    strip: Unable to recognise the format of the input file `./usr/bin/fstproject'
    strip: Unable to recognise the format of the input file `./usr/bin/farextract'
    strip: Unable to recognise the format of the input file `./usr/bin/fstequivalent'
    strip: Unable to recognise the format of the input file `./usr/bin/fstconnect'
    strip: Unable to recognise the format of the input file `./usr/bin/fstreweight'
    strip: Unable to recognise the format of the input file `./usr/lib/libfst.so.3.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact8_acceptor-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact8_string-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/libfstfar.so.1.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/const16-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact8_weighted_string-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/arc_lookahead-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/const64-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/libfstlinearscript.so.1.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact16_string-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact16_unweighted-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/libfstlookahead.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/linear_classifier-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/linear_tagger-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact16_acceptor-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/libfstcompact.so.1.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/olabel_lookahead-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/const8-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact16_weighted_string-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact16_unweighted_acceptor-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact64_string-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/libfstconst.so.1.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/ilabel_lookahead-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact64_unweighted-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact64_weighted_string-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/libfstfarscript.so.1.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact8_unweighted_acceptor-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/libfstpdtscript.so.1.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact8_unweighted-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact64_unweighted_acceptor-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/fst/compact64_acceptor-fst.so.0.0.0'
    strip: Unable to recognise the format of the input file `./usr/lib/libfstscript.so.1.0.0'
    I will check soon I hope , for now will mark it as solved.

  • Cross-Compilation

    Hi,
    I'm trying to crosss-compile a rather large project to arm, more precisly N900.
    The project contains boost_program_options and tinyxml, that might meen trouble
    in the future but first the basic compiler
    Tried the scratchbox on arch but that failed on install maybe, I'llretry.
    So i've installed the cross-arm-elf-* packages and (in a perfect world) I would
    expect to change the compiler in the makefile from g++ to arm-elf-gcc. But
    that didn't do the trick.
    arm-elf-gcc: error: makeutil/getdep.cpp: C++ compiler not installed on this system.
    arm-elf-gcc -v tells me --enable-languages=c
    Is there a c++ compiler for arm? Yes there is.
    Installed the arm-none-linux-gnueabi-g++ but that one doesn't know #include <set>
    Am I missing something?
    So far very happy with arch, don't want to go back to debian just because of that.
    greetings
    The_Tall1
    Last edited by The_Tall1 (2011-05-19 13:42:57)

    I am a little confused by this:
    > Do the arm-none-eabi toolchain libraries support the C++ standard template
    > libraries?? If not, is there any easy way to implement this support, perhaps
    > for a subset of the STL?
    Yes, our releases include the STL as part of the C++ runtime library.
    So the internal linking must be wrong. I'll have a closer look about that.

  • Cross compiling in Embedded /LabVIEW

    Hi,
    I am trying to create an embedded  Unix UI App .I have installed cygwin with cross compiling gcc.
    while trying to build an app i get the following errors:
    In file included from C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/blockdiagram/MemCheck.h:24,
                     from C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/blockdiagram/LVCCG.h:37,
                     from C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/blockdiagram/LVCGenIncludes.​h:15,
                     from /cygdrive/d/EddyCurrent/Microprocessor/Unix UI/Unix_UI/UI_Application/lvEmbeddedMain.c:20:
    C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/blockdiagram/LVCritSect.h:22​: Invalid token in expression
    In file included from C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/blockdiagram/CCGDataSupport.​h:40,
                     from C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/frontpanel/CCGChartGraphSupp​.h:16,
                     from C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/frontpanel/CCGCtlSupport.h:2​2,
                     from C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/blockdiagram/LVCGenIncludes.​h:17,
                     from /cygdrive/d/EddyCurrent/Microprocessor/Unix UI/Unix_UI/UI_Application/lvEmbeddedMain.c:20:
    C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/blockdiagram/CCGFXPSupport.h​:573: badly punctuated parameter list in `#define'
    C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/blockdiagram/CCGFXPSupport.h​:623: badly punctuated parameter list in `#define'
    In file included from C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/comms/CCGCommsSupport.h:19,
                     from C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/blockdiagram/LVCGenIncludes.​h:19,
                     from /cygdrive/d/EddyCurrent/Microprocessor/Unix UI/Unix_UI/UI_Application/lvEmbeddedMain.c:20:
    C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/comms/CCGTcpUdpSupport.h:24: Invalid token in expression
    C:/Program Files/National Instruments/LabVIEW 2009/CCodeGen/include/comms/CCGTcpUdpSupport.h:36: Invalid token in expression
    make: *** [/cygdrive/d/EddyCurrent/Microprocessor/Unix UI/Unix_UI/UI_Application/lvEmbeddedMain.o] Error 1
    How to overcome this error?All are header file errors.
    This is the first time i am trying to cross compile.
    without cross compiling i can build my app. But how to do with cross compiling....
    I have followed the steps gn in Microprocessor SDK Porting labview to new platform.
    can anyone help me pls.........
    regards,
    Indumathi.C
    LabVIEW Developer.

    Hi Anshul,
    Its not possible with "Query Browser". One thing possible which is possible is,it need not be a single row, you can divide the labels in any number of rows and any number of columns. See the below example. The yellow highlighted ones are the labels of chart, the greyish ones are the corresponding values for the labels. The sequence will be the same.
    If you dont need this way, then there are two best ways to achieve cross tab functionality.
    One thing you can do is, you can directly connect the Bex queries to the Dashboard using BICS Net weaver connection.
    But this way you can only Publish-Launch in BW. The dashboard cannot be made available in Infoview/Launch Pad.
    Other way is through Webi and BIWS connection. As Suman has mentioned.
    This way it ll be available in Infoview/Launch Pad and BW as well.
    Thanks,
    Sara

  • Binutils and GCC version interdependencies? (cross compiler)

    Hi
    I have started again with trying to set up a cross compiler for the i386-plan9 target.
    There is a very old port of the GNU toolchain to Plan9, which can be found at:
    http://plan9.bell-labs.com/sources/extra/gcc/gnusrc.tgz
    I tried apply the changes made to binutils (the first step in setting up a cross compiler) in a modern release, but during make, there was a complaint about not finding the i386_plan9_vec (I had changed the bfd/config.bfd and all the other stuff I could find by googling).
    Because of this, I have now built the old (2.11.2) binutils from the original port (some cleaning up and minor source changes were needed to build on modern glibc, typedef change of sbrk for example).
    This temporary build can be found at:
    https://aur.archlinux.org/packages/i386-plan9-binutils/
    The purpose of building this old version temporarily was to move on to the next steps and get the compiler and C library working (the two following steps for a cross compiler) to at least have a proof-of-concept cross compiler set up.
    What I wonder now is : What is the newest version of GCC that can be expected to work using binutils 2.11.2?
    I have not found any tables with version dependencies anywhere.
    If anyone is interested in helping out experimenting, a tip for easy testing on Plan9 is to run Plan9 under 9vx
    https://aur.archlinux.org/packages/9vx-hg/
    https://wiki.archlinux.org/index.php/9vx
    and try to execute resulting binaries from the cross compiler (that is at least the way I am going to try it out until I know that it works, and then I plan to take the toolchain native).

    W.F.Cody wrote:What I wonder now is : What is the newest version of GCC that can be expected to work using binutils 2.11.2?
    Hrm...  that is around 2006...  gcc-4.0 was released then.   I'd guess a few version newer would work too.

Maybe you are looking for