MonetDBSolutions / monetdbe-examples

A small collection of C programs to illustrate MonetDBe
9 stars 4 forks source link

Issues building monetDB Oct2020-SP3 from source #14

Closed krimp closed 3 years ago

krimp commented 3 years ago

I was trying to build monetDB Oct2020-SP from source on a RPi4B+ with Ubuntu 20.04 LTS, 64 bit. The procedure I used to follow, which have worked on all versions previous to Oct2020, was:

export MonetDB_rel=Oct2020-SP3
export MonetDB_ver=11.39.13
export MonetDB_base_dir=$HOME/MonetDB-$MonetDB_rel
export MonetDB_source_dir=$MonetDB_base_dir/MonetDB-$MonetDB_ver
export MonetDB_build_dir=$MonetDB_base_dir/BUILD
export MonetDB_prefix_dir=$MonetDB_base_dir
mkdir $MonetDB_base_dir
cd $MonetDB_base_dir

wget https://dev.monetdb.org/downloads/sources/$MonetDB_rel/MonetDB-11.39.13.tar.xz
tar xf MonetDB-$MonetDB_ver.tar.xz
mkdir $MonetDB_build_dir
cd $MonetDB_build_dir

$MonetDB_source_dir/configure --prefix=$MonetDB_prefix_dir

However the last line results in the error:

-bash: /home/ubuntu/MonetDB-Oct2020-SP3/MonetDB-11.39.13/configure: No such file or directory

It seems like the build process is changed (https://www.monetdb.org/blog/from_automake_to_cmake), but without an updated doc (https://www.monetdb.org/Developers/SourceCompile).

To me it seems like the following is ok (after sudo apt install cmake bison):

export MonetDB_rel=Oct2020-SP3
export MonetDB_ver=11.39.13
export MonetDB_base_dir=$HOME/MonetDB-$MonetDB_rel
export MonetDB_source_dir=$MonetDB_base_dir/MonetDB-$MonetDB_ver
export MonetDB_prefix_dir=$MonetDB_base_dir

mkdir $MonetDB_base_dir
cd $MonetDB_base_dir

wget https://dev.monetdb.org/downloads/sources/$MonetDB_rel/MonetDB-11.39.13.tar.xz

tar xf MonetDB-$MonetDB_ver.tar.xz

cd $MonetDB_source_dir
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .  --parallel -j 4

However, how do one install the compiled version? The old one had e.g.

make -j4 install

Is the one below the right one to use?

sudo cmake --build . --target install --config Release --parallel -j 4

njnes commented 3 years ago

indeed we switched to cmake (documenation update will seen follow). cmake has indeed a --parallel [jobs] and -j jobs too using one or the other is fine.