libsystemd not found an error
Wouter Wijngaards
wouter at nlnetlabs.nl
Wed Aug 1 13:51:11 UTC 2018
Hi Yoshi Horigome,
On 01/08/18 15:44, Yoshi Horigome wrote:
> Hello Wouter-san,
>
> Thank you for your reply and information.
> I am running this build in the following environment.
I see this version of Debian is not at that version for systemd. Okay,
I have applied the patch I proposed previously to the unbound source, so
that unbound can build for that system. Thank you for checking the
version numbers.
Best regards, Wouter
>
> $ uname -mrs
> Linux 4.14.18-sunxi armv7l
> $ lsb_release -a
> No LSB modules are available.
> Distributor ID: Debian
> Description: Debian GNU/Linux 9.5 (stretch)
> Release: 9.5
> Codename: stretch
>
> The version of systemd in this environment was 232.
>
> $ dpkg -l | grep systemd
> ii libpam-systemd:armhf 232-25+deb9u4
> armhf system and service manager - PAM module
> ii libsystemd-dev:armhf 232-25+deb9u4
> armhf systemd utility library - development files
> ii libsystemd0:armhf 232-25+deb9u4
> armhf systemd utility library
> ii python-systemd 233-1
> armhf Python 2 bindings for systemd
> ii python3-systemd 233-1
> armhf Python 3 bindings for systemd
> ii systemd 232-25+deb9u4
> armhf system and service manager
> ii systemd-sysv 232-25+deb9u4
> armhf system and service manager - SysV links
>
> I checked the debian repository, but this seems to be the latest at the moment.
> In the debian environment, do you think that build can not be built
> with systemd enabled?
>
> Best regards.
>
> 2018年7月31日(火) 23:57 Wouter Wijngaards via Unbound-users
> <unbound-users at unbound.net>:
>> Hi Yoshihito Horigome,
>>
>> On 07/31/2018 04:43 PM, Yoshihito Horigome via Unbound-users wrote:
>>> Hello,
>>>
>>> Wouter-san,
>>>
>>> I delayed to reply.
>>>
>>> When pkg-config is specified as below, configure now passes.
>> It is nice that configure works.
>>
>> The sd_is_socket_sockaddr function was added in Dec 14, 2016
>> https://github.com/systemd/systemd/commit/f6f372d2f46ac9be7cbb1ecd8f82f1b3ab669924#diff-cc45620f66c43ebd347d5d003647520e
>> It could be that the systemd that you use does not have that commit yet
>> and thus does not have the API? The v233 tag makes me think that
>> systemd 2.3.3 has the feature introduced.
>>
>> Are you interested in using the socket activation code? Because I got
>> replies for the NSD daemon that systemd socket activation is not useful
>> for DNS servers and the code has bugs (and I want to remove bugs). It
>> is possible to not use the sockaddr code, but I wanted to add more
>> checking to remove potential bugs. If you use systemd, perhaps you can
>> tell me what is actually useful for systemd users; and then I'll use
>> that version of the systemd_get_activated routine.
>>
>> The code repository version should howevery have much better readiness
>> signalling for systemd, I took it out of a signal handler and rewrote it
>> elsewhere to only get enabled when the use-systemd config option in
>> unbound.conf is set to yes.
>>
>> If you need code without the sockaddr check, here is the patch:
>>
>>
>> Index: services/listen_dnsport.c
>> ===================================================================
>> --- services/listen_dnsport.c (revision 4820)
>> +++ services/listen_dnsport.c (working copy)
>> @@ -144,17 +144,8 @@
>>
>> for(i = 0; i < r; i++) {
>> if(sd_is_socket(SD_LISTEN_FDS_START + i, family, socktype, listen)) {
>> - if( (family == AF_INET || family == AF_INET6) ) {
>> - if(sd_is_socket_sockaddr(
>> - SD_LISTEN_FDS_START + i, family,
>> - addr, addrlen)) {
>> - s = SD_LISTEN_FDS_START + i;
>> - break;
>> - }
>> - } else {
>> - s = SD_LISTEN_FDS_START + i;
>> - break;
>> - }
>> + s = SD_LISTEN_FDS_START + i;
>> + break;
>> }
>> }
>> if (s == -1) {
>>
>>
>> Best regards, Wouter
>>
>>
>>> $ sudo ./configure --with-libevent --with-ssl --disable-static
>>> --sysconfdir=/etc/unbound --with-conf-file=/etc/unbound/unbound.conf
>>> --with-pidfile=/var/run/unbound.pid --enable-pie --enable-systemd
>>> --disable-rpath --enable-subnet PKG_CONFIG="/usr/bin/pkg-config"
>>>
>>> However, when you run make, it will be build failed on the way as follows.
>>>
>>> event -lcrypto -lsystemd -pthread
>>> /usr/bin/ld: error: undefined symbol: sd_is_socket_sockaddr
>>>>>> referenced by listen_dnsport.c:148 (services/listen_dnsport.c:148)
>>>>>> .libs/listen_dnsport.o:(systemd_get_activated)
>>> collect2: error: ld returned 1 exit status
>>> Makefile:322: recipe for target 'unbound' failed
>>> make: *** [unbound] Error 1
>>>
>>> I am also worried about warnings appearing on the way as follows.
>>>
>>> services/listen_dnsport.c: In function ‘systemd_get_activated’:
>>> services/listen_dnsport.c:148:8: warning: implicit declaration of
>>> function ‘sd_is_socket_sockaddr’ [-Wimplicit-function-declaration]
>>> if(sd_is_socket_sockaddr(
>>> ^~~~~~~~~~~~~~~~~~~~~
>>>
>>> I tried it with commit of trunk @ 4820.
>>>
>>> In this case, is there anything else you need to deal with?
>>>
>>> Best regards.
>>> On 6月 30 2018, at 11:02 午前, Yoshi Horigome <kometch at gmail.com> wrote:
>>>
>>>
>>> Hello,
>>>
>>> Attempting to configure r4762 is now "libsystemd not found".
>>> However, we have confirmed that libsystemd related packages are
>>> installed as follows.
>>>
>>> checking for libexpat... found in /usr
>>> checking for expat.h... yes
>>> checking whether XML_StopParser is declared... yes
>>> checking for libhiredis... checking for SYSTEMD... no
>>> checking for SYSTEMD_DAEMON... no
>>> configure: error: systemd enabled but libsystemd not found
>>>
>>> $ dpkg -l | grep libsystemd
>>> ii libsystemd-dev:armhf 232-25+deb9u3
>>> armhf systemd utility library - development files
>>> ii libsystemd0:armhf 232-25+deb9u3
>>> armhf systemd utility library
>>>
>>> environment:
>>> $ cat /etc/os-release
>>> PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
>>> NAME="Debian GNU/Linux"
>>> VERSION_ID="9"
>>> VERSION="9 (stretch)"
>>> ID=debian
>>> HOME_URL="https://www.debian.org/"
>>> SUPPORT_URL="https://www.debian.org/support"
>>> BUG_REPORT_URL="https://bugs.debian.org/"
>>>
>>> $ uname -sr
>>> Linux 4.14.18-sunxi
>>>
>>> At least, v1.7.3 confirms that configure will succeed.
>>> It seems that the periphery of pkg - config has been modified with
>>> r4757 etc, but is there anything related to this area?
>>> # I'm sorry. I had no ability to read the configure file.
>>>
>>> config.log
>>> https://pastebin.com/xd6QTbJ9
>>>
>>> Best regards.
>>>
More information about the Unbound-users
mailing list