Hi Juppin,
Many thanks for helping out. I'm still struggling to understand what is the real issue. Adding explicit -l/..path.../libconfig
or DEPENDS:=+libconfig
fails. Just using the DEPENDS
results in a non linakge. Using the explicit -l/..path../libconfig
results in linker not 'finding' the library.
The build log shows the depends statement is active as it checks/builds the libconfig library. The linker just does not 'see' the library as being present and yet I can 'nm /..path.../libconfig.so
and see the exported functions. I think there is some sort of bigger config issue going on but no idea what!
The clean/compile out put is below.
nickonlite ~ openwrt make package/utils/perftester/{clean,compile} V=s -j1
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libgnutls', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libopenldap', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libidn2', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libssh2', which does not exist
WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist
WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist
make[1]: Entering directory '/home/nickonlite/openwrt'
make[2]: Entering directory '/home/nickonlite/openwrt/package/utils/perftester'
rm -rf /home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester
rm -f /home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/stamp/.perftester_installed
rm -f /home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/packages/perftester.list
make[2]: Leaving directory '/home/nickonlite/openwrt/package/utils/perftester'
time: package/utils/perftester/clean#0.11#0.04#0.14
make[1]: Leaving directory '/home/nickonlite/openwrt'
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libgnutls', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libopenldap', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libidn2', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libssh2', which does not exist
WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist
WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist
make[1]: Entering directory '/home/nickonlite/openwrt'
make[2]: Entering directory '/home/nickonlite/openwrt/package/libs/toolchain'
echo "libc" >> /home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install
echo "libgcc" >> /home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install
echo "libpthread" >> /home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install
make[2]: Leaving directory '/home/nickonlite/openwrt/package/libs/toolchain'
time: package/libs/toolchain/compile#0.16#0.07#0.21
make[2]: Entering directory '/home/nickonlite/openwrt/package/libs/libconfig'
echo "libconfig" >> /home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/pkginfo/libconfig.default.install
make[2]: Leaving directory '/home/nickonlite/openwrt/package/libs/libconfig'
time: package/libs/libconfig/compile#0.17#0.06#0.20
make[2]: Entering directory '/home/nickonlite/openwrt/package/utils/perftester'
touch /home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester/.prepared_489594af4946d59df351c2429a729428_6664517399ebbbc92a37c5bb081b5c53_check
true
[ ! -d ./src/ ] || cp -fpR ./src/. /home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester
touch /home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester/.prepared_489594af4946d59df351c2429a729428_6664517399ebbbc92a37c5bb081b5c53
rm -f /home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester/.configured_*
rm -f /home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/stamp/.perftester_installed
touch /home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester/.configured_68b329da9893e34099c7d8ad5cb9c940
rm -f /home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester/.built
touch /home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester/.built_check
make -C /home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester CXX="mips-openwrt-linux-musl-g++" CXXFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester=perftester -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/usr/include -Wall" LDFLAGS="-L/home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/usr/lib -L/home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/lib -L/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/usr/lib -L/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib -znow -zrelro --verbose"
make[3]: Entering directory '/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester'
mips-openwrt-linux-musl-g++ -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester=perftester -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/usr/include -Wall -c -o Configurator.o Configurator.cpp
Configurator.cpp: In member function 'bool Configurator::AnyConfig()':
Configurator.cpp:83:8: warning: unused variable 'ifc_type' [-Wunused-variable]
int ifc_type;
^~~~~~~~
Configurator.cpp:84:9: warning: unused variable 'use_it' [-Wunused-variable]
bool use_it;
^~~~~~
Configurator.cpp:145:32: warning: catching polymorphic type 'const class std::exception' by value [-Wcatch-value=]
catch (const std::exception ex )
^~
mips-openwrt-linux-musl-g++ -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester=perftester -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/usr/include -Wall -c -o Logger.o Logger.cpp
mips-openwrt-linux-musl-g++ -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester=perftester -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/usr/include -Wall -c -o NetMsg.o NetMsg.cpp
mips-openwrt-linux-musl-g++ -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester=perftester -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/usr/include -Wall -c -o Exceptions.o Exceptions.cpp
mips-openwrt-linux-musl-g++ -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester=perftester -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/usr/include -Wall -c -o main.o main.cpp
mips-openwrt-linux-musl-g++ -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester=perftester -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/usr/include -Wall -c -o RunCommand.o RunCommand.cpp
mips-openwrt-linux-musl-g++ -L/home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/usr/lib -L/home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/lib -L/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/usr/lib -L/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib -znow -zrelro --verbose -o perftester Configurator.o Logger.o NetMsg.o Exceptions.o main.o RunCommand.o
Reading specs from /home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0/specs
COLLECT_GCC=mips-openwrt-linux-musl-g++
COLLECT_LTO_WRAPPER=/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/libexec/gcc/mips-openwrt-linux-musl/8.4.0/lto-wrapper
Target: mips-openwrt-linux-musl
Configured with: /home/nickonlite/openwrt/build_dir/toolchain-mips_24kc_gcc-8.4.0_musl/gcc-8.4.0/configure --with-bugurl=http://bugs.openwrt.org/ --with-pkgversion='OpenWrt GCC 8.4.0 unknown' --prefix=/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=mips-openwrt-linux-musl --with-gnu-ld --enable-target-optspace --disable-libgomp --disable-libmudflap --disable-multilib --disable-libmpx --disable-nls --without-isl --without-cloog --with-host-libstdcxx=-lstdc++ --with-float=soft --with-gmp=/home/nickonlite/openwrt/staging_dir/host --with-mpfr=/home/nickonlite/openwrt/staging_dir/host --with-mpc=/home/nickonlite/openwrt/staging_dir/host --disable-decimal-float --with-diagnostics-color=auto-if-env --with-mips-plt --disable-libssp --enable-__cxa_atexit --with-headers=/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/include --enable-languages=c,c++ --enable-shared --enable-threads --with-slibdir=/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib --enable-lto --with-libelf=/home/nickonlite/openwrt/staging_dir/host --disable-libsanitizer
Thread model: posix
gcc version 8.4.0 (OpenWrt GCC 8.4.0 unknown)
COMPILER_PATH=/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/libexec/gcc/mips-openwrt-linux-musl/8.4.0/:/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/libexec/gcc/mips-openwrt-linux-musl/8.4.0/:/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/libexec/gcc/mips-openwrt-linux-musl/:/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0/:/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/:/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0/../../../../mips-openwrt-linux-musl/bin/
LIBRARY_PATH=/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0/:/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0/../../../../mips-openwrt-linux-musl/lib/
COLLECT_GCC_OPTIONS='-L/home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/usr/lib' '-L/home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/lib' '-L/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/usr/lib' '-L/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib' '-z' 'now' '-z' 'relro' '-v' '-o' 'perftester' '-shared-libgcc' '-msoft-float' '-mllsc' '-mplt' '-mno-shared' '-EB' '-mabi=32'
/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/libexec/gcc/mips-openwrt-linux-musl/8.4.0/collect2 -plugin /home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/libexec/gcc/mips-openwrt-linux-musl/8.4.0/liblto_plugin.so -plugin-opt=/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/libexec/gcc/mips-openwrt-linux-musl/8.4.0/lto-wrapper -plugin-opt=-fresolution=/home/nickonlite/openwrt/tmp/ccw3ATSM.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -EB -dynamic-linker /lib/ld-musl-mips-sf.so.1 -melf32btsmip -o perftester -z now -z relro /home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0/../../../../mips-openwrt-linux-musl/lib/crt1.o /home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0/../../../../mips-openwrt-linux-musl/lib/crti.o /home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0/crtbegin.o -L/home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/usr/lib -L/home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/lib -L/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/usr/lib -L/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib -L /home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/usr/lib -rpath-link /home/nickonlite/openwrt/staging_dir/target-mips_24kc_musl/usr/lib -L/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0 -L/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0/../../../../mips-openwrt-linux-musl/lib Configurator.o Logger.o NetMsg.o Exceptions.o main.o RunCommand.o -lstdc++ -lm -lssp_nonshared -lgcc_s -lc -lgcc_s /home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0/crtend.o /home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0/../../../../mips-openwrt-linux-musl/lib/crtn.o
/home/nickonlite/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/lib/gcc/mips-openwrt-linux-musl/8.4.0/../../../../mips-openwrt-linux-musl/bin/ld: Configurator.o: in function `Configurator::AnyConfig()':
Configurator.cpp:(.text+0x2f6): undefined reference to `config_init'
collect2: error: ld returned 1 exit status
makefile:11: recipe for target 'perftester' failed
make[3]: *** [perftester] Error 1
make[3]: Leaving directory '/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester'
Makefile:39: recipe for target '/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester/.built' failed
make[2]: *** [/home/nickonlite/openwrt/build_dir/target-mips_24kc_musl/perftester/.built] Error 2
make[2]: Leaving directory '/home/nickonlite/openwrt/package/utils/perftester'
time: package/utils/perftester/compile#2.73#0.21#2.89
package/Makefile:111: recipe for target 'package/utils/perftester/compile' failed
make[1]: *** [package/utils/perftester/compile] Error 2
make[1]: Leaving directory '/home/nickonlite/openwrt'
/home/nickonlite/openwrt/include/toplevel.mk:225: recipe for target 'package/utils/perftester/compile' failed
make: *** [package/utils/perftester/compile] Error 2
nickonlite ~ openwrt
The verbose build and link output just relying on the DEPENDS library inclusion is here. Not sure is this indicates to you of any fundamental issues or errors