Cross compile kernel

I have compiled a few kernels in an environment in which it's designed to run on - but cross compiling is completely new to me. However - I will persevere because I have wanted to learn this for a while now.
The target system is an arm based board for a NAS. I am using QEMU to install and configure a Debian system but it requires a working kernel in order to boot.
I have installed the arm-elf-gcc-base package (which I assume is the toolchain - am I wrong on this?) but I don't know where to go from there.
How do I invoke this particular toolchain to compile a kernel for the target arch?
Any other pointers or 'gotchas' would be greatly appreciated.
Thank you.

Which board is it?
Even if you manage to cross compile, kernel will need some extra configuration or patching to boot in qemu.
I have Raspberry Pi and qemu needs custom kernel to boot RPi images, but it's almost useless since there is
no support for network adapter. I have never cross compiled anything for it, but you might want to read on RPi
kernel cross compilation since there is a lot of documentation and you probably need just a different toolchain.
What I'm doing is distributed cross compiling via distcc. That way most of work gets done on my laptop, but it's
still quite slow because makepkg doesn't support distcc pump for distributing pre-processing.
I'm using toolchain provided by Arch Linux ARM project because I run Arch on RPi. If you can find crosstool config for
your board, making toolchain shouldn't be too difficult. This should get you started.

Similar Messages

  • [SOLVED] Confusion about cross-compiling kernel

    I have a MacBook Pro running Mac OS X, and my Arch laptop.
    They have different processors (but both Core 2 Duo).
    How do I go about compiling the kernel on my Mac, for my Arch machine?
    (I'm just going to try compiling the stock Arch kernel at first, then perhaps add the flag in .config for Core2Duo optimisations. Latest kernel.)
    Last edited by chrispoole (2009-05-29 12:53:14)

    If you're running an Intel Mac, maybe x-compiling won't be necessary.
    I think you need to download a toolchain for your target architecture, set it up and compile the kernel *w/ that toolchain*, not w/ your regular one.
    I'd suggest grabbing CRUX http://crux.nu/. Compiling the kernel is part of the standard installation process. CRUX is somewhat similar to Arch, w/ the notable omission of pacman.
    If playing w/ kernel is all you want, set up some sandbox space and give it a go. No need for x-compiling etc.
    Last edited by karol (2009-05-29 12:16:39)

  • 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)

  • [Solved]Error compiling kernel from abs

    Hello Everyone,
    I've hit a wall trying to compile the kernel from the abs. I get this error message:
    patching file fs/fat/inode.c
    Hunk #1 succeeded at 800 (offset 74 lines).
    HOSTCC scripts/basic/fixdep
    /bin/sh: scripts/basic/fixdep: cannot execute binary file
    make[2]: *** [scripts/basic/fixdep] Error 126
    make[1]: *** [scripts_basic] Error 2
    SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_32.h
    SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_64.h
    make: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop.
    make: *** Waiting for unfinished jobs....
    HOSTCC scripts/basic/fixdep
    SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_x32.h
    SYSTBL arch/x86/syscalls/../include/generated/asm/syscalls_32.h
    /bin/sh: scripts/basic/fixdep: cannot execute binary file
    make[1]: *** [scripts/basic/fixdep] Error 126
    make: *** [scripts_basic] Error 2
    ==> ERROR: A failure occurred in build().
    Aborting...
    While trying to figure this out I came across this post: https://bbs.archlinux.org/viewtopic.php?id=99089 and have tried the solutions presented. I did end up having to change my fstab to include defaults,
    /dev/sda3 /home ext4 defaults,exec,rw,relatime,data=ordered 0 2
    and the permissions on scripts/basic/fixdep are: -rwxr-xr-x which i think it correct.
    Unfortunately, the problem still exists and I don't know how to continue trouble shooting. Can someone point me in a direction to troubleshoot this?
    Last edited by magyarm (2012-12-20 01:55:00)

    magyarm wrote:So now, I need to figure out a good way to handle multiple compilers on my system to prevent this from happening again. If anyone has any tips I would love to hear them.
    Set up a file that you source from bash to prepend the cross compiler to your path, that would only be active for that shell, and when you're done just close it. Means you only activate the cross compiler when you need it.

  • 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

  • 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?

  • Seperate include directory for i486-mingw32 cross-compiler toolchain

    I've installed the mingw32 cross-compiler. I noticed that when using this compiler, a seperate, non-standard include directory is used. So instead of copying all of the dependencies headers to compile the software, is there an easier way of including both directories?
    Thanks.

    I've installed the mingw32 cross-compiler. I noticed that when using this compiler, a seperate, non-standard include directory is used. So instead of copying all of the dependencies headers to compile the software, is there an easier way of including both directories?
    Thanks.

  • [SOLVED] mingw32 cross compile won't link with static libraries

    Hi all,
    I'm trying to cross compile an app I have written to i486-mingw32.  I'm running Arch 64-bit (under which it compiles fine natively), and I have installed the mingw32 binaries along with mingw32-boost-static from AUR.
    All seems well, but unfortunately when I cross compile my code libtool refuses to link to the static Boost libraries:
    *** Warning: Trying to link with static lib archive /usr/i486-mingw32/lib/libboost_filesystem-mt-s.a.
    *** I have the capability to make that library automatically link in when
    *** you link to this library. But I can only do this if you have a
    *** shared version of the library, which you do not appear to have
    *** because the file extensions .a of this argument makes me believe
    *** that it is just a static archive that I should not use here.
    This then leads to undefined references as the library is not linked in.  But as I *want* the static version of the library, does anyone know how to tell libtool to accept the .a file and link it?
    Last edited by Malvineous (2011-05-02 02:44:48)

    Just to follow up on this, I discovered the problem.  It turns out libtool was doing the correct thing, and refusing to link the static library in with the shared one (otherwise later this could result in something being defined multiple times.)  The undefined references were unrelated to the error above, and the code that was causing them (in a different Boost header file) could be easily #defined out.
    When the time came to link the actual executables, libtool did include all the necessary libraries and everything worked as it should!

  • Cross compiling apps on solaris 8 for solaris 10 x86 and x64

    Hi All,
    We have a few applications built on Solaris 8. and we want to build the same apps on Solaris 10 x86 and x64 but the problem is clearcase does not support Solaris 10 yet.
    Can we cross compile the apps on Solaris 8 for Solaris 10 x86 and x64 ? and how ?
    waiting for any info on this.
    TIA,
    warm regards,
    Girish

    FYI, I noticed the reply on Sun Studio General Forum:
    If you build an app on one version of Solaris, the app will run on later Solaris versions. So in particular, you can build an x86 application on Solaris 8 and run it on Solaris 9 and 10.
    Unfortunately, an x64 application must be built on a Solaris x64 system, which first became available with Solaris 10.

  • 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

  • Cross-compiling desirable

    I would really like to see the ability in the Studio compilers to cross compile SPARC code on x86 and vice versa.
    This would incentivize the OpenSolaris engineering team to support cross-compilation as well, I believe.
    The reason for this is that my build host for SPARC is a lot slower than the Opteron system I have. I suspect that I'm not alone in this, and that some folks may have the reverse.
    Support for cross-compilation would probably also help ISVs out that want to support both ISAs. Imagine having a single build host to build a product for a bunch of platforms. Folks already do this for gcc.
    I realize that a link step or somesuch is going to require a copy of the OS libraries and headers be installed, but its easy to get those from OpenSolaris (or even a stock Solaris build just installed or copied to an alternate directory).
    The only thing we can't solve in OpenSolaris itself to do this is making the compilers (code generation, assembler, and optimization) able to cross-compile. If Studio had this feature (and it shouldn't be hard to add), then we'd be able to take the next step to enable cross-compilation of Solaris itself.

    I agree that it would be very desirable.
    I don't necessarily agree that it wouldn't be too hard; it depends on how the compiler was designed.
    That said, one could also envisage a cross-compiler to earlier versions of Solaris, which would be neat (and should in fact be easier to do than true cross compilation). Currently, production builds have to be done on a machine running the earliest version of Solaris that you want to support. Version-cross-compilation would allow you to do the build on a later version of Solaris, but generate a binary that would work from the earlier version.
    Just a thought.
    /lib

  • How to edit GRUB for boot new compile kernel?

    I compile the newest Linux kernel.
    I read Archlinux wiki about how to edit GRUB for boot new compile kernel,
    but Archlinux wiki do not reference to it.
    Who can help me, baby?

    bangkok_manouel wrote:
    how did you build your kernel? traditional way or arch way?
    if it's the arch way (TM), here's an example of a custom kernel with -mm patch.
    what I have in /boot:
    -rw-r--r-- 1 root root 4.3M 2008-12-23 09:52 kernel26mm-fallback.img
    -rw-r--r-- 1 root root 668K 2008-12-23 09:52 kernel26mm.img
    -rw-r--r-- 1 root root 764K 2008-12-22 18:44 System.map26mm
    -rw-r--r-- 1 root root 1.7M 2008-12-22 18:44 vmlinuz26mm
    now here's the /boot/grub/menu.lst related entry (you may add the fallback one):
    # (2) Arch Linux
    title  kernel26mm
    root   (hd0,0)
    kernel /vmlinuz26mm root=/dev/sda5 ro vga=773
    initrd /kernel26mm.img
    Should be traditional way.

  • Compiler configure problems (cross compiling?)

    When attempting to compile packages, I am receiving these errors:
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... configure: error: in `/tmp/yaourt-tmp-procyon/abs-htop/src/htop-1.0.3':
    configure: error: cannot run C compiled programs.
    If you meant to cross compile, use `--host'.
    See `config.log' for more details
    ==> ERROR: A failure occurred in build().
    Aborting...
    ==> ERROR: Makepkg was unable to build htop.
    I have not changed any cflags or other build variables. Why these errors?

    I should add, this occurred after I restored my system from a backup.

  • Problem in GCCFSS cross compiler

    I have followed the instructions of using gccfss as a cross compiler. But when I compile my HelloWorld.c I encountered the following error:
    ld fatal: file /usr/lib/libc.so: wrong ELF machine type: EM_386
    Can anyone help me?

    All
    I have gccfss installed along with target (sparc) machine's /usr/include and /usr/lib directory contents.
    I'm trying a simple "Hello" {color:#0000ff}cross-compile{color} exercise below and getting linking {color:#ff0000}error(s){color:#000000}.
    Any ideas/suggestions?
    Thank you in advance, Attila.
    NB: I tried setting/defining LD_LIBRARY_PATH environment variable to point to copy of target system's library directories but get "wrong ELF machine type" errors because gccfss is referencing /usr/lib directory instead.
    {color}{color}{color:#ff0000}{color:#0000ff}
    $ /opt/gccfss/gcc/bin/gcc -L/opt/sparc/usr/lib -L/opt/sparc/usr/lib/mdb/proc -L/opt/sparc/usr/lib/mdb/proc/sparcv9 hello.c{color}
    Undefined first referenced
    symbol in file
    exit /opt/gccfss/gcc/bin/../lib/gcc/sparc-sun-solaris2.10/4.2.0/crt1.o
    puts /tmp/ccobWhgs.o
    _exit                               /opt/gccfss/gcc/bin/../lib/gcc/sparc-sun-solaris2.10/4.2.0/crt1.o
    bzero /opt/sparc/usr/lib/mdb/proc/libc.so
    mdb_snprintf /opt/sparc/usr/lib/mdb/proc/libc.so
    mdb_printf /opt/sparc/usr/lib/mdb/proc/libc.so
    atexit /opt/gccfss/gcc/bin/../lib/gcc/sparc-sun-solaris2.10/4.2.0/crt1.o
    mdb_lookup_by_obj /opt/sparc/usr/lib/mdb/proc/libc.so
    strcat /opt/sparc/usr/lib/mdb/proc/libc.so
    strcpy /opt/sparc/usr/lib/mdb/proc/libc.so
    mdb_alloc /opt/sparc/usr/lib/mdb/proc/libc.so
    mdb_vread /opt/sparc/usr/lib/mdb/proc/libc.so
    sig2str /opt/sparc/usr/lib/mdb/proc/libc.so
    mdb_free /opt/sparc/usr/lib/mdb/proc/libc.so
    mdb_warn /opt/sparc/usr/lib/mdb/proc/libc.so
    strerror /opt/sparc/usr/lib/mdb/proc/libc.so
    mdb_get_xdata /opt/sparc/usr/lib/mdb/proc/libc.so
    _environ                            /opt/gccfss/gcc/bin/../lib/gcc/sparc-sun-solaris2.10/4.2.0/crt1.o
    ld: fatal: Symbol referencing errors. No output written to a.out
    collect2: ld returned 1 exit status{color}

Maybe you are looking for

  • Error while working with JBoss and Mysql

    Hi i am doing one application in struts to retrive table information ,insert ,delete ,edit . while deploying in JBoss first time it is working fine but with out modifing any thing it is working i want to do any modifications in jsp,actionclass, formb

  • How to reformat iPod classic

    My iPod Classic told me to reformat immediately. I have tried to re-set. How do I re-format? I also get a message saying my iPod does not have permission to sync with my Mac. I've had both for 2+ years and sync'd them many times. Is this associated w

  • FindByPrimaryKey EJBQL error

    Hello, deploying an ejb on WLS7.0, I get the following error :Error while reading 'META-INF/weblogic-cmp-rdbms-jar.xml'. The error was: weblogic.ejb20.cmp.rdbms.finders.IllegalExpressionException: While trying to process Query Method Name: findByPrim

  • Seperate Apple IDs for seperate Itunes gift cards with one Icloud account

    My wife and I both have Iphone 4s and we have one central Itunes account with all of our music on one Icloud account.   We like to listen to "OUR SHARED" music on each of our Iphone's.  Now here is our major problem: We each have recieved Itunes gift

  • Which Query features are supported

    Hello together, does somebody know if there is a existing list of the supported Bex Query features with the new BICS connectivity (Direct connect from Xcelsius 2008 to BW Queries) Thank you Best Regards Mike