OpenWrt Forum Archive

Topic: Chaos Calmer 15.05 missing pdnsd

The content of this topic has been archived on 24 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hello all,

I tried to install 'pdnsd' through opkg (after updating it) on 15.05, but I got the

Unknown package 'pdnsd'

Is it missing, not ported, or am I doing something wrong?
In the case that it is missing I guess that I will need to compile my image adding it to the source feeds, right?

I am using the factory image for TL-WDR4300.

Thanks,

Hum, I see.
Thanks for the info!

I was trying to compile yesterday, as I found this repo
https://github.com/mengskysama/openwrt-pdnsd
that claims to provide pdnsd, but openwrt is complaining about my gcc.

I do have the dependecies [1] for my Arch Linux and I can compile packages and c(++) code, however it still complains that my gcc is broken:

Checking 'gcc'... ok.
Checking 'working-gcc'... failed.
Checking 'g++'... ok.
Checking 'working-g++'... failed.
...
Build dependency: Please reinstall the GNU C Compiler - it appears to be broken
Build dependency: Please reinstall the GNU C++ Compiler - it appears to be broken

I am guessing that the script can be confused by my gcc from multilib. Does anybody had this problem too?

PS.: I know that it is not the right way, but would not be possible to get the pre-compiled package for pdnsd from 14.07 (if there is any) and install it on 15.05?

Thanks,

[1]: https://wiki.openwrt.org/doc/howto/buil … tallations

Installing/Running pdnsd from the "oldpackages" of 14.07 works!

For my TP-Link WDR4300 (using 15.05 pre-built factory image):

  • Get pdnsd package from 14.07 [1]

  • Update opkg to be able to automatically get libpthread dependency:
    "opkg update"

  • Transfer download pdnsd to the router (root home):
    "scp pdnsd<version>.ipk root@openwrt:"

  • Log in to the ssh interface

  • Install pdnsd (it should automatically install libpthread here):
    "opkg install pdnsd<version>.ipk"

  • Done! Just configure it* [2] and start it.
    *At least for me I had to manually create the cache directory "/var/pdnsd" and chown it to "nobody:nogroup": "chown -R nobody:nogroup /var/pdnsd"

  • Finally, remember to configure dnsmask to not answer to any DNS replies [3], and configure DHCP to send the local router address as a DNS provider [4] (I changed "/etc/config/dhcp" file).

---
Regarding the compiling error, it turns out that the check "was failing because" of hardening security on Arch Linux [5]. Removing "hardening-wrapper" and doing a "make distclean" solved the problem.
Although I do not agree that this is the correct way, as other software that needs to be compiled work with the default security level.
If having "hardening-wrapper" really makes a mess around compiling we should check it in the make prereq and use the original gcc path. What are your ideas about that?

Sincerely,

[1]: https://downloads.openwrt.org/barrier_b … ar71xx.ipk
[2]: https://wjianz.wordpress.com/2014/09/05 … n-openwrt/
[3]: https://wiki.openwrt.org/doc/uci/dhcp#e … abling_dns
[4]: https://wiki.openwrt.org/doc/howto/dhcp … nformation

[5]: https://lists.openwrt.org/pipermail/ope … 37084.html

(Last edited by gbc921 on 10 Apr 2016, 22:16)

The discussion might have continued from here.