在 64 位 Amazon Linux 2 实例上构建从源到包的正确位置是什么?

What is the proper location to build packages from source to on a 64 bit Amazon Linux 2 instance?

我遇到了与 No package 'gdk-pixbuf-2.0' found 类似的问题。但是安装gdk-pixbuf-2.0后,pkg-config--list-all的结果中根本没有出现。下面是相关的环境变量:

PKG_CONFIG_PATH: /usr/lib/pkgconfig
LDFLAGS: -L/usr/lib
LD_LIBRARY_PATH: /usr/lib
PATH: /usr/bin:$PATH
CPPFLAGS: -I/usr/include

这是我用来安装 gdk-pixbuf-2.0 的脚本

cd /usr/local/src
  wget http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.24/gdk-pixbuf-2.24.0.tar.xz
  tar xvfJ gdk-pixbuf-2.24.0.tar.xz
  cd gdk-pixbuf-2.24.0
  ./configure --prefix=/usr
  make V=0
  make install
  ldconfig

安装后,调用whereis gdk-pixbuf-2.0的结果是这样的:

`gdk-pixbuf-2: /usr/lib/gdk-pixbuf-2.0 /usr/include/gdk-pixbuf-2.0`

为了对比,调用whereis libpng(通过yum install libpng-devel安装,pkgconfig和依赖库很容易找到)的结果是:

`libpng: /usr/lib64/libpng12.so /usr/lib64/libpng.so /usr/share/man/man3/libpng.3.gz`

好的,经过大量挖掘,我找到了解决方案。环境变量是在一个单独的 .ebextensions 配置文件中设置的,该文件在执行此命令时尚未解析 运行,因此 PKG_CONFIG_PATH 尚未设置。