Hi Grant,
Grant Edwards wrote:
On 2008-09-17, Grant Edwards <[EMAIL PROTECTED]> wrote:
On 2008-09-16, Grant Edwards <[EMAIL PROTECTED]> wrote:
I'm attempting to follow the "getting started" article at
http://www.ucdot.org/archive/tb/tb20020807.shtml. I'm trying
to build uClinux-dist-20080808 for the xcopilot target using
toolchain binaries from m68k-uclinux-tools-20061214.tar.bz2.
None of the kernel versions will build.
I gave up on the xcopilot target, and decided to try to build
the Samsung S3C4510B target using arm-linux-tools-20070808.
There is no 2.6 or 2.0 configuration for the S3C4510, so I
tried to build 2.4. That fails:
OK, so I gave up on xcopilot, and I gave up on S3C4510.
There must be at least _one_ target that builds -- right?
>
Seriously. There is, isn't there?
Yes, there is at least one :-)
Here is what I tested (with vendor/product and specific
kernel version and libc) before I pushed up 20080808:
BUILD: Freescale-M5206eC3-linux-2.4.x-uC-libc --> passed
BUILD: Freescale-M5206eC3-linux-2.4.x-uClibc --> passed
BUILD: Freescale-M5206eC3-linux-2.6.x-uC-libc --> passed
BUILD: Freescale-M5206eC3-linux-2.6.x-uClibc --> passed
BUILD: Freescale-M5206eLITE-linux-2.4.x-uClibc --> passed
BUILD: Freescale-M5206eLITE-linux-2.6.x-uClibc --> passed
BUILD: Freescale-M5208EVB-linux-2.4.x-uClibc --> passed
BUILD: Freescale-M5208EVB-linux-2.6.x-uClibc --> passed
BUILD: Freescale-M5235EVB-linux-2.4.x-uClibc --> passed
BUILD: Freescale-M5235EVB-linux-2.6.x-uClibc --> passed
BUILD: Freescale-M5249C3-linux-2.4.x-uClibc --> passed
BUILD: Freescale-M5249C3-linux-2.6.x-uClibc --> passed
BUILD: Freescale-M5271EVB-linux-2.4.x-uClibc --> passed
BUILD: Freescale-M5271EVB-linux-2.6.x-uClibc --> passed
BUILD: Freescale-M5272C3-linux-2.4.x-uClibc --> passed
BUILD: Freescale-M5272C3-linux-2.6.x-uClibc --> passed
BUILD: Freescale-M5275EVB-linux-2.4.x-uClibc --> passed
BUILD: Freescale-M5275EVB-linux-2.6.x-uClibc --> passed
BUILD: Freescale-M5282EVB-linux-2.4.x-uClibc --> passed
BUILD: Freescale-M5282EVB-linux-2.6.x-uClibc --> passed
BUILD: Freescale-M5282LITE-linux-2.4.x-uClibc --> passed
BUILD: Freescale-M5282LITE-linux-2.6.x-uClibc --> passed
BUILD: Freescale-M5307C3-linux-2.4.x-uC-libc --> passed
BUILD: Freescale-M5307C3-linux-2.4.x-uClibc --> passed
BUILD: Freescale-M5307C3-linux-2.6.x-uC-libc --> passed
BUILD: Freescale-M5307C3-linux-2.6.x-uClibc --> passed
BUILD: Freescale-M5329EVB-linux-2.6.x-uClibc --> passed
BUILD: Freescale-M5407C3-linux-2.4.x-uClibc --> passed
BUILD: Freescale-M5407C3-linux-2.6.x-uClibc --> passed
BUILD: Arnewsh-M5206-linux-2.4.x-uClibc --> passed
BUILD: Arnewsh-M5206-linux-2.6.x-uClibc --> passed
BUILD: Arnewsh-M5307-linux-2.4.x-uClibc --> passed
BUILD: Arnewsh-M5307-linux-2.6.x-uClibc --> passed
BUILD: Netburner-CFV240-linux-2.4.x-uC-libc --> passed
BUILD: Netburner-MOD5272-linux-2.4.x-uClibc --> passed
BUILD: Netburner-MOD5272-linux-2.6.x-uClibc --> passed
BUILD: Netburner-MOD5282-linux-2.4.x-uClibc --> passed
BUILD: Netburner-MOD5282-linux-2.6.x-uClibc --> passed
BUILD: Feith-CANCam-linux-2.4.x-uClibc --> passed
BUILD: Feith-CANCam-linux-2.6.x-uClibc --> passed
BUILD: Feith-Cleopatra-linux-2.4.x-uClibc --> passed
BUILD: Feith-Cleopatra-linux-2.6.x-uClibc --> passed
BUILD: Feith-Cleopatra2-linux-2.4.x-uClibc --> passed
BUILD: Feith-SCALES-linux-2.4.x-uClibc --> passed
BUILD: Feith-SCALES-linux-2.6.x-uClibc --> passed
BUILD: GDB-ARMulator-linux-2.4.x-uClibc --> passed
BUILD: GDB-ARMulator-linux-2.6.x-uClibc --> passed
BUILD: GDB-ARMulator-EB-linux-2.4.x-uClibc --> passed
BUILD: GDB-SkyEye-linux-2.4.x-uClibc --> passed
BUILD: GDB-SkyEye-linux-2.6.x-uClibc --> passed
BUILD: Atmel-AT91-linux-2.4.x-uClibc --> passed
BUILD: Atmel-AT91-linux-2.6.x-uClibc --> passed
BUILD: KendinMicrel-KS8695-linux-2.4.x-uClibc --> passed
BUILD: KendinMicrel-KS8695-linux-2.6.x-uClibc --> passed
BUILD: NXP-LPC28xx-linux-2.6.x-uClibc --> passed
BUILD: Triscend-A7DB-linux-2.4.x-uClibc --> passed
BUILD: Intel-IXDP425-linux-2.4.x-uClibc --> passed
BUILD: Intel-IXDP425-linux-2.6.x-uClibc --> passed
BUILD: Intel-IXDP465-linux-2.4.x-uClibc --> passed
BUILD: Intel-IXDP465-linux-2.6.x-uClibc --> passed
BUILD: Intel-IXDPG425-linux-2.4.x-uClibc --> passed
BUILD: Intel-IXDPG425-linux-2.6.x-uClibc --> passed
BUILD: Intel-MonteJade-linux-2.4.x-uClibc --> passed
BUILD: Intel-MonteJade-linux-2.6.x-uClibc --> passed
BUILD: ADI-Coyote-linux-2.4.x-uClibc --> passed
BUILD: ADI-Coyote-linux-2.6.x-uClibc --> passed
BUILD: Arcturus-uCdimm-linux-2.4.x-uClibc --> passed
BUILD: Arcturus-uCdimm-linux-2.6.x-uClibc --> passed
BUILD: Arcturus-uCsimm-linux-2.4.x-uClibc --> passed
BUILD: Arcturus-uCsimm-linux-2.6.x-uClibc --> passed
BUILD: Arcturus-uC5272-linux-2.4.x-uClibc --> passed
BUILD: Arcturus-uC5272-linux-2.6.x-uClibc --> passed
BUILD: OpenGear-CM4008-linux-2.4.x-uClibc --> passed
BUILD: OpenGear-CM41xx-linux-2.4.x-uClibc --> passed
BUILD: OpenGear-SD4002-linux-2.4.x-uClibc --> passed
BUILD: Cirrus-EDB9312-linux-2.4.x-uClibc --> passed
BUILD: Via-EPIA-linux-2.4.x-uClibc --> passed
BUILD: Hitachi-KeyWest-linux-2.4.x-uClibc --> passed
BUILD: Hitachi-BigSurIV-linux-2.4.x-uClibc --> passed
BUILD: Soekris-net4801-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-LITE300-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-SME530-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-SME550-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-SME570-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-SME575-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-LITE-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-SE2580-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-SE2580-JFFS-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-SE4000-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-SE5000-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-SE3400-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-SE2900-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-SE2910-CF-linux-2.4.x-uClibc --> passed
BUILD: SnapGear-SE2910-Intel-linux-2.4.x-uClibc --> passed
BUILD: SecureEdge-SecureEdgeVPN-linux-2.4.x-uClibc --> passed
BUILD: SecureEdge-SecureEdgePCMCIA-linux-2.4.x-uClibc --> passed
BUILD: SecureEdge-SecureEdge2580-linux-2.4.x-uClibc --> passed
BUILD: SecureEdge-SecureEdge1100-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SG300-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SG530-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SG550-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SG570-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SG575-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SG560-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SG565-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SG580-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SG710-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SG630-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SG635-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SE4200-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SE4500-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SE4700-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SE5000-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SE5100-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SE7100-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-SG810-linux-2.4.x-uClibc --> passed
BUILD: CyberGuard-sVPN-linux-2.4.x-uClibc --> passed
BUILD: SecureComputing-audiophile-linux-2.4.x-uClibc --> passed
BUILD: SecureComputing-SG300-linux-2.4.x-uClibc --> passed
BUILD: SecureComputing-SG310-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SG560-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SG565-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SG580-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SG640-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SG710-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SG710-linux-2.4.x-uClibc --> passed
BUILD: SecureComputing-SG720-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SG8100-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SG530-linux-2.4.x-uClibc --> passed
BUILD: SecureComputing-SG550-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SG570-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SG575-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SG635-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SE4200-linux-2.4.x-uClibc --> passed
BUILD: SecureComputing-SE4500-linux-2.4.x-uClibc --> passed
BUILD: SecureComputing-SE4700-linux-2.4.x-uClibc --> passed
BUILD: SecureComputing-SE5000-linux-2.6.x-uClibc --> passed
BUILD: SecureComputing-SE5100-linux-2.4.x-uClibc --> passed
BUILD: SecureComputing-SE7100-linux-2.4.x-uClibc --> passed
BUILD: SecureComputing-SG810-linux-2.4.x-uClibc --> passed
BUILD: SecureComputing-sVPN-linux-2.4.x-uClibc --> passed
Next, I decided to try to build for the Snapgear LITE target.
Since I've got a couple Snapgear LITES sitting in a box
somewhere, I thought I'd try it next.
Here's how that fails:
$ make dep
which: no m68k-uclinux-20060615-gcc in
(/opt/uclinux/bin:/home/grante/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i486-pc-linux-gnu/gcc-bin/4.1.2:/usr/kde/3.5/bin:/usr/qt/3/bin:/opt/gnu/bin)
make ARCH=m68knommu CROSS_COMPILE=m68k-uclinux- -C linux-2.4.x dep
make[1]: Entering directory `/home/grante/uclinux/uClinux-dist/linux-2.4.x'
rm -f .depend .hdepend
make _sfdep_arch/m68knommu/kernel _sfdep_arch/m68knommu/mm _sfdep_arch/m68knommu/lib
_sfdep_arch/m68knommu/platform/5272 _sfdep_kernel _sfdep_drivers _sfdep_mmnommu _sfdep_fs
_sfdep_net _sfdep_ipc _sfdep_lib _sfdep_crypto
_FASTDEP_ALL_SUB_DIRS="arch/m68knommu/kernel arch/m68knommu/mm arch/m68knommu/lib
arch/m68knommu/platform/5272 kernel drivers mmnommu fs net ipc lib crypto"
make[2]: Entering directory `/home/grante/uclinux/uClinux-dist/linux-2.4.x'
make -C arch/m68knommu/kernel fastdep
make[3]: Entering directory
`/home/grante/uclinux/uClinux-dist/linux-2.4.x/arch/m68knommu/kernel'
/home/grante/uclinux/uClinux-dist/linux-2.4.x/scripts/mkdep -fno-builtin -nostdinc
-D__KERNEL__ -I/home/grante/uclinux/uClinux-dist/linux-2.4.x/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-builtin-sprintf
-fomit-frame-pointer -Wno-pointer-sign -I /usr/local/lib/gcc/m68k-uclinux/4.1.1//include
-pipe -DNO_MM -DNO_FPU -m5307 -Wa,-S -Wa,-m5307 -D__ELF__ -DMAGIC_ROM_PTR
-DUTS_SYSNAME=\"uClinux\" -D__linux__ -O1 -nostdinc -iwithprefix include --
bios32.c console.c m68k_defs.c m68k_ksyms.c process.c ptrace.c semaphore.c setup.c
sys_m68k.c time.c traps.c > .depend
realpath(/usr/local/lib/gcc/m68k-uclinux/4.1.1//include) failed, No such
file or directory
make[3]: *** [fastdep] Error 1
make[3]: Leaving directory
`/home/grante/uclinux/uClinux-dist/linux-2.4.x/arch/m68knommu/kernel'
make[2]: *** [_sfdep_arch/m68knommu/kernel] Error 2
make[2]: Leaving directory `/home/grante/uclinux/uClinux-dist/linux-2.4.x'
make[1]: *** [dep-files] Error 2
make[1]: Leaving directory `/home/grante/uclinux/uClinux-dist/linux-2.4.x'
make: *** [dep] Error 2
I'm a little suspicious of that first line of output from
which. Why is looking for m68k-uclinux-20060615-gcc?
$ grep -r 20060615 .
./vendors/config/m68knommu/config.arch:ifneq ($(shell which
m68k-uclinux-20060615-gcc),)
./vendors/config/m68knommu/config.arch:CROSS_COMPILE = m68k-uclinux-20060615-
What's so special about that particular version of the
m68k-uclinux toolchain?
Should we not use a later toolchain?
The dist has been set up to allow multiple similar tool chanins
to be installed (thus the dated tool parts). But it will fall back
to the usual base type (ie m68k-elf-) if nothing else is installed.
Is using too recent a toolchain with m68k targets what causes
the thousands of warnings like these?
namei.c:2050: warning: matching constraint does not allow a register
namei.c:2050: warning: matching constraint does not allow a register
namei.c:2050: warning: matching constraint does not allow a register
namei.c:2050: warning: matching constraint does not allow a register
namei.c:2050: warning: matching constraint does not allow a register
namei.c:2050: warning: matching constraint does not allow a register
That is the older 2.4 kernel code not being warning clean on
more modern versions of gcc. It is noisy, but otherwise seems
to work. You will get very few warnings if using the 2.6 kernel.
Are those warnings something about which I should be concerned?
I'm not sure if that complaint from "which" has anything to do
with the later failure which is caused by a non-existant
directory path being passed to mkdep:
-I /usr/local/lib/gcc/m68k-uclinux/4.1.1//include
That's wront because my toolchain is not installed in
/usr/local. I do development for several different targets and
OSes, and you can't assuming you can install things with names
like m68k-elf-gcc in /usr/local/bin without conflicts. So the
uclinux tools are installed in /opt/uclinux instead of
/usr/local.
But, I can't figure out where that bogus path is being set. The
most portable thing to do would be to do something like the
following (in bash syntax):
$(dirname $(${CROSS_COMPILE}-gcc --print-libgcc-file))/include
Anyhow, I'll add a symlink from /usr/local/lib/gcc/m68k-uclinux
and try again...
Regards
Greg
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Dude EMAIL: [EMAIL PROTECTED]
Secure Computing Corporation PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev