I am attempting to rebuild Newlib from source with a view eventually to rebuilding for VFP support. The build has created libc.a and libm.a, but when it does "Making all in doc" the following occurs: -START---------------------------------------- Making all in doc make[2]: Entering directory `/e/projects/newlib/newlib-1.14.0/newlib/doc' gcc -o makedoc makedoc.o d:\winarm\arm-elf\bin\ld.exe: crti.o: No such file: No such file or directory -END---------------------------------------- I am running the build within the MSYS shell from mingw.org. The build is executed using teh following script: -START---------------------------------------- #!/bin/sh #----------------------------------------------------------------------- ---- # Setup Environment for cross-development arm-elf #----------------------------------------------------------------------- ---- export TOOLDIR=/d/winarm ; TARGET=arm-elf ; GCC_VER=4.0.2 ; export TARGET ; echo Setting up Shell for $TARGET ; export PATH=$TOOLDIR/$TARGET/bin:$TOOLDIR/bin:$PATH export COMPILER_PATH=$TOOLDIR/$TARGET/bin export GCC_EXEC_PREFIX=$TOOLDIR/libexec/gcc/$TARGET/ export LIBRARY_PATH=$TOOLDIR/lib/gcc/$TARGET/$GCC_VER export C_INCLUDE_PATH="$TOOLDIR/$TARGET/include:$TOOLDIR/lib/gcc/$TARGET/$GCC_V ER/include" export CPLUS_INCLUDE_PATH=$TOOLDIR/include/c++/$GCC_VER export XXGDB_DEBUGGER=$TOOLDIR/utils/bin/$TARGET-gdb PS1=$TARGET$ alias addr2line=$TARGET-addr2line alias ar=$TARGET-ar alias as=$TARGET-as alias c++=$TARGET-c++ alias c++filt=$TARGET-c++filt alias g++=$TARGET-g++ alias gasp=$TARGET-gasp alias gcc=$TARGET-gcc alias gdb=$TARGET-gdb alias gdbtk=$TARGET-gdbtk alias ld=$TARGET-ld alias objcopy=$TARGET-objcopy alias objdump=$TARGET-objdump alias ranlib=$TARGET-ranlib alias run=$TARGET-run alias sim=$TARGET-sim alias size=$TARGET-size alias strings=$TARGET-strings alias strip=$TARGET-strip echo $TARGET "MSYS Shell Ready..." ./configure -target=arm-elf -host=arm -build=i686 --disable-newlib-supplied-syscalls gcc -v ; make clean ; make all -START---------------------------------------- Some of the environment setup is redundant of course, but was 'lifted' and modified from a MicroCross X-Tools BASH shell initialisation. I suspect that the crti.o that it is attempting to find is for a native (i386) gnu compiler (which I do not have installed). My question is what is 'made' in doc? If it is just man pages, then I probably don't care. How should I supress this step of the build? Clifford
I have made someprogress on this. Currently I have suppressed the the doc build by modifying the configure script thus: Change: if test -z "${with_multisubdir}"; then configdirs="${configdirs} doc" have_doc=yes else have_doc= fi to: if test -z "${with_multisubdir}"; then # configdirs="${configdirs} doc" # have_doc=yes have_doc= else have_doc= fi This is of course a shameless hack. Is there a 'clean' way? Anyhow, not that that is done, does anyone have any idea why my libraries might be 5 times larger than any of thise supplied with WinARM? Clifford
Clifford Slocombe wrote: > I have made someprogress on this. Currently I have suppressed the the > doc build by modifying the configure script thus: > > Change: > > if test -z "${with_multisubdir}"; then > configdirs="${configdirs} doc" > have_doc=yes > else > have_doc= > fi > > to: > > if test -z "${with_multisubdir}"; then > # configdirs="${configdirs} doc" > # have_doc=yes > have_doc= > else > have_doc= > fi > > > This is of course a shameless hack. Is there a 'clean' way? For the doc-files: IRC I have "makeinfo" installed on the "WinARM-build-system" here. I don't remember where I have downloaded it but maybe somewhere from the gnu-win32-project. > Anyhow, not that that is done, does anyone have any idea why my > libraries might be 5 times larger than any of thise supplied with > WinARM? Parts from the script I used to build the newlib for WinARM 6/06, maybe the "Prefer size" and "Os" option will "help". $SRCDIR/configure --prefix=$prefix --target=$target --enable-target-optspace \ --enable-interwork --enable-multilib --disable-newlib-supplied-syscalls -v 2>&1 | tee r5_configure.log make CFLAGS_FOR_TARGET="-DREENTRANT_SYSCALLS_PROVIDED -DPREFER_SIZE_OVER_SPEED -Os" all 2>&1 | tee r5_make.log Since you are building the newlib in the "mingw-environement": Could you please verify if the --disable-newlib-supplied-syscalls is needed? IRC I have included this option for the 3/06-Version since the build did not work without but I have not checked again during the build for 6/06 if it's still needed. Martin Thomas
Martin Thomas wrote: > > Parts from the script I used to build the newlib for WinARM 6/06, maybe > the "Prefer size" and "Os" option will "help". > > $SRCDIR/configure --prefix=$prefix --target=$target > --enable-target-optspace \ > --enable-interwork --enable-multilib --disable-newlib-supplied-syscalls > -v 2>&1 | tee r5_configure.log > make CFLAGS_FOR_TARGET="-DREENTRANT_SYSCALLS_PROVIDED > -DPREFER_SIZE_OVER_SPEED -Os" all 2>&1 | tee r5_make.log I just noticed in the build log that the -g option is set, that would account for it. I can't see how to switch that off externally, I shall just strip it perhaps (or ignore it). > > Since you are building the newlib in the "mingw-environement": Could you > please verify if the --disable-newlib-supplied-syscalls is needed? IRC I > have included this option for the 3/06-Version since the build did not > work without but I have not checked again during the build for 6/06 if > it's still needed. > I am using this option specifically because I am providing my own for a custom board and we don't have either of the supported debug monitors or use the simulator. However, since it will take little time, I'll test it to see how it goes. I am also still using Version 20060117 with a replacement sh.exe from unxutils. Thanks for your assistance, Clifford
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.