The hardware environment I am working in is a QNAP NAS with x86_64 architecture.
The software is a headless, embedded, QNAP-designed Debian-based Gnu/Linux distro based on kernel 4.14.24.
The key constraint in this environment is that there is no package manager, and the dependencies etc needed to build and install programs must be installed by hand using the Entware system. Basically, a parallel environment is created in /opt/Entware.
I have installed
Please accept that this is the environment I have to work in to get the functionality I need on my NAS. it's just a lot more painful than in other distros.I have installed most of the standard functionality of a standard linux distro, including core-utils, pkg-config, cmake, gawk, gcc, glib2,ldconfig, libacl, and more.
My current issue is in building libpng-1.6.37, which is depended on by gdk-pixbuf-2.42.6.
libpng depends on zlib, which installed first time without complaint.
my libpng-1.6.37 build fails with
Code:
Built target png_static
[ 81%] Building C object CMakeFiles/pngtest.dir/pngtest.c.o
[ 83%] Linking C executable pngtest
/opt/bin/ld: libpng16.so.16.37.0: undefined reference to `inflateValidate'
collect2: error: ld returned 1 exit status
inflate/Validate is a zlib function, so I suspect that zlib can't be found. But I don't know why.
what is the process to debug errors like this?
Many thanks for your help.