libslirp does not build with macOS
I've been trying to build libslirp
for macOS.
I followed the instructions, but while running ninja -C build
, I get this output.
ninja: Entering directory `build'
[32/32] Linking target libslirp.0.dylib
FAILED: libslirp.0.dylib
cc -o libslirp.0.dylib libslirp.0.dylib.p/src_arp_table.c.o libslirp.0.dylib.p/src_bootp.c.o libslirp.0.dylib.p/src_cksum.c.o libslirp.0.dylib.p/src_dhcpv6.c.o libslirp.0.dylib.p/src_dnssearch.c.o libslirp.0.dylib.p/src_if.c.o libslirp.0.dylib.p/src_ip6_icmp.c.o libslirp.0.dylib.p/src_ip6_input.c.o libslirp.0.dylib.p/src_ip6_output.c.o libslirp.0.dylib.p/src_ip_icmp.c.o libslirp.0.dylib.p/src_ip_input.c.o libslirp.0.dylib.p/src_ip_output.c.o libslirp.0.dylib.p/src_mbuf.c.o libslirp.0.dylib.p/src_misc.c.o libslirp.0.dylib.p/src_ncsi.c.o libslirp.0.dylib.p/src_ndp_table.c.o libslirp.0.dylib.p/src_sbuf.c.o libslirp.0.dylib.p/src_slirp.c.o libslirp.0.dylib.p/src_socket.c.o libslirp.0.dylib.p/src_state.c.o libslirp.0.dylib.p/src_stream.c.o libslirp.0.dylib.p/src_tcp_input.c.o libslirp.0.dylib.p/src_tcp_output.c.o libslirp.0.dylib.p/src_tcp_subr.c.o libslirp.0.dylib.p/src_tcp_timer.c.o libslirp.0.dylib.p/src_tftp.c.o libslirp.0.dylib.p/src_udp.c.o libslirp.0.dylib.p/src_udp6.c.o libslirp.0.dylib.p/src_util.c.o libslirp.0.dylib.p/src_version.c.o libslirp.0.dylib.p/src_vmstate.c.o -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -shared -install_name @rpath/libslirp.0.dylib -compatibility_version 0 -current_version 0 -Wl,--version-script,/Users/me/libslirp/src/libslirp.map /usr/local/Cellar/glib/2.64.5/lib/libglib-2.0.dylib /usr/local/opt/gettext/lib/libintl.dylib
ld: unknown option: --version-script
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
I think this is because macOS doesn't use GNU's ld
linker, but instead uses their own, so this is incompatible.