binds wrote:
run:
gcc -o openl2tpd l2tp_main.o l2tp_common.o l2tp_avp.o l2tp_packet.o l2tp_network.o l2tp_tunnel.o l2tp_peer.o l2tp_transport.o l2tp_session.o l2tp_ppp.o l2tp_plugin.o l2tp_event.o l2tp_test.o md5.o l2tp_api.o l2tp_rpc_server.o l2tp_rpc_xdr.o l2tp_config_token.o l2tp_config_parse.o -Wl,-E -L. -Lusl -lusl -ldl -lfl
l2tp_api.o: In function `l2tp_api_rpc_msg':
l2tp_api.c:(.text+0x39): undefined reference to `svc_getreqset'
l2tp_api.o: In function `l2tp_api_poll_hook':
l2tp_api.c:(.text+0x51): undefined reference to `__rpc_thread_svc_fdset'
l2tp_api.o: In function `l2tp_api_rpc_check_request':
l2tp_api.c:(.text+0xa54): undefined reference to `svcerr_auth'
l2tp_api.o: In function `l2tp_api_init':
l2tp_api.c:(.text+0xa79): undefined reference to `svcudp_create'
l2tp_api.c:(.text+0xaba): undefined reference to `svctcp_create'
l2tp_api.c:(.text+0xaee): undefined reference to `pmap_unset'
l2tp_api.c:(.text+0xb0b): undefined reference to `svc_register'
l2tp_api.c:(.text+0xb7d): undefined reference to `svc_register'
l2tp_api.o: In function `l2tp_api_cleanup':
l2tp_api.c:(.text+0xbfa): undefined reference to `xprt_unregister'
l2tp_api.c:(.text+0xc20): undefined reference to `svc_unregister'
l2tp_api.c:(.text+0xc28): undefined reference to `xprt_unregister'
l2tp_api.c:(.text+0xc43): undefined reference to `svc_unregister'
l2tp_api.o:(.rodata+0x2f0): undefined reference to `xdr_void'
l2tp_api.o:(.rodata+0x300): undefined reference to `xdr_short'
l2tp_api.o:(.rodata+0x310): undefined reference to `xdr_u_short'
l2tp_api.o:(.rodata+0x320): undefined reference to `xdr_int'
l2tp_api.o:(.rodata+0x330): undefined reference to `xdr_u_int'
..........
l2tp_rpc_xdr.o: In function `xdr_l2tp_session_get_1_argument':
l2tp_rpc_xdr.c:(.text+0x787c): undefined reference to `xdr_uint16_t'
l2tp_rpc_xdr.o:l2tp_rpc_xdr.c:(.text+0x78a6): more undefined references to `xdr_uint16_t' follow
collect2: error: ld returned 1 exit status
make: *** [openl2tpd] Error 1
-------------------------------------------------
my system:
- ../gcc-4.7.1/configure --prefix=/usr --libexecdir=/usr/lib --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++ --disable-multilib --disable-bootstrap --with-system-zlib
- ld-2.15
- libtirpc.so.1.0.10
Some versions of libc no longer include rpc support. I suggest find which lib on your system has the rpc functions and add that to your link command line.