-
Notifications
You must be signed in to change notification settings - Fork 28
Description
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!