@@ -10,10 +10,10 @@ Here we will install the Debian/Ubuntu packages.
10
10
sudo apt-get update -y --fix-missing
11
11
sudo apt-get upgrade -y
12
12
sudo apt-get install -y --no-install-suggests --no-install-recommends \
13
- apt-transport-https autoconf automake bison build-essential bzip2 ca-certificates \
13
+ apt-transport-https automake bison build-essential bzip2 ca-certificates \
14
14
curl ed flex g++-9 gcc-9 git gnupg-agent javacc libarchive-tools libatlas-base-dev \
15
15
libavcodec-dev libavformat-dev libboost-all-dev libbz2-dev libc-ares-dev libcurl4-openssl-dev \
16
- libdc1394-22-dev libgflags-dev libgoogle-glog-dev libgtk-3-dev libgtk2.0-dev \
16
+ libncurses5-dev libdc1394-22-dev libgflags-dev libgoogle-glog-dev libgtk-3-dev libgtk2.0-dev \
17
17
libhdf5-dev libjpeg-dev libjsoncpp-dev libleveldb-dev liblmdb-dev \
18
18
liblz4-dev libopenblas-dev libopenmpi-dev libpng-dev librdkafka-dev libsnappy-dev libssl-dev \
19
19
libswscale-dev libtbb-dev libtbb2 libtiff-dev libtiff5-dev libtool libzmq3-dev linux-libc-dev mpich \
@@ -80,6 +80,20 @@ cd $VDMS_DEP_DIR/CMake
80
80
make ${BUILD_THREADS}
81
81
sudo make install
82
82
```
83
+ *** NOTE:*** If multiple versions of Python 3 are present on your system, verify you are using Python3.9 or higher. You can specify the specific verison in above command and also set the following with your specific version: ` alias python3=/usr/bin/python3.x ` .
84
+
85
+
86
+ #### ** Autoconf v2.71**
87
+ ``` bash
88
+ AUTOCONF_VERSION=" 2.71"
89
+ curl -L -o $VDMS_DEP_DIR /autoconf-${AUTOCONF_VERSION} .tar.xz https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION} .tar.xz
90
+ cd $VDMS_DEP_DIR
91
+ tar -xf autoconf-${AUTOCONF_VERSION} .tar.xz
92
+ cd autoconf-${AUTOCONF_VERSION}
93
+ ./configure
94
+ make ${BUILD_THREADS}
95
+ sudo make install
96
+ ```
83
97
84
98
85
99
#### ** Protobuf v24.2 (4.24.2)**
@@ -90,38 +104,44 @@ git clone -b v${PROTOBUF_VERSION} --recurse-submodules https://github.com/protoc
90
104
91
105
cd $VDMS_DEP_DIR /protobuf/third_party/googletest
92
106
mkdir build && cd build
93
- cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local \
107
+ cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release \
108
+ -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local \
94
109
-DBUILD_GMOCK=ON -DCMAKE_CXX_STANDARD=17 ..
95
110
make ${BUILD_THREADS}
96
111
sudo make install
97
- sudo ldconfig
98
112
99
113
cd $VDMS_DEP_DIR /protobuf/third_party/abseil-cpp
100
114
mkdir build && cd build
101
- cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INSTALL_PREFIX=/usr/local/ \
102
- -DABSL_BUILD_TESTING=ON -DABSL_ENABLE_INSTALL=ON -DABSL_USE_EXTERNAL_GOOGLETEST=ON \
115
+ cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON \
116
+ -DCMAKE_INSTALL_PREFIX=/usr/local -DABSL_BUILD_TESTING=ON \
117
+ -DABSL_USE_EXTERNAL_GOOGLETEST=ON \
103
118
-DABSL_FIND_GOOGLETEST=ON -DCMAKE_CXX_STANDARD=17 ..
104
119
make ${BUILD_THREADS}
105
120
sudo make install
121
+ sudo ldconfig /usr/local/lib
106
122
107
123
cd $VDMS_DEP_DIR /protobuf
108
- cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_STANDARD=17 \
109
- -Dprotobuf_ABSL_PROVIDER=package -DCMAKE_PREFIX_PATH=/usr/local .
124
+ cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local \
125
+ -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_SHARED_LIBS=ON \
126
+ -Dprotobuf_ABSL_PROVIDER=package \
127
+ -Dprotobuf_BUILD_TESTS=ON \
128
+ -Dabsl_DIR=/usr/local/lib/cmake/absl .
110
129
make ${BUILD_THREADS}
111
130
sudo make install
112
131
113
132
python3 -m pip install --no-cache-dir " protobuf==4.${PROTOBUF_VERSION} "
114
133
```
115
134
116
135
117
- #### ** Faiss v1.7.3 **
136
+ #### ** Faiss v1.7.4 **
118
137
Install the Faiss library for similarity search.
119
138
``` bash
120
- FAISS_VERSION=" v1.7.3 "
139
+ FAISS_VERSION=" v1.7.4 "
121
140
git clone --branch ${FAISS_VERSION} https://github.com/facebookresearch/faiss.git $VDMS_DEP_DIR /faiss
122
141
cd $VDMS_DEP_DIR /faiss
123
142
mkdir build && cd build
124
- cmake -DFAISS_ENABLE_GPU=OFF -DPython_EXECUTABLE=/usr/bin/python3 ..
143
+ cmake -DFAISS_ENABLE_GPU=OFF -DPython_EXECUTABLE=/usr/bin/python3 \
144
+ -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release ..
125
145
make ${BUILD_THREADS}
126
146
sudo make install
127
147
```
@@ -192,6 +212,40 @@ cmake -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=RELEASE -D
192
212
make ${BUILD_THREADS}
193
213
sudo make install
194
214
```
215
+
216
+
217
+ #### ** Neo4j Client**
218
+ Below are instructions for installing *** libneo4j-omni*** which requires Peg, libcypher-parser and libedit as dependencies.
219
+ ``` bash
220
+ PEG_VERSION=" 0.1.19"
221
+ curl -L -o $VDMS_DEP_DIR /peg-${PEG_VERSION} .tar.gz https://github.com/gpakosz/peg/releases/download/${PEG_VERSION} /peg-${PEG_VERSION} .tar.gz
222
+ cd $VDMS_DEP_DIR /
223
+ tar -xf peg-${PEG_VERSION} .tar.gz
224
+ cd peg-${PEG_VERSION}
225
+ make ${BUILD_THREADS}
226
+ sudo make install
227
+
228
+ git clone https://github.com/cleishm/libcypher-parser.git $VDMS_DEP_DIR /libcypher
229
+ cd $VDMS_DEP_DIR /libcypher
230
+ ./autogen.sh
231
+ ./configure
232
+ sudo make install
233
+
234
+ LIBEDIT_VERSION=" 20230828-3.1"
235
+ curl -L -o $VDMS_DEP_DIR /libedit-${LIBEDIT_VERSION} .tar.gz https://thrysoee.dk/editline/libedit-${LIBEDIT_VERSION} .tar.gz
236
+ cd $VDMS_DEP_DIR /
237
+ tar -xzf libedit-${LIBEDIT_VERSION} .tar.gz
238
+ cd libedit-${LIBEDIT_VERSION}
239
+ ./configure
240
+ make ${BUILD_THREADS}
241
+ sudo make install
242
+
243
+ git clone https://github.com/majensen/libneo4j-omni.git $VDMS_DEP_DIR /libomni
244
+ cd $VDMS_DEP_DIR /libomni
245
+ ./autogen.sh
246
+ ./configure --disable-werror --prefix=/usr
247
+ sudo make install -w --debug
248
+ ```
195
249
<br >
196
250
197
251
## Install VDMS
@@ -216,3 +270,10 @@ cmake -DCMAKE_CXX_FLAGS='-DPM' ..
216
270
make ${BUILD_THREADS}
217
271
```
218
272
273
+ *** NOTE:*** If error similar to ` cannot open shared object file: No such file or directory ` obtained during loading shared libraries, such as ` libpmgd.so ` or ` libvcl.so ` , add the correct directories to ` LD_LIBRARY_PATH ` . This may occur for non-root users. To find the correct directory, run ` find ` command for missing object file. An example solution for missing ` libpmgd.so ` and ` libvcl.so ` is:
274
+ ``` bash
275
+ find / -name " libpmgd*so*" # <Path_to_VDMS_directory>/build/src/pmgd/src
276
+ find / -name " libvcl*so*" # <Path_to_VDMS_directory>/build/src/vcl
277
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} :< Path_to_VDMS_directory> /build/src/pmgd/src:< Path_to_VDMS_directory> /build/src/vcl
278
+ ```
279
+
0 commit comments