'试图在 MacOS (10.13.4 - High Sierra) 上构建/安装 BZip2,但我能找到的所有说明 [包括来自 README
] 的说明都在以下位置:>
wget -c https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz
tar -zxf bzip2-1.0.8.tar.gz
cd bzip2-1.0.8
sudo make install PREFIX=/usr/local
这会在 .dylib
目录中安装没有带有 ./lib
扩展名的共享库文件的包。包中包含的说明适用于 Linux 环境。
如何安装共享库?
答案 0 :(得分:0)
事实证明,这样做需要更新 Makefile。
软件包 [bzip2 v1.0.8] 附带一个 Makefile-libbz2_so
文件,用于为 Linux 创建共享库文件。要为 MacOS 做同样的事情,需要一个单独的 Makefile。
以下是有效的更新说明。点击 Makefile-libbz2_dylib
的链接了解 Makefile 的内容。
# Download BZip2
wget -c https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz
# Extract and enter directory
tar -zxf bzip2-1.0.8.tar.gz
cd bzip2-1.0.8
# create variable
export PREFIX="/usr/local"
# install - change PREFIX is required
sudo make install PREFIX=$PREFIX
# Make dynamic libraries for MACOS
wget -c https://gist.githubusercontent.com/obihill/3278c17bcee41c0c8b59a41ada8c0d35/raw/3bf890e2ad40d0af358e153395c228326f0b44d5/Makefile-libbz2_dylib
make -f Makefile-libbz2_dylib
# Do below only if your PREFIX is not /usr/local
# Create symlinks for bin
sudo ln -s $PREFIX/bin/bunzip2 /usr/local/bin/
sudo ln -s $PREFIX/bin/bzcat /usr/local/bin/
sudo ln -s $PREFIX/bin/bzcmp /usr/local/bin/
sudo ln -s $PREFIX/bin/bzdiff /usr/local/bin/
sudo ln -s $PREFIX/bin/bzegrep /usr/local/bin/
sudo ln -s $PREFIX/bin/bzfgrep /usr/local/bin/
sudo ln -s $PREFIX/bin/bzgrep /usr/local/bin/
sudo ln -s $PREFIX/bin/bzip2 /usr/local/bin/
sudo ln -s $PREFIX/bin/bzip2recover /usr/local/bin/
sudo ln -s $PREFIX/bin/bzless /usr/local/bin/
sudo ln -s $PREFIX/bin/bzmore /usr/local/bin/
# Create symlinks for lib
sudo ln -s $PREFIX/lib/libbz2.a /usr/local/lib/
sudo ln -s $PREFIX/lib/libbz2.dylib /usr/local/lib/
# Create symlinks for include
sudo ln -s $PREFIX/include/bzlib.h /usr/local/include/
如果您的 Mac 上没有 wget
,您可以在此 community post 上找到设置说明。