[esnacc-dev] "cross" compile
Aaron Conole
aconole at bytheb.org
Tue Jul 25 13:29:20 UTC 2017
Hi Marty,
Marty Galligan <m_galligan at comcast.net> writes:
> I'm using esnacc to build a daemon. The daemon build happens on
> Ubuntu, the daemon is targeted to run on windows. So I need to build
> libcxxsn1.a as a windows binary.
>
> Running configure with --build=i686-pc-linux-gnu
> --host=i686-pc-windows didn't work, the cross compiling g++ I'm using
> gave me an error of .../lib/libc++asn1.a: member
> .../lib/libc++asn1.a(cxx_lib_libcxxasn1_la-asn-null.o) in archive is
> not an object
> collect2: ld returned 1 exit status
On my system, I have installed mingw32, and I can do:
CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ \
AR=i686-w64-mingw32-ar RANLIB=i686-w64-mingw32-ranlib \
./configure --build=x86_64-pc-linux-gnu --host=i686-w64-mingw32 && \
make -j8
Which does produce a cxx-lib/.libs/libcxxasn1.a
- that said -
I get an error:
/bin/sh: compiler/esnacc.exe: cannot execute binary file: Exec format error
This is from trying to build ROSE support when cross compiling. I'll
submit a first order fix for this (to disable during cross
compilation), and then probably the build system will have to make a
native version even when cross-compiling.
> libc++asn1.a is a soft link to libcxxasn1.a
Where did that soft link come from? I don't think the build system
creates this. If it does that's a bug.
> How can I generate a libcxxasn1.a for windows, while building on linux?
>
>
> -Marty Galligan, m_galligan at comcast.net, c: 978-505-5185
More information about the dev
mailing list