[Slackbuilds-users] synergy-1.7.3 Slackbuild fails with dns_sd.h not found error
chris.willing at iinet.net.au
Tue Jun 9 06:02:41 UTC 2015
On 09/06/15 11:58, Richards, Don wrote:
> Hi Chris,
> I used installpkg but the package I used was avahi-0.6.31-x86_64-1dj.txz for Slackware 14.1 from the Salix repository. So, maybe that is the problem.
> Sent from my iPhone
The avahi.SlackBuild actually has a comment about creating this symlink
for the benefit of compatibility with howl & mdnsresponder. Looks like
synergy also needs it and perhaps there are other packages too.
However I thnk that adding the symlink (either manually or in
avahi.SlackBuild script) is less than ideal. For a start, just imagine
the chaos if all packages with a subdirectory in /usr/include required
it. Furthermore, it unnecessarily adds to upstream's release, which
already provides a bunch of .pc files so that packages which depend on
avahi can find the necessary include files and libraries.
In this case, synergy could/should be using a construct like:
pkg-config --cflags-only-I avahi-compat-libdns_sd
(which correctly returns -I/usr/include/avahi-compat-libdns_sd/), rather
than depend on existence of a well intentioned symlink.
According to hoorex, SBo scripts with a direct dependency on avahi are:
plex-home-theater mod_dnssd gmpc-plugins synergy nss-mdns vlc
Perhaps maintainers of these packages could check that they don't need
the symlink (and use the info in avahi's pkgconfig files instead) so
that its creation can be removed from avahi.SlackBuild.
>> On Jun 8, 2015, at 8:54 PM, "Christoph Willing" <chris.willing at iinet.net.au> wrote:
>>> On 09/06/15 09:00, Richards, Don wrote:
>>> Running Slackware64-14.1.
>>> Downloaded avahi-0.6.31-x86_64-1dj.txz for Slackware 14.1
>>> from the Salix repository.
>>> Installed package.
>>> Ran synergy.Slackbuild, everything looked OK until:
>>> g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB
>>> -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib64/qt/mkspecs/linux-g++
>>> - -I. -I/usr/lib64/qt/include/QtCore -I/usr/lib64/qt/include/QtNetwork
>>> - - -I/usr/lib64/qt/include/QtGui -I/usr/lib64/qt/include -I. -Isrc
>>> - - - -Itmp/release -I. -o tmp/release/ZeroconfRegister.o
>>> - - - - src/ZeroconfRegister.cpp
>>> In file included from src/ZeroconfRegister.cpp:18:0:
>>> src/ZeroconfRegister.h:32:20: fatal error: dns_sd.h: No such file or
>>> #include <dns_sd.h>
>>> compilation terminated.
>>> make: *** [tmp/release/ZeroconfRegister.o] Error 1
>>> make: Leaving directory `/tmp/SBo/synergy-1.7.3-Source/src/gui'
>>> Going back to: /tmp/SBo/synergy-1.7.3-Source
>>> Error: make -w failed with error: 512
>>> root at clerndcs04-2015:~/Downloads/synergy/synergy#
>>> However, locate dns_sd.h produces:
>>> Can I fix this with a symlink, or is there another way?
>> A symlink will fix it but another question is why that symlink doesn't exist already. In the avahi package I have installed myself (built from SBo repo) that symlink already exists - its explicitly created in avahi.SlackBuild. However it needs to be installed by the correct tool (installpkg, upgradepkg etc.) since the link is inserted by the doinst.sh script. If you did an explodepkg or something else like that, the symlink wouldn't be created.
>> SlackBuilds-users mailing list
>> SlackBuilds-users at slackbuilds.org
>> Archives - http://lists.slackbuilds.org/pipermail/slackbuilds-users/
>> FAQ - http://slackbuilds.org/faq/
> SlackBuilds-users mailing list
> SlackBuilds-users at slackbuilds.org
> Archives - http://lists.slackbuilds.org/pipermail/slackbuilds-users/
> FAQ - http://slackbuilds.org/faq/
More information about the SlackBuilds-users