Current CVS does not compile on (old?) i386 architecture

Georg Lehner <[email protected]> Sat, 26 Aug 2017 08:11:13 -0600
Newsgroups gmane.linux.lib.dietlibc
Message-ID <[email protected]>
Hello,

I am trying to compile the current CVS version of dietlibc on a Toshiba
Satellite 1135-S1553 with a Celeron CPU (cpuinfo below) under Debian 9.1
(stretch).

The build fails when linking dnsd, because of missing socket etc.  see
error message below.

Uncommenting  #define WANT_I386_SOCKETCALL makes dietlibc compile but
compiling gatling fails with

/opt/diet/lib-i386/libowfat.a(socket_accept6.o): In function
`socket_accept6':
socket_accept6.c:(.text+0x31): undefined reference to `accept'

The GitHub repository from Enrico Scholz:
https://github.com/ensc/dietlibc is compiling and linking well, but I
can't see what makes the difference

Best Regards,

  Georg

- - - cpuinfo - - -
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Mobile Intel(R) Celeron(R) CPU 2.40GHz
stepping        : 9
microcode       : 0x10
cpu MHz         : 2397.943
cache size      : 256 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pebs
bts eagerfpu cid xtpr
bugs            :
bogomips        : 4795.88
clflush size    : 64
cache_alignment : 128
address sizes   : 36 bits physical, 32 bits virtual
power management:

- - - error message, CVS build - - -
bin-i386/diet gcc -D__dietlibc__ -pipe -nostdinc -D_REENTRANT  -O2 -pipe
-fomit-frame-pointer -W -Wall -Wextra -Wchar-subscripts
-Wmissing-prototypes -Wmissing-declarations -Wno-switch -Wno-unused
-Wredundant-decls -Wshadow -o bin-i386/dnsd contrib/dnsd.c
/tmp/ccrdnqFX.o: In function `init_sockets':
dnsd.c:(.text+0x99): undefined reference to `socket'
dnsd.c:(.text+0xa9): undefined reference to `socket'
dnsd.c:(.text+0xdd): undefined reference to `setsockopt'
dnsd.c:(.text+0x11d): undefined reference to `bind'
dnsd.c:(.text+0x145): undefined reference to `setsockopt'
dnsd.c:(.text+0x17f): undefined reference to `bind'
dnsd.c:(.text+0x1ab): undefined reference to `setsockopt'
dnsd.c:(.text+0x1bf): undefined reference to `setsockopt'
dnsd.c:(.text+0x216): undefined reference to `setsockopt'
dnsd.c:(.text+0x226): undefined reference to `setsockopt'
dnsd.c:(.text+0x26d): undefined reference to `setsockopt'
dnsd.c:(.text+0x2a1): undefined reference to `bind'
dnsd.c:(.text+0x2de): undefined reference to `setsockopt'
dnsd.c:(.text+0x306): undefined reference to `setsockopt'
dnsd.c:(.text+0x319): undefined reference to `setsockopt'
/tmp/ccrdnqFX.o: In function `handle.constprop.2':
dnsd.c:(.text+0x79d): undefined reference to `sendto'
dnsd.c:(.text+0x8d7): undefined reference to `socket'
/tmp/ccrdnqFX.o: In function `main':
dnsd.c:(.text.startup+0x1e1): undefined reference to `recvmsg'
dnsd.c:(.text.startup+0x25a): undefined reference to `recvmsg'
collect2: error: ld returned 1 exit status
Makefile:349: recipe for target 'bin-i386/dnsd' failed
make: *** [bin-i386/dnsd] Error 1