-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathinstall_mocax.sh
More file actions
executable file
·148 lines (130 loc) · 4.5 KB
/
Copy pathinstall_mocax.sh
File metadata and controls
executable file
·148 lines (130 loc) · 4.5 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#!/bin/bash
# Installation script for MoCaX and MoCaX Extend libraries
# Extracts and sets up library directories from MoCaXSuite-1.2.0
set -e # Exit on error
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo "=============================================="
echo "MoCaX Installation Script"
echo "=============================================="
echo ""
# Check if MoCaXSuite-1.2.0 exists
MOCAX_SUITE_DIR="MoCaXSuite-1.2.0/MoCaXSuite-1.2.0"
if [ ! -d "$MOCAX_SUITE_DIR" ]; then
echo -e "${RED}✗ Error: MoCaXSuite-1.2.0 directory not found!${NC}"
echo " Expected: $MOCAX_SUITE_DIR"
echo " Please extract MoCaXSuite-1.2.0.zip in the repository root."
exit 1
fi
echo -e "${GREEN}✓ Found MoCaXSuite-1.2.0 directory${NC}"
# Paths
MOCAX_LIB_DIR="$MOCAX_SUITE_DIR/MoCaX/Linux/gmake/64bit/Python/MoCaXLibrary"
MOCAX_ZIP="$MOCAX_LIB_DIR/mocaxpy-4.3.1.linux-x86_64.zip"
MOCAX_SO="$MOCAX_LIB_DIR/libmocaxc.so"
MOCAXEXTEND_LIB_DIR="$MOCAX_SUITE_DIR/MoCaXExtend/Linux/Library"
# Check if required files exist
if [ ! -f "$MOCAX_ZIP" ]; then
echo -e "${RED}✗ Error: MoCaX Python package not found!${NC}"
echo " Expected: $MOCAX_ZIP"
exit 1
fi
if [ ! -d "$MOCAXEXTEND_LIB_DIR" ]; then
echo -e "${RED}✗ Error: MoCaX Extend library not found!${NC}"
echo " Expected: $MOCAXEXTEND_LIB_DIR"
exit 1
fi
echo ""
echo "=============================================="
echo "Setting up mocax_lib/"
echo "=============================================="
# Create/clean mocax_lib directory
if [ -d "mocax_lib" ]; then
echo -e "${YELLOW}⚠ Removing existing mocax_lib directory...${NC}"
rm -rf mocax_lib
fi
mkdir -p mocax_lib
# Create temporary directory for extraction
TEMP_DIR=$(mktemp -d)
trap "rm -rf $TEMP_DIR" EXIT
# Extract mocaxpy zip
echo "Extracting mocaxpy-4.3.1.linux-x86_64.zip..."
unzip -q "$MOCAX_ZIP" -d "$TEMP_DIR"
# Copy Python module
if [ -d "$TEMP_DIR/usr/lib/python2.7/site-packages/mocaxpy" ]; then
echo "Copying mocaxpy Python module..."
cp -r "$TEMP_DIR/usr/lib/python2.7/site-packages/mocaxpy" mocax_lib/
echo -e "${GREEN}✓ mocaxpy module installed${NC}"
else
echo -e "${RED}✗ Error: mocaxpy module not found in zip!${NC}"
exit 1
fi
# Copy shared library from MoCaXLibrary directory
if [ -f "$MOCAX_SO" ]; then
echo "Copying libmocaxc.so..."
cp "$MOCAX_SO" mocax_lib/
echo -e "${GREEN}✓ libmocaxc.so installed${NC}"
else
echo -e "${RED}✗ Error: libmocaxc.so not found!${NC}"
echo " Expected: $MOCAX_SO"
exit 1
fi
echo ""
echo "=============================================="
echo "Setting up mocaxextend_lib/"
echo "=============================================="
# Create/clean mocaxextend_lib directory
if [ -d "mocaxextend_lib" ]; then
echo -e "${YELLOW}⚠ Removing existing mocaxextend_lib directory...${NC}"
rm -rf mocaxextend_lib
fi
mkdir -p mocaxextend_lib
# Copy mocaxextendpy module
if [ -d "$MOCAXEXTEND_LIB_DIR/mocaxextendpy" ]; then
echo "Copying mocaxextendpy Python module..."
cp -r "$MOCAXEXTEND_LIB_DIR/mocaxextendpy" mocaxextend_lib/
echo -e "${GREEN}✓ mocaxextendpy module installed${NC}"
else
echo -e "${RED}✗ Error: mocaxextendpy module not found!${NC}"
exit 1
fi
# Copy shared libraries
if [ -d "$MOCAXEXTEND_LIB_DIR/shared_libs" ]; then
echo "Copying shared libraries..."
cp -r "$MOCAXEXTEND_LIB_DIR/shared_libs" mocaxextend_lib/
echo -e "${GREEN}✓ Shared libraries installed:${NC}"
echo " - libhommat.so"
echo " - libtensorvals.so"
else
echo -e "${RED}✗ Error: shared_libs directory not found!${NC}"
exit 1
fi
echo ""
echo "=============================================="
echo "Installation Summary"
echo "=============================================="
echo -e "${GREEN}✓ mocax_lib/ created successfully${NC}"
echo " - mocaxpy/ (Python module)"
echo " - libmocaxc.so (shared library)"
echo ""
echo -e "${GREEN}✓ mocaxextend_lib/ created successfully${NC}"
echo " - mocaxextendpy/ (Python module)"
echo " - shared_libs/ (libhommat.so, libtensorvals.so)"
echo ""
echo "=============================================="
echo "Next Steps"
echo "=============================================="
echo "Run the test scripts:"
echo ""
echo " # MoCaX standard (full tensor)"
echo " ./run_mocax_baseline.sh"
echo ""
echo " # MoCaX Sliding (dimensional decomposition)"
echo " ./run_mocax_sliding.sh"
echo ""
echo " # MoCaX Extend TT (Tensor Train)"
echo " ./run_mocax_tt.sh"
echo ""
echo -e "${GREEN}Installation complete!${NC}"