Skip to content

No longer builds against RTEMS-4 #33

@anjohnson

Description

@anjohnson

This is not a request to fix the problem I'm reporting as we aren't using this module on RTEMS-4, although we did build older ether_ip versions for it. I have filtered-out the RTEMS build target when importing this version; it's probably unlikely we will ever need to run ether_ip on VME systems in the future though.

An RTEMS-4.10.2 build of ether_ip 3.8 that I just tried to run failed to compile because (like VxWorks) the old RTEMS "score" OS API didn't have poll.h or the poll() function:

/usr/local/rtems-4.10.2/bin/m68k-rtems4.10.2-gcc --pipe -B/usr/local/rtems/rtems-4.10.2/m68k-rtems4.10.2/uC5282/lib/ -specs bsp_specs -qrtems   -fasm  -mcpu=5282    -D_GNU_SOURCE -D_DEFAULT_SOURCE        -DSUPPORT_LINT   -DUNIX      -O2 -g -g   -Wall -Werror-implicit-function-declaration    -DUSE_TYPED_RSET -DUSE_TYPED_DSET -DUSE_TYPED_DRVET -DSUPPORT_LINT  -DMY_DO_BOOTP=NULL   -DRTEMS_NETWORK_CONFIG_DNS_DOMAINNAME=aps.anl.gov -D__LINUX_ERRNO_EXTENSIONS__ -DRTEMS_LEGACY_STACK  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/RTEMS -I../../../include -I/C2/ioc-modules/build/BASE/7.0.6.1-C2-3+PH-025/include/compiler/gcc -I/C2/ioc-modules/build/BASE/7.0.6.1-C2-3+PH-025/include/os/RTEMS -I/C2/ioc-modules/build/BASE/7.0.6.1-C2-3+PH-025/include        -c ../ether_ip.c
../ether_ip.c:22:17: error: poll.h: No such file or directory
../ether_ip.c: In function 'connectWithTimeout':
../ether_ip.c:1986: error: variable 'fds' has initializer but incomplete type
../ether_ip.c:1986: error: unknown field 'fd' specified in initializer
../ether_ip.c:1986: warning: excess elements in struct initializer
../ether_ip.c:1986: warning: (near initialization for 'fds')
../ether_ip.c:1986: error: unknown field 'events' specified in initializer
../ether_ip.c:1986: error: 'POLLOUT' undeclared (first use in this function)
../ether_ip.c:1986: error: (Each undeclared identifier is reported only once
../ether_ip.c:1986: error: for each function it appears in.)
../ether_ip.c:1986: warning: excess elements in struct initializer
../ether_ip.c:1986: warning: (near initialization for 'fds')
../ether_ip.c:1986: error: storage size of 'fds' isn't known
../ether_ip.c:1989: error: implicit declaration of function 'poll'
../ether_ip.c:1986: warning: unused variable 'fds'
make[3]: *** [/C2/ioc-modules/build/BASE/7.0.6.1-C2-3+PH-025/configure/RULES_BUILD:259: ether_ip.o] Error 1
make[3]: Leaving directory '/home/phoebus4/ANJ/C2/ioc-modules/import/ether_ip-ether_ip-3-8/ether_ipApp/src/O.RTEMS-uC5282'
make[2]: *** [/C2/ioc-modules/build/BASE/7.0.6.1-C2-3+PH-025/configure/RULES_ARCHS:58: install.RTEMS-uC5282] Error 2
make[2]: Leaving directory '/home/phoebus4/ANJ/C2/ioc-modules/import/ether_ip-ether_ip-3-8/ether_ipApp/src'
make[1]: *** [/C2/ioc-modules/build/BASE/7.0.6.1-C2-3+PH-025/configure/RULES_DIRS:85: src.install] Error 2
make[1]: Leaving directory '/home/phoebus4/ANJ/C2/ioc-modules/import/ether_ip-ether_ip-3-8/ether_ipApp'
make: *** [/C2/ioc-modules/build/BASE/7.0.6.1-C2-3+PH-025/configure/RULES_DIRS:85: ether_ipApp.install] Error 2

The Posix API that RTEMS-5 and later releases support (which EPICS now requires) does support poll() so should work fine with this release. If do we need to run this on newer RTEMS targets in the future I'll report back if I do find any problems with that.

Thanks for the new release!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions