Hi,
I successfully compiled knxd with new upstream version in my own trunk based buildroot using the same Makefile as before. But when running on my Archer c7 v4 I get new error messages like these:
Error relocating /usr/bin/knxd: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_: symbol not found
Error relocating /usr/bin/knxd: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEjc: symbol not found
Error relocating /usr/bin/knxd: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc: symbol not found
Error relocating /usr/bin/knxd: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_: symbol not found
Error relocating /usr/bin/knxd: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc: symbol not found
Error relocating /usr/bin/knxd: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_: symbol not found
I guess a need a new dependeny or new compile directives. But what library is missing?
Your help is very appreciated because I'm not very familiar with developping.
When I install the new package knxd_0.14.50-1_mips_24kc.ipk the library libstdcpp6 gets installed as well, together with librt, libev and libfmt on a brand new snapshot firmware on my Archer c7 v4.
In the output I see it's compiled with -std=c++0x like with earlier releases and it does not complain about anything when package is built.
Thank you for your support. Unfortunately both steps make no difference. I can see the extra -lstdc++ on the log line.
I wonder if my buildroot is broken somehow or if it's caused by some changes in the upstream source.
Would it be considered unserious if I just risk a pull request for the new upstream version and check if the repo package works better? What should I do next?
I'm afraid something is broken in my buildroot. I recompiled the current 0.14.39-2 repo version of knxd again and I see the same problems running it, while the downloaded repo package works just fine.
How do I rebuild my buildroot most efficiently?
I decided to start over with my buildroot doing a git clone and guess what: my freshly compiled knxd package works well now. I'd wish there was an easier way to "clean up", even a simple "make clean" had no effect.
make dirclean should usually fix most things as it will nuke the bin, build_dir, staging_dir and toolchain.
make distclean is the nuclear option. In addition to what the dirclean does, a distclean will also remove all downloaded feeds content and nuke your config file. It should put everything back to a virgin state