Subject: Linux crosscompile problem
To: None <current-users@netbsd.org>
From: Juraj Hercek <nbsd@hck.sk>
List: current-users
Date: 01/29/2007 16:50:55
Hi,
I'm having troubles compiling netbsd-current on linux host.
...
dependall ===> tools/makefs
link makefs/makefs
cd9660_debug.lo: In function `debug_get_encoded_number':
cd9660_debug.c:(.text+0x16b): undefined reference to `le16dec'
cd9660_debug.c:(.text+0x178): undefined reference to `le32dec'
cd9660_debug.c:(.text+0x186): undefined reference to `be16dec'
cd9660_debug.c:(.text+0x196): undefined reference to `be32dec'
cd9660_debug.c:(.text+0x1a0): undefined reference to `le16dec'
cd9660_debug.c:(.text+0x1ad): undefined reference to `le32dec'
cd9660_debug.lo: In function `debug_print_tree':
cd9660_debug.c:(.text+0x9cf): undefined reference to `le32dec'
cd9660_debug.c:(.text+0x9f9): undefined reference to `le32dec'
collect2: ld returned 1 exit status
*** Failed target: makefs
*** Failed command: cc -O -I.
-I/home/bsd/work/netbsd/src/../obj/tools/compat
-I/home/bsd/work/netbsd/src/../obj/tools/compat/include
-I/home/bsd/work/netbsd/src/tools/makefs/../compat
-DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64
-I/home/bsd/work/netbsd/src/tools/makefs/../../usr.sbin/makefs
-I/home/bsd/work/netbsd/src/sbin/mknod
-I/home/bsd/work/netbsd/src/usr.sbin/mtree
-I/home/bsd/work/netbsd/src/sys/fs/cd9660 -o makefs buf.lo cd9660.lo
cd9660_strings.lo cd9660_debug.lo cd9660_eltorito.lo cd9660_write.lo
cd9660_conversion.lo iso9660_rrip.lo ffs.lo ffs_alloc.lo ffs_balloc.lo
ffs_bswap.lo ffs_subr.lo ffs_tables.lo getid.lo makefs.lo misc.lo
mkfs.lo pack_dev.lo spec.lo ufs_bmap.lo walk.lo
-L/home/bsd/work/netbsd/src/../obj/tools/compat -lnbcompat -lz
*** Error code 1
...
It seems that le16dec is not defined on linux host (if that matters):
[linux]$ find /usr/include | xargs grep "le16dec"
[linux]$
---
[netbsd]$ find /usr/include | xargs grep "le16dec"
/usr/include/sys/endian.h:le16dec(const void *buf)
[netbsd]$
Any idea how to solve this problem?
-- Juraj