Problem cross compiling from x86_64 to i386

Please read from the fourth message.
OLD MESSAGE:
Today I needed to cross compile and ld could not get libc.co.6 because it looks it with the absolute path /usr/lib/libc.so.6 ignoring -L options,
I tried fixing using --sysroot, but ld was not compiled with its support.
So I was wondering, it should not be better to compile with --with-sysroot ?
Last edited by ezzetabi (2010-01-08 10:11:51)

I am trying to compile the doom3 SDK: so it is a cross compiling from x86_64 to i386.
After downloading the SDK and unpacking it with --tar xf, since the package uses scons  I had to modify the file SConstruct  line BASELINKFLAGS: I put BASELINKFLAGS = [ "-m32", "-L/opt/lib32/lib", "-L/opt/lib32/usr/lib", ]
but the linking fails with
`/usr/bin/ld: skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6'
On the other hand if I use
BASELINKFLAGS = [ "-m32", "--sysroot=/opt/lib32", ]
ld fails anyway with... :S
/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/gcc/x86_64-unknown-linux-gnu/4.4.2/../../../crti.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/gcc/x86_64-unknown-linux-gnu/4.4.2/crtbeginS.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/gcc/x86_64-unknown-linux-gnu/4.4.2/crtendS.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/gcc/x86_64-unknown-linux-gnu/4.4.2/../../../crtn.o' is incompatible with i386 output
It is not really important, but I find annoying that I cannot compile it :S
Last edited by ezzetabi (2010-01-08 09:48:59)

Similar Messages

  • Is there a way to Cross Compile from i386 to x86_64.

    Hi,
    I develop applications in Linux with a i386 arquitecture, but the actual production machine is going to change and became a Dual Core AMD x86_64. Is there a way to cross compile in my computer wihtout having to go to the production machine and compile there all the code?
    Regards,
    Pedro

    Java bytecode is inherently platform portable.Obviously.
    The point is not portability.
    One can compile in any platform as long as the target one contains a JRE.
    My point is that I want to compile with the x86_86 SDK in the i386 platform.
    I might be wrong, but it seems to me that this could be an optimization ... far more suited and specific to a server platform ...
    If so is this the case?
    Is this possible?
    Regards,
    Pedro

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

  • Problems cross-compiling imagemagick with mingw32

    I am trying to cross-compile imagemagick dlls for Windows with mingw32.
    I installed the mingw32 package and ran
    ./configure --host=i486-mingw32 --with-perl=no --enable-static=no
    The output shows something like this:
    JPEG v1           --with-jpeg=yes        no (failed tests)
    JPEG-2000         --with-jp2=yes        no (failed tests)
    LCMS v1           --with-lcms=yes        no (failed tests)
    LCMS v2           --with-lcms2=yes        no
    LQR               --with-lqr=yes        no
    Magick++          --with-magick-plus-plus=yes    yes
    OpenEXR           --with-openexr=yes        no
    PERL              --with-perl=no        no
    PNG               --with-png=yes        no (failed tests)
    RSVG              --with-rsvg=yes        yes
    TIFF              --with-tiff=yes        no (failed tests)
    In config.log the test failures are shown as follows:
    configure:27841: checking for jpeg_read_header in -ljpeg
    configure:27866: i486-mingw32-gcc -std=gnu99 -std=gnu99 -o conftest.exe   -g -O2 -Wall -I/usr/include/freetype2    -D_DLL -D_MT  -I/usr/include   -L/usr/lib conftest.c -ljpeg     -lX11   -lm   >&5
    /usr/lib/gcc/i486-mingw32/4.5.0/../../../../i486-mingw32/bin/ld: cannot find -lX11
    collect2: ld returned 1 exit status
    The compiler/linker configuration looks correct to me:
    X11 Configuration:
          X_CFLAGS        = -I/usr/include
          X_PRE_LIBS      =
          X_LIBS          = -L/usr/lib
          X_EXTRA_LIBS    =
    Options used to compile and link:
      PREFIX          = /usr/local
      EXEC-PREFIX     = /usr/local
      VERSION         = 6.6.4
      CC              = i486-mingw32-gcc -std=gnu99 -std=gnu99
      CFLAGS          = -g -O2 -Wall
      CPPFLAGS        = -I/usr/local/include/ImageMagick -D_DLL -D_MT
      PCFLAGS         = -D_DLL -D_MT
      DEFS            = -DHAVE_CONFIG_H
      LDFLAGS         = -L/usr/lib
      MAGICK_LDFLAGS  = -L/usr/local/lib -L/usr/lib
      LIBS            = -lMagickCore -lfontconfig -lX11 -pthread -lrsvg-2 -lm -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lgdi32 -lm
      CXX             = i486-mingw32-g++
      CXXFLAGS        = -g -O2
      FEATURES        =
    Why can't it find the X11 library?

    I am trying to cross-compile imagemagick dlls for Windows with mingw32.
    I installed the mingw32 package and ran
    ./configure --host=i486-mingw32 --with-perl=no --enable-static=no
    The output shows something like this:
    JPEG v1           --with-jpeg=yes        no (failed tests)
    JPEG-2000         --with-jp2=yes        no (failed tests)
    LCMS v1           --with-lcms=yes        no (failed tests)
    LCMS v2           --with-lcms2=yes        no
    LQR               --with-lqr=yes        no
    Magick++          --with-magick-plus-plus=yes    yes
    OpenEXR           --with-openexr=yes        no
    PERL              --with-perl=no        no
    PNG               --with-png=yes        no (failed tests)
    RSVG              --with-rsvg=yes        yes
    TIFF              --with-tiff=yes        no (failed tests)
    In config.log the test failures are shown as follows:
    configure:27841: checking for jpeg_read_header in -ljpeg
    configure:27866: i486-mingw32-gcc -std=gnu99 -std=gnu99 -o conftest.exe   -g -O2 -Wall -I/usr/include/freetype2    -D_DLL -D_MT  -I/usr/include   -L/usr/lib conftest.c -ljpeg     -lX11   -lm   >&5
    /usr/lib/gcc/i486-mingw32/4.5.0/../../../../i486-mingw32/bin/ld: cannot find -lX11
    collect2: ld returned 1 exit status
    The compiler/linker configuration looks correct to me:
    X11 Configuration:
          X_CFLAGS        = -I/usr/include
          X_PRE_LIBS      =
          X_LIBS          = -L/usr/lib
          X_EXTRA_LIBS    =
    Options used to compile and link:
      PREFIX          = /usr/local
      EXEC-PREFIX     = /usr/local
      VERSION         = 6.6.4
      CC              = i486-mingw32-gcc -std=gnu99 -std=gnu99
      CFLAGS          = -g -O2 -Wall
      CPPFLAGS        = -I/usr/local/include/ImageMagick -D_DLL -D_MT
      PCFLAGS         = -D_DLL -D_MT
      DEFS            = -DHAVE_CONFIG_H
      LDFLAGS         = -L/usr/lib
      MAGICK_LDFLAGS  = -L/usr/local/lib -L/usr/lib
      LIBS            = -lMagickCore -lfontconfig -lX11 -pthread -lrsvg-2 -lm -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lgdi32 -lm
      CXX             = i486-mingw32-g++
      CXXFLAGS        = -g -O2
      FEATURES        =
    Why can't it find the X11 library?

  • 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

  • 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

  • Problems and Workarounds from Sun Workshop[tm] 6 update 2 C++ Compiler Read

    Hello out here,
    the Sun Workshop[tm] 6 update 2 C++ Compiler Readme says
    in Chapter E. Problems and Workarounds
    and
    Topic 4. Reference From Template to Non-Global File-Scope object is Not Supported:
    A program using templates and static objects causes link-time errors of undefined
    symbols. The compiler currently does not support reference to non-global file-scope
    objects from templates.
    So my problem is:
    I have static tyname objects in Templates and get that link-time errors of undefined
    symbols.
    And I do not know how to get rid of that static typename objects.
    Is there a Workaround?
    Which?
    P l e a s e h e l p.
    If you need further information, please let me know.
    Any help is appreciated.
    Thanks in advance.
    Yours truly
    Karsten J. Martin

    Hello,
    Thank you for your detailed answer!
    Unfortunately there has arosen another problem while
    migrating from 4.2 to SunWorkshop[tm] 6 update 2 C++ Compiler.
    Here comes the original(4.2) code:
    template <class PersistObject>
    class DIDDatabaseInterface : public DIDPersistenceInterface<PersistObject>
    private:
         DIDTableObject<PersistObject>     m_tableObject;
    public:
    It does not compile under Version 6.
    Now the new version:
    template <class PersistObject>
    class DIDDatabaseInterface : public DIDPersistenceInterface<PersistObject>
    private:
    typedef     DIDTableObject<PersistObject> PersistTable;
    static typename DIDDatabaseInterface::PersistTable m_tableObject;
    public:
    That compiles until...
    "did_factory.cc", line 73: Information: Instantiating DIDDatabaseInterface<Devx003>::DIDDatabaseInterface(const RWDBConnection&)
    "did_persist.cc", line 81: DIDDatabaseInterface<Devx003>::m_tableObject cannot be initialized in a constructor.
    Here comes line 81 and surroundings(compiles under 4.2):
    template <class PersistObject>
    DIDDatabaseInterface<PersistObject>::DIDDatabaseInterface(const RWDBConnection &c)
         :     DIDPersistenceInterface<PersistObject>(),
              m_tableObject(c)
    Any idea?
    I would be grateful if you could help.
    Thank you so much.
    Sincerely yours
    Karsten J. Martin

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

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

  • Cross compiling : CARCH flag

    Hi all ! I just have a question about cross compiling. No real problem in fact
    So, on the "Safe Cflags" wiki page (and on other Web pages, too), one can see lots of optimizations for various processors. But for each one, only CHOST and CFLAGS change. I don't understand what CARCH is used for, then...
    "Specifies your computer architecture; possible values include "i686" or "x86_64". This should be automatically set on installation."
    I think that if it never changes, this CARCH value only concern the computer which is compiling.
    So, if I compile something, say, for an Athlon 64 from an Intel chip, my flags would be :
    CARCH="i686"
    CHOST="x86_64-pc-linux-gnu"
    CFLAGS="-march=k8 -O2 -pipe"
    CXXFLAGS="${CFLAGS}"
    And if I compile frequently for other architectures, I would have a couple of CHOST/CFLAGS for each foreign architecture, and only one CARCH, corresponding to my computer.
    Am I right ?

    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)

  • [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!

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

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

  • Problem about networkmanager from AUR

    Well I have downloaded and installed the different dependencies for the package but I got this error during makepkg og networkmanager - to be able to use knetworkmanager. Using kde as desktop - so I'm not that much of the understanding kind of building the packages and the errors from them:
    [root@kira networkmanager]# makepkg
    ==> Making package: networkmanager 0.6.3-2 (Sun Oct  1 19:37:18 CEST 2006)
    ==> Checking Runtime Dependencies...
    ==> Checking Buildtime Dependencies...
    ==> Retrieving Sources...
    ==>     Using local copy of NetworkManager-0.6.3.tar.bz2
    ==>     Found policy.patch in build dir
    ==>     Found mtufix.patch in build dir
    ==>     Found wpa_supplicant-nodebug.patch in build dir
    ==>     Found dhcp-fix.patch in build dir
    ==>     Found restart-fix.patch in build dir
    ==> Validating source files with MD5sums
        NetworkManager-0.6.3.tar.bz2 ... Passed
        policy.patch ... Passed
        mtufix.patch ... Passed
        wpa_supplicant-nodebug.patch ... Passed
        dhcp-fix.patch ... Passed
        restart-fix.patch ... Passed
    ==> Extracting Sources...
    ==>     tar --use-compress-program=bzip2 -xf NetworkManager-0.6.3.tar.bz2
    ==> Removing existing pkg/ directory...
    ==> Starting build()...
    patching file gnome/applet/nm-applet.conf
    patching file src/NetworkManager.conf
    patching file src/backends/NetworkManagerArch.c
    patching file src/backends/NetworkManagerArch.c
    patching file src/backends/NetworkManagerArch.c
    patching file src/nm-device-802-11-wireless.c
    checking for a BSD-compatible install... /bin/install -c
    checking whether build environment is sane... yes
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether to enable maintainer-specific portions of Makefiles... no
    checking for gcc... gcc
    checking for C compiler default output file name... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables...
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ANSI C... none needed
    checking for style of include used by make... GNU
    checking dependency style of gcc... gcc3
    checking whether gcc and cc understand -c and -o together... yes
    checking for a BSD-compatible install... /bin/install -c
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking for a sed that does not truncate output... /bin/sed
    checking for egrep... grep -E
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for /usr/bin/ld option to reload object files... -r
    checking for BSD-compatible nm... /usr/bin/nm -B
    checking whether ln -s works... yes
    checking how to recognise dependent libraries... pass_all
    checking how to run the C preprocessor... gcc -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking dlfcn.h usability... yes
    checking dlfcn.h presence... yes
    checking for dlfcn.h... yes
    checking for g++... g++
    checking whether we are using the GNU C++ compiler... yes
    checking whether g++ accepts -g... yes
    checking dependency style of g++... gcc3
    checking how to run the C++ preprocessor... g++ -E
    checking for g77... no
    checking for f77... no
    checking for xlf... no
    checking for frt... no
    checking for pgf77... no
    checking for fort77... no
    checking for fl32... no
    checking for af77... no
    checking for f90... no
    checking for xlf90... no
    checking for pgf90... no
    checking for epcf90... no
    checking for f95... no
    checking for fort... no
    checking for xlf95... no
    checking for ifc... no
    checking for efc... no
    checking for pgf95... no
    checking for lf95... no
    checking for gfortran... no
    checking whether we are using the GNU Fortran 77 compiler... no
    checking whether  accepts -g... no
    checking the maximum length of command line arguments... 32768
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for objdir... .libs
    checking for ar... ar
    checking for ranlib... ranlib
    checking for strip... strip
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC
    checking if gcc PIC flag -fPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... yes
    configure: creating libtool
    appending configuration tag "CXX" to libtool
    checking for ld used by g++... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
    checking for g++ option to produce PIC... -fPIC
    checking if g++ PIC flag -fPIC works... yes
    checking if g++ static flag -static works... yes
    checking if g++ supports -c -o file.o... yes
    checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    appending configuration tag "F77" to libtool
    checking for ANSI C header files... (cached) yes
    checking fcntl.h usability... yes
    checking fcntl.h presence... yes
    checking for fcntl.h... yes
    checking paths.h usability... yes
    checking paths.h presence... yes
    checking for paths.h... yes
    checking sys/ioctl.h usability... yes
    checking sys/ioctl.h presence... yes
    checking for sys/ioctl.h... yes
    checking sys/time.h usability... yes
    checking sys/time.h presence... yes
    checking for sys/time.h... yes
    checking syslog.h usability... yes
    checking syslog.h presence... yes
    checking for syslog.h... yes
    checking for unistd.h... (cached) yes
    checking for mode_t... yes
    checking for pid_t... yes
    checking whether time.h and sys/time.h may both be included... yes
    checking whether gcc needs -traditional... no
    checking for working memcmp... yes
    checking for select... yes
    checking for socket... yes
    checking for uname... yes
    checking for intltool >= 0.27.2... 0.34.1 found
    checking for perl... /usr/bin/perl
    checking for XML::Parser... ok
    checking for iconv... /usr/bin/iconv
    checking for msgfmt... /usr/bin/msgfmt
    checking for msgmerge... /usr/bin/msgmerge
    checking for xgettext... /usr/bin/xgettext
    checking locale.h usability... yes
    checking locale.h presence... yes
    checking for locale.h... yes
    checking for LC_MESSAGES... yes
    checking libintl.h usability... yes
    checking libintl.h presence... yes
    checking for libintl.h... yes
    checking for ngettext in libc... yes
    checking for dgettext in libc... yes
    checking for bind_textdomain_codeset... yes
    checking for msgfmt... /usr/bin/msgfmt
    checking for dcgettext... yes
    checking for gmsgfmt... /usr/bin/msgfmt
    checking for xgettext... /usr/bin/xgettext
    checking for catalogs to be installed...  bg bs ca cs da de el en_CA en_GB es fi fr gu hr hu it ja ko lt mk nb ne nl pa pt_BR rw sk sq sr@Latn sr sv uk vi wa zh_CN zh_TW
    checking for wireless-tools >= 28pre9... yes
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for DBUS... yes
    Your dbus version is 0,62,0.
    checking for GTHREAD... yes
    checking for GLIB... yes
    checking for GMODULE... yes
    checking for HAL... yes
    checking for LIBNL... configure: error: Package requirements (libnl-1) were not met:
    Package 'libnl-1' has no Name: field
    Consider adjusting the PKG_CONFIG_PATH environment variable if you
    installed software in a non-standard prefix.
    Alternatively, you may set the environment variables LIBNL_CFLAGS
    and LIBNL_LIBS to avoid the need to call pkg-config.
    See the pkg-config man page for more details.
    make: *** No targets specified and no makefile found.  Stop.
    ==> ERROR: Build Failed.  Aborting...

    Yes - I have installed the package from AUR - wich is the only place where I can find this
    So cannot see what to do.
    And besides that I cannot see the why not I can get and DHCP address to the wireless network. or get on in a WEP-crypto network!
    I have asked another question - but this is to me really really strange and cannot understand what is hapening.

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

Maybe you are looking for