Created
February 1, 2024 16:57
-
-
Save hckaraman/a2c22bb4e93fb1372a46dab5a47d8e20 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
!#/usr/bin/bash | |
sudo apt-get install cmake make gcc g++ gfortran m4 | |
# create costs folder | |
cd /usr/local/ | |
sudo mkdir FCICOMP_COTS | |
cd FCICOMP_COTS | |
sudo mkdir zlib | |
sudo mkdir hdf5 | |
sudo mkdir netcdf | |
sudo mkdir charls | |
# data folder | |
folder=/data/libs | |
cd $folder | |
# install zlib | |
tar -xvf zlib-1.2.12.tar.gz | |
cd zlib-1.2.12/ | |
INSTALL=/usr/local/FCICOMP_COTS/zlib | |
./configure --prefix=$INSTALL | |
sudo make install | |
# install hdf | |
cd $folder | |
tar -xvf hdf5-1.8.22.tar.gz | |
cd hdf5-1.8.22 | |
INSTALL=/usr/local/FCICOMP_COTS/hdf5 | |
ZLIB=/usr/local/FCICOMP_COTS/zlib | |
export LIBS=-ldl | |
./configure --enable-hl --with-zlib=$ZLIB --prefix=$INSTALL | |
make -j8 | |
sudo make install | |
# install netcdf | |
cd $folder | |
tar -xvf netcdf-c-4.8.1.tar.gz && cd netcdf-c-4.8.1 | |
INSTALL=/usr/local/FCICOMP_COTS/netcdf | |
ZLIB=/usr/local/FCICOMP_COTS/zlib | |
HDF5=/usr/local/FCICOMP_COTS/hdf5 | |
export LD_LIBRARY_PATH=$HDF5/lib:$ZLIB/lib:$LD_LIBRARY_PATH | |
export LDFLAGS="-L$HDF5/lib -L$ZLIB/lib" | |
export CPPFLAGS="-I$HDF5/include -I$ZLIB/include" | |
./configure --enable-netcdf-4 --prefix=$INSTALL | |
make -j8 | |
sudo make install | |
# charls | |
cd $folder | |
tar -xvf charls-1.0.tar.gz && cd charls-1.0 | |
sed -i.ori '1s/^/#include "header.h"\n/' defaulttraits.h | |
mkdir ../CharLS-build-1.0 | |
cd ../CharLS-build-1.0 | |
cmake -Dcharls_BUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=RELEASE ../charls-1.0 | |
make -j8 | |
INSTALL=/usr/local/FCICOMP_COTS/charls | |
sudo mkdir -p $INSTALL/lib $INSTALL/include | |
sudo cp libCharLS.so $INSTALL/lib | |
cd ../charls-1.0 | |
sudo cp config.h interface.h publictypes.h $INSTALL/include | |
## fci | |
cd $folder | |
tar -xvf EUMETSAT-FCIDECOMP_V1.0.2.tar.gz && cd FCIDECOMP_V1.0.2/Software | |
tar -xvf fcidecomp_sources-V1.0.2.tar.gz && cd FCIDECOMP_SOURCES | |
CHARLS_INSTALLATION_PATH=/usr/local/FCICOMP_COTS/charls | |
FCIDECOMP_INSTALLATION_PATH=/usr/local | |
HDF5_INSTALLATION_PATH=/usr/local/FCICOMP_COTS/hdf5 | |
ZLIB_INSTALLATION_PATH=/usr/local/FCICOMP_COTS/zlib | |
NETCDF_INSTALLATION_PATH=/usr/local/FCICOMP_COTS/netcdf | |
./gen/build.sh fcicomp-jpegls release \ | |
-DCMAKE_PREFIX_PATH=${CHARLS_INSTALLATION_PATH} \ | |
-DCMAKE_INSTALL_PREFIX=${FCIDECOMP_INSTALLATION_PATH} | |
./gen/build.sh fcicomp-jpegls test | |
sudo ./gen/install.sh fcicomp-jpegls | |
./gen/build.sh fcicomp-H5Zjpegls release -DCMAKE_PREFIX_PATH="${FCIDECOMP_INSTALLATION_PATH};${ZLIB_INSTALLATION_PATH};${HDF5_INSTALLATION_PATH}" -DCMAKE_INSTALL_PREFIX=${FCIDECOMP_INSTALLATION_PATH} | |
./gen/build.sh fcicomp-H5Zjpegls test | |
sudo ./gen/install.sh fcicomp-H5Zjpegls | |
# post installation | |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${FCIDECOMP_INSTALLATION_PATH}/lib: | |
export HDF5_PLUGIN_PATH=$HDF5_PLUGIN_PATH:${FCIDECOMP_INSTALLATION_PATH}/hdf5/lib/plugin/ | |
export PATH=${NETCDF_INSTALLATION_PATH}/bin/:$PATH | |
export LD_LIBRARY_PATH${NETCDF_INSTALLATION_PATH}/lib:${HDF5_INSTALLATION_PATH}/lib:$LD_LIBRARY_PATH | |
# test | |
nccopy -s -d 9 dummy_dataset.nc dummy_dataset_deflate.nc |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment