newlib compile error
Posted: Sun Aug 14, 2016 12:28 pm
I am following this tutorial http://wiki.osdev.org/Porting_Newlib
I've been trying and googling for two days with no progress, please help me.
My autoconf version is 2.64, automake version is 1.14.1
Following are the steps that I've done
Modify the following files
config.sub
newlib/configure.host
Then I run autoconf under libc/sys, and autoreconf uder libc/sys/myos
Compile:
Now make all gives me this error message
Some other times it gives me error message that says cannot find sys/crt0.o and cannot find sys/lib.a
im hopeless now. did anyone port newlib successfully by following this tutorial ????
Appreciate any help
I've been trying and googling for two days with no progress, please help me.
My autoconf version is 2.64, automake version is 1.14.1
Following are the steps that I've done
Modify the following files
config.sub
Code: Select all
# First accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* | -myos* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
Code: Select all
# Get the source directories to use for the host. unix_dir is set
# to unix to get some standard Unix routines. posix_dir is set to get some
# standard Posix routines. sys_dir should supply system dependent routines
# including crt0.
# THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY.
case "${host}" in
i686-*-myos*)
sys_dir=myos
;;
*-*-cygwin*)
posix_dir=posix
stdio64_dir=stdio64
xdr_dir=xdr
;;
*-*-netware*)
signal_dir=
sys_dir=netware
;;
Compile:
Code: Select all
# newlib setup
CURRDIR=$(pwd)
# make symlinks (a bad hack) to make newlib work
cd ~/cross/bin/ # this is where the bootstrapped generic cross compiler toolchain (i686-elf-xxx) is installed in,
# change this based on your development environment.
ln i686-elf-ar i686-myos-ar
ln i686-elf-as i686-myos-as
ln i686-elf-gcc i686-myos-gcc
ln i686-elf-gcc i686-myos-cc
ln i686-elf-ranlib i686-myos-ranlib
# return
cd $CURRDIR
mkdir build-newlib
cd build-newlib
../newlib-2.2.0-1/configure --prefix=/usr --target=i686-myos
make all
Code: Select all
=== configuring in myos (/home/vagrant/backup/build-newlib/i686-myos/newlib/libc/sys/myos)
configure: running /bin/bash ../../../../../../newlib-2.2.0-1/newlib/libc/sys/myos/configure --disable-option-checking '--prefix=/usr' '--with-newlib' '--enable-multilib' '--with-cross-host=i686-pc-linux-gnu' '--program-transform-name=s&^&i686-myos-&' '--with-target-subdir=i686-myos' '--build=i686-pc-linux-gnu' '--host=i686-myos' '--target=i686-myos' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-myos' 'target_alias=i686-myos' 'CC=i686-myos-cc -B/home/vagrant/backup/build-newlib/i686-myos/newlib/ -isystem /home/vagrant/backup/build-newlib/i686-myos/newlib/targ-include -isystem /home/vagrant/backup/newlib-2.2.0-1/newlib/libc/include -B/home/vagrant/backup/build-newlib/i686-myos/libgloss/i386 -L/home/vagrant/backup/build-newlib/i686-myos/libgloss/libnosys -L/home/vagrant/backup/newlib-2.2.0-1/libgloss/i386 ' 'CFLAGS=-g -O2' 'LDFLAGS=' 'CPPFLAGS=' --cache-file=../../.././config.cache --srcdir=../../../../../../newlib-2.2.0-1/newlib/libc/sys/myos
configure: loading cache ../../.././config.cache
../../../../../../newlib-2.2.0-1/newlib/libc/sys/myos/configure: line 1658: syntax error near unexpected token `../../..'
../../../../../../newlib-2.2.0-1/newlib/libc/sys/myos/configure: line 1658: `NEWLIB_CONFIGURE(../../..)'
configure: error: ../../../../../../newlib-2.2.0-1/newlib/libc/sys/myos/configure failed for myos
configure: error: ../../../../../newlib-2.2.0-1/newlib/libc/sys/configure failed for sys
configure: error: ../../../../newlib-2.2.0-1/newlib/libc/configure failed for libc
make[1]: *** [configure-target-newlib] Error 1
make[1]: Leaving directory `/home/vagrant/backup/build-newlib'
make: *** [all] Error 2
im hopeless now. did anyone port newlib successfully by following this tutorial ????
Appreciate any help