1.) regarding -install_name vs. -soname example: https://code.google.com/p/lz4/source/browse/trunk/Makefile#60 2.) install PREFIX: Without a prefix, it will install the man from the root in the root directory (/) of the drive. We use user-space (/usr/local) 2014-08-16 19:00 GMT+03:00 Peter Bieringer <pb@bieringer.de>:
Hi Denis,
1) regarding -install_name vs. -soname
this requires conditional compiling (depending whether Linux or OSX), therefore this should be handled by configure somehow.
Can you please check how OSX can be detected by configure?
2) install PREFIX:
currently, no PREFIX is used at all on other "install" calls, I'm wondering that only man pages are requiring PREFIX on "install" on OSX - can you doublecheck?
Regards, Peter
Am 16.08.2014 17:04, schrieb Denis Denisov:
I am having a problem when compiling on OSX, some problems have been resolved.
[bug 1]
"-Wl,-soname,libipv6calc_db_wrapper.so" renamed to "-Wl,-install_name,libipv6calc_db_wrapper.so"
[bug 2]
crash linked llvm ( clang )
echo "Create shared library (.so)" Create shared library (.so) clang -o libipv6calc_db_wrapper.so.0.97.4 libipv6calc_db_wrapper.o libipv6calc_db_wrapper_GeoIP.o libipv6calc_db_wrapper_IP2Location.o libipv6calc_db_wrapper_BuiltIn.o -D__EXTENSIONS__ -fPIC -shared -Wl,-install_name,libipv6calc_db_wrapper.so.0.97.4 Undefined symbols for architecture x86_64: "_ipv4addr_getdword", referenced from: _libipv6calc_db_wrapper_BuiltIn_reserved_string_by_ipv4addr in libipv6calc_db_wrapper_BuiltIn.o _libipv6calc_db_wrapper_BuiltIn_registry_num_by_ipv4addr in libipv6calc_db_wrapper_BuiltIn.o "_ipv6addr_getdword", referenced from: ..... ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [libipv6calc_db_wrapper.so.0.97.4] Error 1 make[1]: *** [all] Error 2 make: *** [db-wrapper-make] Error 2
[patch]
--- a/man/Makefile.in +++ b/man/Makefile.in @@ -25,7 +25,7 @@ clean: test:
install: - mkdir -p $(DESTDIR)$(mandir)/man8 + mkdir -p $(DESTDIR)${PREFIX}/man/man8 for f in *.8; do \ - install -m 644 $$f $(DESTDIR)$(mandir)/man8; \ + install -m 644 $$f $(DESTDIR)${PREFIX}/man/man8; \ done --- a/databases/lib/Makefile.in +++ b/databases/lib/Makefile.in @@ -54,7 +54,7 @@ libipv6calc_db_wrapper.a: $(OBJS)
libipv6calc_db_wrapper.so.@PACKAGE_VERSION@: $(OBJS) echo "Create shared library (.so)" - $(CC) -o libipv6calc_db_wrapper.so.@PACKAGE_VERSION@ $(OBJS) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,libipv6calc_db_wrapper.so.@PACKAGE_VERSION@ + $(CC) -o libipv6calc_db_wrapper.so.@PACKAGE_VERSION@ $(OBJS) $(CFLAGS) $(LDFLAGS) -shared -Wl,-install_name,libipv6calc_db_wrapper.so.@PACKAGE_VERSION@
distclean: ${MAKE} clean --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -81,7 +81,7 @@ libipv6calc.so.@PACKAGE_VERSION@: $(OBJS) cd ../ && ${MAKE} db-ipv4-assignment-make cd ../ && ${MAKE} db-ipv6-assignment-make echo "Creates shared library (.so)" - $(CC) -o libipv6calc.so.@PACKAGE_VERSION@ $(OBJS) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,libipv6calc.so.@PACKAGE_VERSION@ + $(CC) -o libipv6calc.so.@PACKAGE_VERSION@ $(OBJS) $(CFLAGS) $(LDFLAGS) -shared -Wl,-install_name,libipv6calc.so.@PACKAGE_VERSION@
distclean: ${MAKE} clean _______________________________________________ ipv6calc mailing list ipv6calc@lists.deepspace6.net https://lists.deepspace6.net/listinfo/ipv6calc ipv6calc homepage: http://www.deepspace6.net/projects/ipv6calc.html ipv6calc cvs: http://cvs.deepspace6.net/view/ipv6calc/