This is the mail archive of the ecos-maintainers@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Question about cross-compile builds failing


Greg.Chandler@wellsfargo.com wrote:
> I've got a system that I am doing builds on so that I can get an PXA-255
> based system up and running.  It's x86_64.  My cross-compiler works, and
> I have booted ARM kernels that it has built.  I'm using the ARM-tree
> maintained by Russell King.

Note that eCos does not use an arm-linux toolchain. It needs arm-elf. See
the website for installation instructions. You should have been offered the
choice of downloading a prebuilt toolchain when you installed eCos.

> Since this isn't a native system, and not the same tree as the running
> kernel the headers do not live /usr/include/.
> 
> The build seems to require this no matter what I set at the configure
> level.  Here's what the configure/make shows.  Am I doing something
> wrong or was it designed this way?  I've also tried undoing the defines
> for the USB since I really don't need it, but that didn't work for me
> either.

eCos does not build using "configure". Please have a look at the user guide
on how to get started with eCos and the basic concepts:
<http://ecos.sourceware.org/docs-latest/>. The "configure" script that does
exist is there to build some support tools that run on the host. They are
not meant to be cross-compiled at all.

Hope this helps clear things up.

Jifl


> chandleg@constellation:/usr/src/tmp/build$ ../ecos/configure
> --host=$TARGET --target=$TARGET --build=$MACHTYPE
> --prefix=/opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknown-linux-gnu/arm-
> unknown-linux-gnu/
> 
> creating cache ./config.cache
> checking host system type... arm-unknown-linux-gnu checking for a BSD
> compatible install... /usr/bin/ginstall -c checking whether build
> environment is sane... yes checking whether make sets ${MAKE}... yes
> checking for working aclocal... found checking for working autoconf...
> found checking for working automake... found checking for working
> autoheader... found checking for working makeinfo... found checking
> whether to enable maintainer-specific portions of Makefiles... no
> checking that a separate build tree is being used... yes updating cache
> ./config.cache creating ./config.status creating Makefile configuring in
> packages/devs/watchdog/synth/current/host
> running /bin/sh
> ../../../../../../../ecos/packages/devs/watchdog/synth/current/host/conf
> igure
>  --host=arm-unknown-linux-gnu --target=arm-unknown-linux-gnu
> --build=i486-slackware-linux-gnu
> --prefix=/opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknown-linux-gnu/arm-
> unknown-linux-gnu/
> --cache-file=../../../../../.././config.cache
> --srcdir=../../../../../../../ecos/packages/devs/watchdog/synth/current/
> host
> loading cache ../../../../../.././config.cache checking that a separate
> build tree is being used... yes checking host system type...
> arm-unknown-linux-gnu checking for a BSD compatible install... (cached)
> /usr/bin/ginstall -c checking whether build environment is sane... yes
> checking whether make sets ${MAKE}... (cached) yes checking for working
> aclocal... found checking for working autoconf... found checking for
> working automake... found checking for working autoheader... found
> checking for working makeinfo... found checking whether to enable
> maintainer-specific portions of Makefiles... no creating ./config.status
> creating Makefile configuring in packages/hal/synth/arch/current/host
> running /bin/sh
> ../../../../../../../ecos/packages/hal/synth/arch/current/host/configure
>  --host=arm-unknown-linux-gnu --target=arm-unknown-linux-gnu
> --build=i486-slackware-linux-gnu
> --prefix=/opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknown-linux-gnu/arm-
> unknown-linux-gnu/
> --cache-file=../../../../../.././config.cache
> --srcdir=../../../../../../../ecos/packages/hal/synth/arch/current/host
> loading cache ../../../../../.././config.cache checking that a separate
> build tree is being used... yes checking host system type...
> arm-unknown-linux-gnu checking for a BSD compatible install... (cached)
> /usr/bin/ginstall -c checking whether build environment is sane... yes
> checking whether make sets ${MAKE}... (cached) yes checking for working
> aclocal... found checking for working autoconf... found checking for
> working automake... found checking for working autoheader... found
> checking for working makeinfo... found checking whether to enable
> maintainer-specific portions of Makefiles... no creating ./config.status
> creating Makefile configuring in packages/io/usb/slave/current/host
> running /bin/sh
> ../../../../../../../ecos/packages/io/usb/slave/current/host/configure
> --host=arm-unknown-linux-gnu --target=arm-unknown-linux-gnu
> --build=i486-slackware-linux-gnu
> --prefix=/opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknown-linux-gnu/arm-
> unknown-linux-gnu/
> --cache-file=../../../../../.././config.cache
> --srcdir=../../../../../../../ecos/packages/io/usb/slave/current/host
> loading cache ../../../../../.././config.cache checking that a separate
> build tree is being used... yes checking host system type...
> arm-unknown-linux-gnu checking for a BSD compatible install... (cached)
> /usr/bin/ginstall -c checking whether build environment is sane... yes
> checking whether make sets ${MAKE}... (cached) yes checking for working
> aclocal-1.4... missing checking for working autoconf... found checking
> for working automake-1.4... missing checking for working autoheader...
> found checking for working makeinfo... found checking whether to enable
> maintainer-specific portions of Makefiles... no checking for gcc... gcc
> checking whether the C compiler (gcc  ) works... yes checking whether
> the C compiler (gcc  ) is a cross-compiler... no checking whether we are
> using GNU C... yes checking whether gcc accepts -g... yes checking for
> c++... c++ checking whether the C++ compiler (c++  ) works... yes
> checking whether the C++ compiler (c++  ) is a cross-compiler... no
> checking whether we are using GNU C++... yes checking whether c++
> accepts -g... yes checking whether ln -s works... yes checking for
> object suffix... o checking for Cygwin environment... no checking for
> mingw32 environment... no checking for executable suffix... no checking
> for Visual C++... no checking the default compiler flags... done
> checking for Tcl installation... -I/usr/include -L/usr/lib
> -ltcl8.4${TCL_DBGX} checking how to run the C preprocessor... gcc -E
> checking for linux/usb.h... yes checking for linux/usbdevice_fs.h... yes
> updating cache ../../../../../.././config.cache creating ./config.status
> creating Makefile creating config.h configuring in
> packages/services/profile/gprof/current/host
> running /bin/sh
> ../../../../../../../ecos/packages/services/profile/gprof/current/host/c
> onfigure
>  --host=arm-unknown-linux-gnu --target=arm-unknown-linux-gnu
> --build=i486-slackware-linux-gnu
> --prefix=/opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknown-linux-gnu/arm-
> unknown-linux-gnu/
> --cache-file=../../../../../.././config.cache
> --srcdir=../../../../../../../ecos/packages/services/profile/gprof/curre
> nt/host
> configure: loading cache ../../../../../.././config.cache checking that
> a separate build tree is being used... yes checking build system type...
> i486-slackware-linux-gnu checking host system type...
> arm-unknown-linux-gnu checking for a BSD-compatible install... (cached)
> /usr/bin/ginstall -c checking whether build environment is sane... yes
> checking whether make sets $(MAKE)... (cached) yes checking for working
> aclocal-1.4... missing checking for working autoconf... found checking
> for working automake-1.4... missing checking for working autoheader...
> found checking for working makeinfo... found checking whether to enable
> maintainer-specific portions of Makefiles... no updating cache
> ../../../../../.././config.cache
> configure: creating ./config.status
> config.status: creating Makefile
> configuring in packages/devs/eth/synth/ecosynth/current/host
> running /bin/sh
> ../../../../../../../../ecos/packages/devs/eth/synth/ecosynth/current/ho
> st/configure
>  --host=arm-unknown-linux-gnu --target=arm-unknown-linux-gnu
> --build=i486-slackware-linux-gnu
> --prefix=/opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknown-linux-gnu/arm-
> unknown-linux-gnu/
> --cache-file=../../../../../../.././config.cache
> --srcdir=../../../../../../../../ecos/packages/devs/eth/synth/ecosynth/c
> urrent/host
> loading cache ../../../../../../.././config.cache
> checking that a separate build tree is being used... yes checking host
> system type... arm-unknown-linux-gnu checking for a BSD compatible
> install... (cached) /usr/bin/ginstall -c checking whether build
> environment is sane... yes checking whether make sets ${MAKE}...
> (cached) yes checking for working aclocal-1.4... missing checking for
> working autoconf... found checking for working automake-1.4... missing
> checking for working autoheader... found checking for working
> makeinfo... found checking whether to enable maintainer-specific
> portions of Makefiles... no
> configure: warning: Synthetic target ethernet support is only available
> on x86 Linux hosts
> configure: warning: The synthetic ethernet support cannot be built on
> this platform.
> updating cache ../../../../../../.././config.cache
> creating ./config.status
> creating Makefile
> chandleg@constellation:/usr/src/tmp/build$ make Making all in
> packages/devs/watchdog/synth/current/host
> make[1]: Entering directory
> `/usr/src/tmp/build/packages/devs/watchdog/synth/current/host'
> make[1]: Nothing to be done for `all'.
> make[1]: Leaving directory
> `/usr/src/tmp/build/packages/devs/watchdog/synth/current/host'
> Making all in packages/hal/synth/arch/current/host
> make[1]: Entering directory
> `/usr/src/tmp/build/packages/hal/synth/arch/current/host'
> make[1]: Nothing to be done for `all'.
> make[1]: Leaving directory
> `/usr/src/tmp/build/packages/hal/synth/arch/current/host'
> Making all in packages/io/usb/slave/current/host
> make[1]: Entering directory
> `/usr/src/tmp/build/packages/io/usb/slave/current/host'
> gcc -DHAVE_CONFIG_H -I.
> -I../../../../../../../ecos/packages/io/usb/slave/current/host -I.   
> -pipe -Wall -Wpointer-arith -Wbad-function-cast -Wcast-qual
> -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -O0
> -DUSBHOST_VERSION=\"0.1\" -DPKGVERSION=\"current\"
> -DUSBAUXDIR=\"/opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknown-linux-gnu
> /arm-unknown-linux-gnu//libexec/ecos/io/usb/slave/current\"
>  -c
> ../../../../../../../ecos/packages/io/usb/slave/current/host/usbhost.c
> In file included from /usr/include/linux/usb.h:4,
>                  from
> ../../../../../../../ecos/packages/io/usb/slave/current/host/usbhost.c:8
> 7:
> /usr/include/linux/mod_devicetable.h:18: error: expected
> specifier-qualifier-list before '__u32'
> /usr/include/linux/mod_devicetable.h:31: error: expected
> specifier-qualifier-list before '__u32'
> /usr/include/linux/mod_devicetable.h:100: error: expected
> specifier-qualifier-list before '__u16'
> /usr/include/linux/mod_devicetable.h:136: error: expected
> specifier-qualifier-list before '__u16'
> /usr/include/linux/mod_devicetable.h:153: error: expected
> specifier-qualifier-list before '__u16'
> /usr/include/linux/mod_devicetable.h:166: error: expected
> specifier-qualifier-list before '__u8'
> /usr/include/linux/mod_devicetable.h:174: error: expected
> specifier-qualifier-list before '__u8'
> /usr/include/linux/mod_devicetable.h:179: error: expected
> specifier-qualifier-list before '__u8'
> /usr/include/linux/mod_devicetable.h:190: error: expected
> specifier-qualifier-list before '__u8'
> /usr/include/linux/mod_devicetable.h:207: error: expected
> specifier-qualifier-list before 'kernel_ulong_t'
> /usr/include/linux/mod_devicetable.h:220: error: expected
> specifier-qualifier-list before '__u16'
> /usr/include/linux/mod_devicetable.h:267: error: expected
> specifier-qualifier-list before '__u16'
> /usr/include/linux/mod_devicetable.h:299: error: expected
> specifier-qualifier-list before 'kernel_ulong_t'
> /usr/include/linux/mod_devicetable.h:326: error: expected
> specifier-qualifier-list before 'kernel_ulong_t'
> /usr/include/linux/mod_devicetable.h:332: error: expected
> specifier-qualifier-list before '__u8'
> ../../../../../../../ecos/packages/io/usb/slave/current/host/usbhost.c:
> In function 'run_test_bulk_out':
> ../../../../../../../ecos/packages/io/usb/slave/current/host/usbhost.c:6
> 52:
> warning: format '%s' expects type 'char *', but argument 6 has type
> 'int'
> ../../../../../../../ecos/packages/io/usb/slave/current/host/usbhost.c:6
> 52:
> warning: format '%s' expects type 'char *', but argument 6 has type
> 'int'
> ../../../../../../../ecos/packages/io/usb/slave/current/host/usbhost.c:
> In function 'run_test_bulk_in':
> ../../../../../../../ecos/packages/io/usb/slave/current/host/usbhost.c:7
> 41:
> warning: format '%s' expects type 'char *', but argument 6 has type
> 'int'
> ../../../../../../../ecos/packages/io/usb/slave/current/host/usbhost.c:7
> 41:
> warning: format '%s' expects type 'char *', but argument 6 has type
> 'int'
> ../../../../../../../ecos/packages/io/usb/slave/current/host/usbhost.c:
> In function 'run_test_control_in':
> ../../../../../../../ecos/packages/io/usb/slave/current/host/usbhost.c:8
> 63:
> warning: format '%s' expects type 'char *', but argument 5 has type
> 'int'
> ../../../../../../../ecos/packages/io/usb/slave/current/host/usbhost.c:8
> 63:
> warning: format '%s' expects type 'char *', but argument 5 has type
> 'int'
> make[1]: *** [usbhost.o] Error 1
> make[1]: Leaving directory
> `/usr/src/tmp/build/packages/io/usb/slave/current/host'
> make: *** [all-recursive] Error 1
> 


-- 
--["No sense being pessimistic, it wouldn't work anyway"]-- Opinions==mine


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]