Go wrapper for ecCodes
https://github.com/amsokol/go-eccodes/tree/master/cmd
- go-eccodes
sudo apt-get install gcc make cmake libtool
source: zlib
cd ./contrib
tar -xzf zlib-1.2.11.tar.gz
cd zlib-1.2.11
make distclean
./configure --static
make
sudo make install
cd ..
rm -r ./zlib-1.2.11
cd ..
source: libpng
cd ./contrib
tar -xzf libpng-1.6.34.tar.gz
cd libpng-1.6.34
./configure --disable-shared
make check
sudo make install
cd ..
rm -r ./libpng-1.6.34
cd ..
source: libaec
cd ./contrib
tar -xzf libaec-1.0.2.tar.gz
cd libaec-1.0.2
mkdir build
cd build
../configure --disable-shared
make check
sudo make install
cd ../..
rm -r ./libaec-1.0.2
cd ..
source: libjpeg
cd ./contrib
tar -xzf jpegsrc.v9b.tar.gz
cd jpeg-9b
./configure --disable-shared
make
make test
sudo make install
cd ..
rm -r ./jpeg-9b
cd ..
source: libopenjpeg2
cd ./contrib
tar -xzf openjpeg-2.1.2.tar.gz
cd openjpeg-2.1.2
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS:bool=OFF -DBUILD_THIRDPARTY:bool=ON ..
make
sudo make install
cd ../..
rm -r ./openjpeg-2.1.2
cd ..
source: libjasper
cd ./contrib
tar -xzf jasper-version-2.0.14.tar.gz
mkdir build
cd build
cmake -DJAS_ENABLE_SHARED=false ../jasper-version-2.0.14
make clean all
make test
sudo make install
cd ..
rm -r ./build
rm -r ./jasper-version-2.0.14
cd ..
source: libeccodes
cd ./contrib
tar -xzf eccodes-2.5.0-Source.tar.gz
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=OFF -DENABLE_NETCDF=OFF -DENABLE_JPG=ON -DENABLE_PNG=ON -DENABLE_AEC=ON \
-DENABLE_PYTHON=OFF -DENABLE_FORTRAN=OFF -DENABLE_MEMFS=ON ../eccodes-2.5.0-Source
make
ctest
sudo make install
cd ..
rm -r ./build
rm -r ./eccodes-2.5.0-Source
cd ..
source: MSYS2
-
download installer for x86_64
-
install MSYS2 following the guide
-
uncomment
MSYS=winsymlinks:nativestrict
everywhere to enable symbol links
pacman -S --needed base-devel git mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake
pacman -S mingw-w64-x86_64-zlib
curl -O https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openjpeg2-2.1.2-2-any.pkg.tar.xz
pacman -U mingw-w64-x86_64-openjpeg2-2.1.2-2-any.pkg.tar.xz
pacman -S mingw-w64-x86_64-jasper
source: libaec
-
extract
libaec-1.0.2.tar.gz
to MSYS2 user home directory -
replace original files by files from
contrib\MSYS2\patches\libaec-1.0.2
-
run
MSYS2 MinGW 64-bit
shell and execute commands to build and install:
tar -xzf libaec-1.0.2.tar.gz
cd libaec-1.0.2
mkdir build
cd build
../configure
make check
make install
source: libeccodes
-
extract
eccodes-2.5.0-Source.tar.gz
to MSYS2 user home directory -
replace original files by files from
contrib\MSYS2\patches\eccodes-2.5.0-Source
-
run
MSYS2 MinGW 64-bit
shell and execute commands to build and install:
mkdir build
cd build
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX=/mingw64 -DDISABLE_OS_CHECK=ON -DENABLE_NETCDF=OFF -DENABLE_JPG=ON -DENABLE_PNG=ON -DENABLE_AEC=ON \
-DENABLE_PYTHON=OFF -DENABLE_FORTRAN=OFF -DENABLE_MEMFS=OFF ../eccodes-2.5.0-Source
make
make install
- set
ECCODES_DEFINITION_PATH
environment variable to<your_path>\msys64\mingw64\share\eccodes\definitions