root@OpenWrt:~# service list |grep ddns
/etc/init.d/ddns enabled stopped
When I tried to restart ddns, error occurs as followes.
root@OpenWrt:~# service ddns restart
085121 WARN : Service section disabled! - TERMINATE
Error relocating /usr/lib/libcurl.so.4: wolfSSL_UseALPN: symbol not found
Error relocating /usr/lib/libcurl.so.4: wolfSSL_ALPN_GetProtocol: symbol not found
Please help me solve this issue.
Thanks in advance
I don't know when libwolfssl24 was installed. Moreover it is depended upon by several packages as followes.
root@OpenWrt:~# opkg remove libwolfssl24
No packages removed.
Collected errors:
* print_dependents_warning: Package libwolfssl24 is depended upon by packages:
* print_dependents_warning: libustream-wolfssl20201210
* print_dependents_warning: wpad-basic-wolfssl
* print_dependents_warning: libcurl4
* print_dependents_warning: These might cease to work if package libwolfssl24 is removed.
* print_dependents_warning: Force removal of this package with --force-depends.
* print_dependents_warning: Force removal of this package and its dependents
* print_dependents_warning: with --force-removal-of-dependent-packages.
The same error occurs when executes curl as well.
root@OpenWrt:~# curl
Error relocating /usr/lib/libcurl.so.4: wolfSSL_UseALPN: symbol not found
Error relocating /usr/lib/libcurl.so.4: wolfSSL_ALPN_GetProtocol: symbol not found
And, if I add the following in config service of /etc/config/ddns,
option use_https '1'
the error doesn't occur but the following error occurs.
root@OpenWrt:~# service ddns restart
root@OpenWrt:~# 141045 WARN : Service section disabled! - TERMINATE
141045 ERROR : cURL: libcurl compiled without https support - TERMINATE
^C
It seems that 'service ddns restart' calls curl. And curl already installed on openwrt doesn't support https.
Thanks for your suggestion, however the result is the same as before
root@OpenWrt:~# service ddns restart
root@OpenWrt:~# 162104 WARN : Service section disabled! - TERMINATE
Error relocating /usr/lib/libcurl.so.4: wolfSSL_UseALPN: symbol not found
Error relocating /usr/lib/libcurl.so.4: wolfSSL_ALPN_GetProtocol: symbol not found
The root of the problem here is in the curl program. curl is a CLI that does many things but the primary function here is to fetch https text from a web server without being a full browser.
For example curl https://downloads.openwrt.org should fetch the HTML source of the downloads page and dump it to your terminal.
The curl on your router is trying to link in wolfssl, but it is likely compiled for a different version of wolfssl. Using wolfssl at all is unusual since the curl in 19.07.5 uses libmbedtls12.
I would suggest remove and reinstall curl and libcurl, which should bring in the exact SSL library it wants, then test curl using a manual download like I show above.
I used to use linux long time ago, but I'm not used to openwrt snapshot well yet. I don't know how to check openwrt version from snapshot.
The firmware version is OpenWrt SNAPSHOT r15385-xxxxxxxxxx / LuCI Master git-21.002.46765-xxxxxxx.
Kernel version is 5.4.85.
A problem with snapshots is that the packages on the server change to new versions and may not match the libraries previously installed. Since old versions are not kept on the server you might need to sysupgrade the whole OS to the latest snapshot. Then install the packages you need on the same day.
I just upgraded openwrt with ~sysupgrad.bin from the following link.
And, installed and started ddns whose result as followes.
root@OpenWrt:~# service ddns start
root@OpenWrt:~# 075837 WARN : Service section disabled! - TERMINATE
curl isn't installed yet, so it currently doesn't occur wolfssl issue.
However, ddns looks stopped as followes.
root@OpenWrt:/etc/config# service list ddns
/etc/init.d/ddns enabled stopped
But, In the log file of /var/log/ddns, it checks lookup by the period, the valule of check_intval/check_unit.
I need to check this more, especially when ip changes, though.
Is it normal that the ddns service looks stopped in 'service list'?
Service section disabled means that the config file has a section (instance) with enable set to 0. This may be normal if you didn't remove the default section.