Hi,
I am trying to generate a cross-compiler targetting ARM wince plateform
from gcc trunk and I have an error message
when compiling mingw and regarding linker
My tree is organized like this :
src
+ binutils
+ gcc
+ mingw
+ w32api
+ build-mingw32ce
and I am using a script to build the different modules in the following
order : binutils bootstrap-gcc mingw w32api gcc
> cd build-mingw32ce
../build-mingw32ce.sh -j2
build-mingw32ce.sh:
...
build_binutils()
{
echo ""
echo "BUILDING BINUTILS --------------------------"
echo ""
echo ""
mkdir -p binutils
cd binutils
${BASE_DIRECTORY}/binutils/configure \
--prefix=${PREFIX} \
--target=${TARGET} \
--disable-nls
make ${PARALLELISM}
make install
cd ${BUILD_DIR}
}
build_bootstrap_gcc()
{
mkdir -p gcc-bootstrap
cd gcc-bootstrap
${BASE_DIRECTORY}/${gcc_src}/configure \
--with-gcc \
--with-gnu-ld \
--with-gnu-as \
--target=${TARGET} \
--prefix=${PREFIX} \
--disable-threads \
--disable-nls \
--enable-languages=c \
--disable-win32-registry \
--disable-multilib \
--disable-shared \
--disable-interwork \
--without-newlib \
--enable-checking
make ${PARALLELISM} all-gcc
make install-gcc
cd ${BUILD_DIR}
}
build_mingw()
{
mkdir -p mingw
cd mingw
${BASE_DIRECTORY}/mingw/configure \
--build=${BUILD} \
--host=${TARGET} \
--target=${TARGET} \
--prefix=${PREFIX}
make ${PARALLELISM}
make install
cd ${BUILD_DIR}
}
...
The problem I have is about crtstuff in mingw :
source: /home/Vincent/cegcc-4.4.0/src
building in: /home/Vincent/cegcc-4.4.0/src/build-mingw32ce
prefix: /opt/mingw32ce
components: mingw
checking package version... 3.11
checking build system type... i686-pc-cygwin
checking host system type... arm-unknown-mingw32ce
checking target system type... arm-unknown-mingw32ce
checking for arm-mingw32ce-gcc... arm-mingw32ce-gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether arm-mingw32ce-gcc accepts -g... yes
checking for arm-mingw32ce-gcc option to accept ANSI C... none needed
checking for arm-mingw32ce-ar... arm-mingw32ce-ar
checking for arm-mingw32ce-as... arm-mingw32ce-as
checking for arm-mingw32ce-ranlib... arm-mingw32ce-ranlib
checking for arm-mingw32ce-ld... arm-mingw32ce-ld
checking for arm-mingw32ce-dlltool... arm-mingw32ce-dlltool
checking for arm-mingw32ce-dlltool... arm-mingw32ce-dlltool
checking for arm-mingw32ce-windres... arm-mingw32ce-windres
checking for a BSD-compatible install... /usr/bin/install -c
configure: creating ./config.status
config.status: creating Makefile
configure: configuring in mingwex
configure: running /bin/sh
'/home/Vincent/cegcc-4.4.0/src/mingw/mingwex/configure'
--prefix=/opt/mingw32ce '--build=i686-pc-cygwin' '--host=arm-mingw32ce'
'--target=arm-mingw32ce' '--prefix=/opt/mingw32ce'
'build_alias=i686-pc-cygwin' 'host_alias=arm-mingw32ce'
'target_alias=arm-mingw32ce' --cache-file=/dev/null
--srcdir=/home/Vincent/cegcc-4.4.0/src/mingw/mingwex
checking build system type... i686-pc-cygwin
checking host system type... arm-unknown-mingw32ce
checking target system type... arm-unknown-mingw32ce
checking for a BSD-compatible install... /usr/bin/install -c
configure: creating ./config.status
config.status: creating Makefile
Making in mingwex...
make[1]: Entering directory
`/home/Vincent/cegcc-4.4.0/src/build-mingw32ce/mingw/mingwex'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/home/Vincent/cegcc-4.4.0/src/build-mingw32ce/mingw/mingwex'
arm-mingw32ce-dlltool --as arm-mingw32ce-as --output-def mingwthrd.def
mthr.o mthr_init.o
arm-mingw32ce-dlltool --as arm-mingw32ce-as --output-def mingwthrd.def
mthr.o mthr_init.o
arm-mingw32ce-gcc -Wl,--base-file=mingwthrd.base -B./ -mdll
-Wl,--image-base,0x6FBC0000 mthr.o mthr_init.o -Lmingwex \
-o mingwthrd_dummy.exe
arm-mingw32ce-gcc -Wl,--base-file=mingwthrd.base -B./ -mdll
-Wl,--image-base,0x6FBC0000 mthr.o mthr_init.o -Lmingwex \
-o mingwthrd_dummy.exe
/opt/mingw32ce/lib/gcc/arm-mingw32ce/4.4.0/../../../../arm-mingw32ce/bin/ld:
crtbegin.o: No such file: No such file or directory
collect2: ld returned 1 exit status
make: *** [mingwthrd.def] Error 1
make: *** Waiting for unfinished jobs....
/opt/mingw32ce/lib/gcc/arm-mingw32ce/4.4.0/../../../../arm-mingw32ce/bin/ld:
crtbegin.o: No such file: No such file or directory
collect2: ld returned 1 exit status
make: *** [mingwm10.dll] Error 1
Could someone tell me if gcc-4.4 needs more parameters when cross-compiling
because it works fine with gcc-4.1 ?
Does --with-sysroot and --with-build-sysroot could help ?
Thanks