Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

#337 closed defect (fixed)

loopback does not build (libnetworking broken?)

Reported by: Ralf Corsepius Owned by: Joel Sherrill
Priority: highest Milestone: 2
Component: network/legacy Version: unknown
Severity: critical Keywords:
Cc: bugs@…, ralf.corsepius@… Blocked By:
Blocking:

Description

I have not been able to build loopback for any BSP yet:

make[3]: Entering directory `/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems
/c/erc32/tests/samples/loopback'
sparc-rtems-gcc --pipe -B../../../../../lib/ -B../../../../../erc32/lib/ -specs
bsp_specs -qrtems -mcpu=cypress -O4 -g -Wall -ansi -fasm -o o-optimize/
loopback.exe o-optimize/init.o ../../../../../erc32/lib/no-dpmem.rel ../../../..
/../erc32/lib/no-msg.rel ../../../../../erc32/lib/no-mp.rel ../../../../../erc32
/lib/no-part.rel ../../../../../erc32/lib/no-signal.rel ../../../../../erc32/lib
/no-timer.rel ../../../../../erc32/lib/no-rtmon.rel
../../../../../erc32/lib/librtemscpu.a(ip_input.o): In function `ip_input':
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/ip_input.c:247: undef
ined reference to `sysctl_handle_int'
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/ip_input.c:264: undef
ined reference to `sysctl_handle_int'
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/ip_input.c:577: undef
ined reference to `sysctl_handle_int'
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/ip_input.c:274: undef
ined reference to `sysctl_handle_int'
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/ip_input.c:288: undef
ined reference to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(ip_input.o):/users/rtems/src/rtems-cvs/bu
ild/sparc/sparc-rtems/c/erc32/exec/libnetworking/../../../../../../../rtems.work
/cpukit/libnetworking/netinet/ip_input.c:297: more undefined references to `sysc
tl_handle_int' follow
../../../../../erc32/lib/librtemscpu.a(kern_mib.o)(.data+0x20): undefined refere
nce to `sysctlchildren'
../../../../../erc32/lib/librtemscpu.a(kern_mib.o)(.data+0x4c): undefined refere
nce to `sysctl
children'
../../../../../erc32/lib/librtemscpu.a(kern_mib.o)(.data+0x78): undefined refere
nce to `sysctlchildren'
../../../../../erc32/lib/librtemscpu.a(kern_mib.o)(.data+0xc0): undefined refere
nce to `sysctl_handle_string'
../../../../../erc32/lib/librtemscpu.a(kern_mib.o)(.data+0xec): undefined refere
nce to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(kern_mib.o)(.data+0x118): undefined refer
ence to `sysctl_handle_string'
../../../../../erc32/lib/librtemscpu.a(rtems_glue.o): In function `bsd_init':
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/rtems/rtems_glue.c:207: undef
ined reference to `sysctl_register_all'
../../../../../erc32/lib/librtemscpu.a(rtems_syscall.o): In function `sysctl':
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/rtems/rtems_syscall.c:645: un
defined reference to `userland_sysctl'
../../../../../erc32/lib/librtemscpu.a(uipc_socket2.o): In function `soisconnect
ed':
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/kern/uipc_socket2.c:115: unde
fined reference to `sysctl_handle_int'
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/kern/uipc_socket2.c:116: unde
fined reference to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(uipc_socket.o): In function `socreate':
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/kern/uipc_socket.c:81: undefi
ned reference to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(if_ether.o): In function `arprequest':
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/if_ether.c:289: undef
ined reference to `sysctl_handle_int'
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/if_ether.c:289: undef
ined reference to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(if_ether.o):/users/rtems/src/rtems-cvs/bu
ild/sparc/sparc-rtems/c/erc32/exec/libnetworking/../../../../../../../rtems.work
/cpukit/libnetworking/netinet/if_ether.c:290: more undefined references to `sysc
tl_handle_int' follow
../../../../../erc32/lib/librtemscpu.a(ip_icmp.o)(.data+0x1c): undefined referen
ce to `sysctl_handle_opaque'
../../../../../erc32/lib/librtemscpu.a(ip_icmp.o)(.data+0x4c): undefined referen
ce to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(ip_icmp.o)(.data+0x7c): undefined referen
ce to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(tcp_input.o)(.data+0x20): undefined refer
ence to `sysctl_handle_opaque'
../../../../../erc32/lib/librtemscpu.a(tcp_input.o)(.data+0x50): undefined refer
ence to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(tcp_subr.o): In function `tcp_pcblist':
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/tcp_subr.c:499: undef
ined reference to `sysctl_wire_old_buffer'
../../../../../erc32/lib/librtemscpu.a(tcp_subr.o): In function `tcp_template':
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/tcp_subr.c:145: undef
ined reference to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(tcp_timer.o): In function `tcp_slowtimo':
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/tcp_timer.c:140: unde
fined reference to `sysctl_handle_int'
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/tcp_timer.c:156: unde
fined reference to `sysctl_handle_int'
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/tcp_timer.c:155: unde
fined reference to `sysctl_handle_int'
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/tcp_timer.c:175: unde
fined reference to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(tcp_usrreq.o):/users/rtems/src/rtems-cvs/
build/sparc/sparc-rtems/c/erc32/exec/libnetworking/../../../../../../../rtems.wo
rk/cpukit/libnetworking/netinet/tcp_usrreq.c:557: more undefined references to `
sysctl_handle_int' follow
../../../../../erc32/lib/librtemscpu.a(udp_usrreq.o): In function `udp_pcblist':
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/udp_usrreq.c:495: und
efined reference to `sysctl_wire_old_buffer'
../../../../../erc32/lib/librtemscpu.a(udp_usrreq.o)(.data+0x20): undefined refe
rence to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(udp_usrreq.o)(.data+0x50): undefined refe
rence to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(udp_usrreq.o): In function `udp_input':
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/udp_usrreq.c:135: und
efined reference to `sysctl_handle_opaque'
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/udp_usrreq.c:324: und
efined reference to `sysctl_handle_int'
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/udp_usrreq.c:161: und
efined reference to `sysctl_handle_int'
../../../../../erc32/lib/librtemscpu.a(igmp.o): In function `igmp_init':
/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/c/erc32/exec/libnetworking/..
/../../../../../../rtems.work/cpukit/libnetworking/netinet/igmp.c:95: undefined
reference to `sysctl_handle_opaque'
collect2: ld returned 1 exit status
gmake[3]: * [o-optimize/loopback.exe] Error 1
gmake[3]: Leaving directory `/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/
c/erc32/tests/samples/loopback'
gmake[2]:
* [all-recursive] Error 1
gmake[2]: Leaving directory `/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/
c/erc32/tests/samples'
gmake[1]: * [all-recursive] Error 1
gmake[1]: Leaving directory `/users/rtems/src/rtems-cvs/build/sparc/sparc-rtems/
c/erc32/tests'

Something is severly bugged with loopback or with libnetworking,

A grep through the source code reveals that at least some symbols accessed by loopback do not seem to be provided by RTEMS/libnetworking:

Example: sysctrl_handle_opaque seems to be entirely missing

# find . -type f -exec grep -H sysctl_handle_opaque {} \;
./cpukit/libnetworking/sys/sysctl.h:int sysctl_handle_opaque(SYSCTL_HANDLER_ARGS);
./cpukit/libnetworking/sys/sysctl.h: ptr, len, sysctl_handle_opaque,
fmt, descr)
./cpukit/libnetworking/sys/sysctl.h: ptr, len, sysctl_handle_opaque, fmt, descr)
./cpukit/libnetworking/sys/sysctl.h: ptr, sizeof(struct type), sysctl_handle_opaque, \
./cpukit/libnetworking/sys/sysctl.h: ptr, sizeof(struct type), sysctl_handle_opaque, "S," #type, descr)
./cpukit/libnetworking/kern/kern_sysctl.c:sysctl_handle_opaque(SYSCTL_HANDLER_ARGS)

Release:
RTEMS-CVS

Environment:
gcc-3.2.1-20021209/newlib-1.11.0-20030120-1
binutils-2.13.2.1

How-To-Repeat:
configure --target=sparc-rtems --enable-networking
make RTEMS_BSP=erc32

Change History (2)

comment:1 Changed on 01/28/03 at 10:16:08 by Ralf Corsepius

Owner: changed from mayes to joel

comment:2 Changed on 01/28/03 at 13:20:21 by Joel Sherrill

Status: assignedclosed

State-Changed-From-To: open->closed
State-Changed-Why: Sorry. I went home before committing the patch to

cpukit/libnetworking/Makefile.am that added kern/kern_sysctl.c
to the build.

Note: See TracTickets for help on using tickets.