-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdist.sh
More file actions
36 lines (29 loc) · 1.3 KB
/
dist.sh
File metadata and controls
36 lines (29 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
# Create a distribution directory
mkdir -p dist/lib
cp bin/embedding_bridge dist/
# Copy all required shared libraries detected by ldd
ldd bin/embedding_bridge | grep "=> /" | awk '{print $3}' | xargs -I '{}' cp '{}' dist/lib/
# Explicitly copy Arrow libraries
echo "Copying Arrow libraries..."
mkdir -p vendor/dist/lib 2>/dev/null || true
if [ -d "vendor/dist/lib" ]; then
cp -P vendor/dist/lib/libarrow.so* dist/lib/ 2>/dev/null || echo "Warning: Arrow libraries not found"
cp -P vendor/dist/lib/libparquet.so* dist/lib/ 2>/dev/null || echo "Warning: Parquet libraries not found"
fi
# Explicitly copy AWS libraries if they exist as shared libraries
echo "Copying AWS libraries..."
if [ -d "vendor/aws/install/lib" ]; then
find vendor/aws/install/lib -name "*.so*" -type f -exec cp -P {} dist/lib/ \; 2>/dev/null || echo "Warning: No AWS shared libraries found"
fi
# Copy our own shared library
cp lib/libembedding_bridge.so dist/lib/ 2>/dev/null || echo "Warning: libembedding_bridge.so not found"
# Create a wrapper script
cat > dist/run_embedding_bridge.sh << 'EOF'
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export LD_LIBRARY_PATH="$DIR/lib:$LD_LIBRARY_PATH"
"$DIR/embedding_bridge" "$@"
EOF
chmod +x dist/run_embedding_bridge.sh
echo "Distribution package created in dist/"