#31614 closed defect (fixed)
radvd @1.6 'IPV6_PKTINFO’ undeclared - build failure
Reported by: | pburgstaller@… | Owned by: | lars.rasmusson@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.3 |
Keywords: | lion | Cc: | |
Port: | radvd |
Description
OS: MacOSX 10.7.2 Xcode: 4.1
---> Building radvd DEBUG: Executing org.macports.build (radvd) DEBUG: Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_radvd/radvd/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.7' DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_radvd/radvd/work/radvd-1.6" && /usr/bin/make -j4 -w all' DEBUG: Executing command line: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_radvd/radvd/work/radvd-1.6" && /usr/bin/make -j4 -w all make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_radvd/radvd/work/radvd-1.6' /usr/bin/make all-am make[1]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_radvd/radvd/work/radvd-1.6' if /Developer/usr/bin/llvm-gcc-4.2 -DPATH_RADVD_CONF=\"/opt/local/etc/radvd.conf\" -DPATH_RADVD_LOG=\"/opt/local/var/log/radvd.log\" -DLOG_FACILITY=LOG_DAEMON -DPATH_RADVD_PID=\"/opt/local/var/run/radvd.pid\" -DVERSION=\"1.6\" -DINET6=1 -I. -I. -I. -I. -I. -I/opt/local/include -pipe -O2 -arch x86_64 -Wall -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -MT log.o -MD -MP -MF ".deps/log.Tpo" -c -o log.o log.c; \ then mv -f ".deps/log.Tpo" ".deps/log.Po"; else rm -f ".deps/log.Tpo"; exit 1; fi if /Developer/usr/bin/llvm-gcc-4.2 -DPATH_RADVD_CONF=\"/opt/local/etc/radvd.conf\" -DPATH_RADVD_LOG=\"/opt/local/var/log/radvd.log\" -DLOG_FACILITY=LOG_DAEMON -DPATH_RADVD_PID=\"/opt/local/var/run/radvd.pid\" -DVERSION=\"1.6\" -DINET6=1 -I. -I. -I. -I. -I. -I/opt/local/include -pipe -O2 -arch x86_64 -Wall -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -MT socket.o -MD -MP -MF ".deps/socket.Tpo" -c -o socket.o socket.c; \ then mv -f ".deps/socket.Tpo" ".deps/socket.Po"; else rm -f ".deps/socket.Tpo"; exit 1; fi if /Developer/usr/bin/llvm-gcc-4.2 -DPATH_RADVD_CONF=\"/opt/local/etc/radvd.conf\" -DPATH_RADVD_LOG=\"/opt/local/var/log/radvd.log\" -DLOG_FACILITY=LOG_DAEMON -DPATH_RADVD_PID=\"/opt/local/var/run/radvd.pid\" -DVERSION=\"1.6\" -DINET6=1 -I. -I. -I. -I. -I. -I/opt/local/include -pipe -O2 -arch x86_64 -Wall -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -MT recv.o -MD -MP -MF ".deps/recv.Tpo" -c -o recv.o recv.c; \ then mv -f ".deps/recv.Tpo" ".deps/recv.Po"; else rm -f ".deps/recv.Tpo"; exit 1; fi if /Developer/usr/bin/llvm-gcc-4.2 -DPATH_RADVD_CONF=\"/opt/local/etc/radvd.conf\" -DPATH_RADVD_LOG=\"/opt/local/var/log/radvd.log\" -DLOG_FACILITY=LOG_DAEMON -DPATH_RADVD_PID=\"/opt/local/var/run/radvd.pid\" -DVERSION=\"1.6\" -DINET6=1 -I. -I. -I. -I. -I. -I/opt/local/include -pipe -O2 -arch x86_64 -Wall -Wpointer-arith -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -MT util.o -MD -MP -MF ".deps/util.Tpo" -c -o util.o util.c; \ then mv -f ".deps/util.Tpo" ".deps/util.Po"; else rm -f ".deps/util.Tpo"; exit 1; fi recv.c: In function ‘recv_rs_ra’: recv.c:100: error: ‘IPV6_PKTINFO’ undeclared (first use in this function) recv.c:100: error: (Each undeclared identifier is reported only once recv.c:100: error: for each function it appears in.) socket.c: In function ‘open_icmpv6_socket’: socket.c:45: error: ‘IPV6_RECVPKTINFO’ undeclared (first use in this function) socket.c:45: error: (Each undeclared identifier is reported only once socket.c:45: error: for each function it appears in.) make[1]: *** [recv.o] Error 1
Attachments (4)
Change History (13)
Changed 13 years ago by pburgstaller@…
comment:2 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | pburgstaller@… removed |
---|---|
Owner: | changed from macports-tickets@… to lars.rasmusson@… |
comment:3 Changed 13 years ago by Lars.Rasmusson@…
Looking in the header file netinet6/in6.h
which defines IPV6_PKTINFO
I notice that it has been changed in Lion.
I don't have Lion so I can't test it myself, but the header file says that to get the old definition of IPV6_PKTINFO
you should define __APPLE_USE_RFC_2292
before the files are included.
Could you try and just add
#define __APPLE_USE_RFC_2292
in the beginning (before importing includes.h) of socket.c send.c and recv.c
Here is Lion's in6.h http://www.opensource.apple.com/source/xnu/xnu-1699.24.8/bsd/netinet6/in6.h
comment:4 Changed 13 years ago by Lars.Rasmusson@…
I added an attachment with a Portfile for a more recent version of radvd that handles RFC 3542, the RFC that supersedes RFC 2292.
comment:5 Changed 13 years ago by pburgstaller@…
Did the adding of
#define __APPLE_USE_RFC_2292
in socket.c, send.c and recv.c
Compiled like a charm!
Thank you very much, Peter
Changed 13 years ago by stefan.van.der.eijk@…
Attachment: | Portfile.2 added |
---|
Changed 13 years ago by stefan.van.der.eijk@…
Attachment: | RFC3542.include.patch added |
---|
comment:6 follow-up: 7 Changed 13 years ago by stefan.van.der.eijk@…
One patch is needed in order for it to build on my mac mini (running Lion). See 2 attachments.
comment:7 Changed 13 years ago by stefan.van.der.eijk@…
Replying to stefan.van.der.eijk@…:
One patch is needed in order for it to build on my mac mini (running Lion). See 2 attachments.
$ diff -ur /opt/local/var/macports//sources/rsync.macports.org/release/ports/net/radvd/Portfile Portfile --- /opt/local/var/macports//sources/rsync.macports.org/release/ports/net/radvd/Portfile 2011-10-18 19:30:23.000000000 +0200 +++ Portfile 2012-01-02 23:52:31.000000000 +0100 @@ -9,6 +9,7 @@ maintainers sics.se:lars.rasmusson homepage http://www.litech.org/radvd/ master_sites ${homepage}dist/ +patchfiles RFC3542.include.patch description router advertisement daemon
comment:8 Changed 13 years ago by Lars.Rasmusson@…
Does it work if you skip the patch just add the define as a command line argument in the Portfile?
configure.cflags "-D__APPLE_USE_RFC_3542"
comment:9 Changed 12 years ago by jmroot (Joshua Root)
Keywords: | lion added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
mail.log