[ipv6calc] ipv6calc: use shared libipv6calc.so and databases
Peter Bieringer
pb at bieringer.de
Sun Feb 2 13:47:57 CET 2014
Hi Nikoli,
thank you for all the patches, applied. Also for others, RPM spec file
is now also working.
# rpm -qvl ipv6calc |egrep '/(bin|lib)'
-rwxr-xr-x 1 root root 87744 Feb 2 13:35 /usr/bin/ipv6calc
-rwxr-xr-x 1 root root 24216 Feb 2 13:35 /usr/bin/ipv6loganon
-rwxr-xr-x 1 root root 28216 Feb 2 13:35 /usr/bin/ipv6logconv
-rwxr-xr-x 1 root root 29368 Feb 2 13:35 /usr/bin/ipv6logstats
-rwxr-xr-x 1 root root 410488 Feb 2 13:35 /usr/lib64/libipv6calc.so.0.96.0
-rwxr-xr-x 1 root root 2588192 Feb 2 13:35
/usr/lib64/libipv6calc_db_wrapper.so.0.96.0
=> size of binaries reduced, database information is now mostly in
libipv6calc_db_wrapper.so (leftovers in libipv6calc.so will be moved next)
BTW1: install was not tested so far, sorry!
BTW2: switch from CVS to GIT is planned, but not on top priority at the
moment unfortunately because lack of time.
Hope this helps!
Regards,
Peter
Am 02.02.2014 12:27, schrieb Nikoli:
> В сообщении от 2 февраля 2014 01:17:26 автор Peter Bieringer написал:
>> Hi Nikoli,
>>
>> Am 01.02.2014 17:37, schrieb Nikoli:
>>> Hello, tried building it, fails for me, attached log. My distro is amd64
>>> hardened Gentoo Linux.
>>>
>>> Compared current cvs and 0.95.0 sources, bugs and suggestions:
>>> 1) These commands do not respect CC CFLAGS LDFLAGS:
>>> gcc -shared -Wl,-soname,libipv6calc_db_wrapper.so. at PACKAGE_VERSION@ -o
>>> libipv6calc_db_wrapper.so. at PACKAGE_VERSION@ $(OBJS)
>>> gcc -shared -Wl,-soname,libipv6calc.so. at PACKAGE_VERSION@ -o
>>> libipv6calc.so. at PACKAGE_VERSION@ $(OBJS)
>>
>> Hopefully fixed now (it is my first time to create shared library
>> support, so I copy&pasted from howto...).
>>
>>> 2) Most autotools based packages use --enable-shared option, also there
>>> is
>>>
>>> typo in configure:
>>> --enaLBe-shared-library Enable shared library build (default: disabled)
>>
>> Fixed.
>>
>>> gnu/bin/ld: libipv6calc_db_wrapper.o: relocation R_X86_64_PC32 against
>>
>> symbol `wrapper_features' can not be used when making a shared object;
>> recompile with -fPIC
>>
>> Please try again, if it still breaks like before, I have to doublecheck
>> and run some tests on other systems (my primary developing box is
>> currently Fedora 20).
>>
>> Please try latest trunk - thank you for support!
>>
>> Regards,
>> Peter
>
> Hi,
>
> You did not add -fPIC, build still fails with same error, attached ipv6calc-
> fpic.patch fixes this problem, see also:
> http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&chap=3#doc_chap6
>
> Building with LDFLAGS="-Wl,-O1 -Wl,--as-needed" fails, attached build.log
> --as-needed is enabled by default in many distros including Gentoo, Debian and
> opensuse:
> https://wiki.gentoo.org/wiki/Project:Quality_Assurance/As-needed
> https://wiki.debian.org/ToolChain/DSOLinking
> Attached ipv6calc-as-needed.patch fixes build with --as-needed by changing
> order of arguments in CC commands.
>
> libipv6calc.so.0.96.0 is installed to / instead of /usr/lib64,
> libipv6calc_db_wrapper.so.0.96.0 was not installed at all, ipv6calc-as-
> needed.patch fixes these bugs too.
>
> "make install" rebuilds ipv6calc ipv6logconv ipv6logstats ipv6loganon, it is
> wrong, ipv6calc-no-rebuild.patch fixes this bug.
>
> Typo is still around:
> $ grep -i enalbe -R
> ChangeLog: configure: --enalbe-shared
>
> P.S. Why you are still using cvs instead of git? Providing patches and
> reviewing sources would be much simpler and faster with git and github.com or
> cgit.deepspace6.net webui.
>
More information about the ipv6calc
mailing list