【发布时间】:2021-09-24 09:15:41
【问题描述】:
我正在尝试从 Alpine Linux (3.14.2) 上的源代码构建 jpeg-9d 库。
我只想从 libjpeg 获取静态库(.a 文件)。
这是因为我想将所有 3rd 方依赖项都集成到我的应用程序中。这是因为我选择了 Alpine Linux,因为静态 musl C 库。
编译其实很好,所有的配置步骤,制作,安装都很好。
./configure --disable-shared
make
make install
但在此之后,我在/usr/local/lib 目录中看到了 libjpeg.so 文件。
实际上 libjpeg.a 和 libjpeg.so 都存在于/usr/local/lib 中。
install.txt 说使用--disable-shared 就足够了。
但它不起作用。
我在 Alpine Linux 上将许多第三方库构建到静态配置中;
他们都只生成了.a 文件(当然,我使用了额外的配置标志),
像 zlib、bzip2、xz、zstd、libpng、giflib(需要小补丁)、expat、freetype2、fontconfig、json、openssl、tiff、boost 等。
以前我使用 libjpeg-6b,而不是只使用 make install 我使用了
make install-lib
命令,我只得到.a 文件。旧 jpeg-6b 支持 install-lib 目标。但是新的 libjpeg-9d 在 make 文件中不支持这个目标。
我认为这是 jpeg-9d 配置脚本中的一个错误。 有没有机会解决它甚至修复它?
【问题讨论】:
-
向 libjpeg 提交错误。
-
对不起,我不知道 IJG libjpeg 支持的联系方式。 ijg.org 或 jpegclub.org 都没有支持联系人。
-
在您的发行版中打开自述文件?
-
好的,谢谢,确实有一些联系邮箱。
标签: linux makefile configure alpine libjpeg