amazon-web-services - 将 jpostal/libpostal 部署到 EC2 实例中

标签 amazon-web-services parsing amazon-ec2 street-address

我正在尝试将 jpostal 工件部署到 EC2 实例中,以便我们的 Web 应用程序可以使用该库。据我了解,“scr/main/jniLibs”中的 jni 文件链接到“/usr/local/include/libpostal”和“/usr/local/lib/”中的 c 库。但是,我无权将“libpostal.h”写入“/usr/local/include/libpostal”和“pkgconfig,libpostal.a,libpostal.la,libpostal.so,libpostal.so.1,libpostal.so” .1.0.0”到 EC2 实例中的“/usr/local/lib/”。有解决办法吗?

谢谢。

最佳答案

我设法构建所有工件并将其保存到本地文件夹中,例如“/app/libpostal/”,然后部署过程只是将它们复制到 EC2 机器中的同一文件夹。关键是使用 ./configure 命令指定所有文件夹来存储人工制品,并且有一个棘手的步骤,我使用我自己的 jpostal_build.sh 而不是默认的:

1。自定义“jpostal_build.sh”有两行:

./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

关于amazon-web-services - 将 jpostal/libpostal 部署到 EC2 实例中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50148509/

相关文章:

python - 在aws lambda上运行时如何解决python中的cx_Oracle问题

parsing - 应用解析器导出不带空的替代方案

amazon-ec2 - Datastax Opscenter - 代理未连接

powershell - 如何将特定类型的所有文件上传到 S3 Bucket?

php - 在 Laravel 5.6 中找不到类 'SimpleXMLElement'

amazon-web-services - Terraform AWS EKS 安全组问题

python - 无法从 SPAN 标签获取文本

使用awk解析

python - boto3:创建 Spot 实例

linux - Hadoop Yarn 在运行 Ubuntu 作业时卡住