I am trying to build jpeg-9d library from sources on Alpine Linux (3.14.2).
I would like to obtain only static libraries (.a
files) from libjpeg.
This is because I would like to get all 3rd party dependencies all-in-one into my application. And this is because I chose Alpine Linux due static musl C library.
The compilation actually was fine, all configure step, make, make install went fine.
./configure --disable-shared
make
make install
But after this I see libjpeg.so file in /usr/local/lib
directory.
Actually both libjpeg.a and libjpeg.so are present in /usr/local/lib
.
install.txt says that using --disable-shared
should be enough.
But it does not work.
I built many 3rd party libraries into static configuration on Alpine Linux;
all of them produced .a
files only (of course, I used additional configuration flags),
like zlib, bzip2, xz, zstd, libpng, giflib (small patch was required), expat, freetype2, fontconfig, json, openssl, tiff, boost, etc.
Previously I used libjpeg-6b, and instead of using just make install I used
make install-lib
command and I got only .a
files. Old jpeg-6b supported install-lib
target. But the new libjpeg-9d does not support this target in make files.
I think it is a bug in jpeg-9d configuration scripts. Any chance to work-around it or even fix?
Actually --enable-shared=no
works fine, no .so
files are copied into /usr/local/lib
!
So, I can use --enable-shared=no
instead of --disable-shared
.
./configure --enable-shared=no
make
make install
Maybe it is an issue of automake/autoconf Alpine Linux utilities.