将 jpostal/libpostal 部署到 EC2 实例中
Deploy jpostal/libpostal into EC2 instances
我正在尝试将 jpostal 工件部署到 EC2 实例中,以便我们的 Web 应用程序可以使用该库。据我了解,"scr/main/jniLibs" 中的 jni 文件链接到“/usr/local/include/libpostal”和“/usr/local/lib/”中的 c 库。但是,我无权在 EC2 实例中将 "libpostal.h" 写入“/usr/local/include/libpostal”,将 "pkgconfig,libpostal.a,libpostal.la,libpostal.so,libpostal.so.1,libpostal.so.1.0.0" 写入“/usr/local/lib/”。有解决办法吗?
谢谢。
我设法构建了所有人工制品并将其保存到本地文件夹中,例如“/app/libpostal/”,然后部署过程只是将它们复制到 EC2 机器中的同一文件夹。关键是使用 ./configure 命令指定所有文件夹来存储人工制品,并且有一个棘手的步骤,我使用我自己的 jpostal_build.sh 而不是默认的:
1。自定义 "jpostal_build.sh" 有 2 行:
./bootstrap.sh
./configure --libdir=/app/libpostal/jniLibs make install
2。主脚本"generate_jpostal_artifacts.sh":
#!/bin/bash
#################################################
## Build jpostal and libpostal artefacts
#################################################
#Install required build tools
sudo apt-get install curl autoconf automake libtool pkg-config
#Clean up and checkout libpostal from github
sudo rm -rf /app/libpostal
sudo mkdir -p /app/libpostal
sudo chown -R $USER /app
git clone https://github.com/openvenues/libpostal
cd libpostal
./bootstrap.sh
#Configure data directory and C libraries location
./configure --prefix=/app/libpostal --datadir=/app/libpostal/datadir
#Build libpostal
make -j4 make install sudo ldconfig cd ..
#Build jpostal
rm -rf ./jpostal
git clone https://github.com/openvenues/jpostal.git
cp jpostal_build.sh ./jpostal/build.sh
export PKG_CONFIG_PATH=/app/libpostal/lib/pkgconfig/
pkg-config --cflags --libs libpostal
cd jpostal
./gradlew assemble
cd ..
#################################################
## zip all libpostal/jpostal artifacts for future deployment
#################################################
cd /app
tar -cvzf totalcheck-libpostal-1.0.0.tar.gz libpostal
#################################################
## Create config file for local
#################################################
echo $(pwd)/libpostal/jniLibs > /var/tmp/libpostal_configs.txt
echo $(pwd)/libpostal/datadir/libpostal >> /var/tmp/libpostal_configs.txt
我正在尝试将 jpostal 工件部署到 EC2 实例中,以便我们的 Web 应用程序可以使用该库。据我了解,"scr/main/jniLibs" 中的 jni 文件链接到“/usr/local/include/libpostal”和“/usr/local/lib/”中的 c 库。但是,我无权在 EC2 实例中将 "libpostal.h" 写入“/usr/local/include/libpostal”,将 "pkgconfig,libpostal.a,libpostal.la,libpostal.so,libpostal.so.1,libpostal.so.1.0.0" 写入“/usr/local/lib/”。有解决办法吗?
谢谢。
我设法构建了所有人工制品并将其保存到本地文件夹中,例如“/app/libpostal/”,然后部署过程只是将它们复制到 EC2 机器中的同一文件夹。关键是使用 ./configure 命令指定所有文件夹来存储人工制品,并且有一个棘手的步骤,我使用我自己的 jpostal_build.sh 而不是默认的:
1。自定义 "jpostal_build.sh" 有 2 行:
./bootstrap.sh
./configure --libdir=/app/libpostal/jniLibs make install
2。主脚本"generate_jpostal_artifacts.sh":
#!/bin/bash
#################################################
## Build jpostal and libpostal artefacts
#################################################
#Install required build tools
sudo apt-get install curl autoconf automake libtool pkg-config
#Clean up and checkout libpostal from github
sudo rm -rf /app/libpostal
sudo mkdir -p /app/libpostal
sudo chown -R $USER /app
git clone https://github.com/openvenues/libpostal
cd libpostal
./bootstrap.sh
#Configure data directory and C libraries location
./configure --prefix=/app/libpostal --datadir=/app/libpostal/datadir
#Build libpostal
make -j4 make install sudo ldconfig cd ..
#Build jpostal
rm -rf ./jpostal
git clone https://github.com/openvenues/jpostal.git
cp jpostal_build.sh ./jpostal/build.sh
export PKG_CONFIG_PATH=/app/libpostal/lib/pkgconfig/
pkg-config --cflags --libs libpostal
cd jpostal
./gradlew assemble
cd ..
#################################################
## zip all libpostal/jpostal artifacts for future deployment
#################################################
cd /app
tar -cvzf totalcheck-libpostal-1.0.0.tar.gz libpostal
#################################################
## Create config file for local
#################################################
echo $(pwd)/libpostal/jniLibs > /var/tmp/libpostal_configs.txt
echo $(pwd)/libpostal/datadir/libpostal >> /var/tmp/libpostal_configs.txt