Hyrax-Rocky9
From OPeNDAP Documentation
Configuring Rocky 9 For Hyrax Development
Install (some) dependencies from yum/dnf
Updated 06/17/2025
Update
yum -y update
In order to get the commands ps, which, etc. install procps
yum install -y procps
C++ environment plus build tools
yum install -y git gcc-c++ flex bison cmake autoconf automake libtool emacs bzip2 vim bc
Development library versions
yum install -y openssl-devel libuuid-devel readline-devel zlib-devel bzip2-devel libjpeg-devel libxml2-devel curl-devel libicu-devel libtirpc-devel
WARNINGS
- No match for argument: libtirpc-devel
Solution
Located CentOS Stream 9 RPM files at rpmfind.net
curl -O https://www.rpmfind.net/linux/centos-stream/9-stream/CRB/x86_64/os/Packages/libtirpc-devel-1.3.3-9.el9.i686.rpm
curl -O https://www.rpmfind.net/linux/centos-stream/9-stream/BaseOS/x86_64/os/Packages/libtirpc-1.3.3-9.el9.i686.rpm
yum install libtirpc-1.3.3-9.el9.i686.rpm libtirpc-devel-1.3.3-9.el9.i686.rpm
Java
yum install -y java-21-openjdk java-21-openjdk-devel ant
EPEL
yum install dnf-plugins-core yum install epel-release yum config-manager --set-enabled powertools
Install CppUnit and some more development libraries
dnf install -y cppunit cppunit-devel openjpeg2-devel jasper-devel
- WARNINGS!
No match for argument: cppunit No match for argument: cppunit-devel No match for argument: openjpeg2-devel No match for argument: jasper-devel
Install the RPM tools
dnf install -y rpm-devel rpm-build redhat-rpm-config
Install the AWS CLI
dnf install -y awscli2
Clone the things
Don't be root...
cd ~ git clone https://github.com/OPENDAP/hyrax cd hyrax ./hyrax_clone.sh
Build the things
But first, source our friend spath.sh:
cd ~/hyrax source ./spath.sh prefix: /home/rocky/hyrax/build PATH: /home/rocky/hyrax/build/bin:/home/rocky/hyrax/build/deps/bin:/home/rocky/.local/bin:/home/rocky/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin LD_LIBRARY_PATH: /home/rocky/hyrax/build/deps/lib Found RHEL 9 or equivalent OS WARNING: tirpc header dir not at /usr/include/tirpc CPPFLAGS: -I/usr/include/tirpc LDFLAGS: -ltirpc TOMCAT_DIR: /home/rocky/hyrax/build/apache-tomcat-9.0.106 CATALINA_HOME: /home/rocky/hyrax/build/apache-tomcat-9.0.106
hyrax-dependencies
cd hyrax-dependencies make
Right away there's a problem in openjpeg
tar -xzf downloads/openjpeg-2.4.0.tar.gz -C src echo timestamp > src/openjpeg-2.4.0-stamp (cd src/openjpeg-2.4.0 \ && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/home/rocky/hyrax/build/deps \ -DCMAKE_C_FLAGS="-fPIC -O2" -DBUILD_SHARED_LIBS:bool=OFF) CMake Warning: No source or binary directory provided. Both will be assumed to be the same as the current working directory, but note that this warning will become a fatal error in future CMake releases. CMake Deprecation Warning at CMakeLists.txt:10 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake. Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions. -- The C compiler identification is GNU 11.5.0 -- The CXX compiler identification is GNU 11.5.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - failed -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc - broken -- Check for working C compiler: /usr/bin/cc - broken CMake Error at /usr/share/cmake/Modules/CMakeTestCCompiler.cmake:67 (message): The C compiler "/usr/bin/cc" is not able to compile a simple test program. It fails with the following output: Change Dir: /home/rocky/hyrax/hyrax-dependencies/src/openjpeg-2.4.0/CMakeFiles/CMakeScratch/TryCompile-36KgLP Run Build Command(s):/usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e4c2e/fast && gmake[2]: Entering directory '/home/rocky/hyrax/hyrax-dependencies/src/openjpeg-2.4.0/CMakeFiles/CMakeScratch/TryCompile-36KgLP' /usr/bin/gmake -f CMakeFiles/cmTC_e4c2e.dir/build.make CMakeFiles/cmTC_e4c2e.dir/build gmake[3]: Entering directory '/home/rocky/hyrax/hyrax-dependencies/src/openjpeg-2.4.0/CMakeFiles/CMakeScratch/TryCompile-36KgLP' Building C object CMakeFiles/cmTC_e4c2e.dir/testCCompiler.c.o /usr/bin/cc -fPIC -O2 -o CMakeFiles/cmTC_e4c2e.dir/testCCompiler.c.o -c /home/rocky/hyrax/hyrax-dependencies/src/openjpeg-2.4.0/CMakeFiles/CMakeScratch/TryCompile-36KgLP/testCCompiler.c Linking C executable cmTC_e4c2e /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e4c2e.dir/link.txt --verbose=1 /usr/bin/cc -fPIC -O2 -ltirpc -rdynamic CMakeFiles/cmTC_e4c2e.dir/testCCompiler.c.o -o cmTC_e4c2e /usr/bin/ld: cannot find -ltirpc collect2: error: ld returned 1 exit status gmake[3]: *** [CMakeFiles/cmTC_e4c2e.dir/build.make:99: cmTC_e4c2e] Error 1 gmake[3]: Leaving directory '/home/rocky/hyrax/hyrax-dependencies/src/openjpeg-2.4.0/CMakeFiles/CMakeScratch/TryCompile-36KgLP' gmake[2]: *** [Makefile:127: cmTC_e4c2e/fast] Error 2 gmake[2]: Leaving directory '/home/rocky/hyrax/hyrax-dependencies/src/openjpeg-2.4.0/CMakeFiles/CMakeScratch/TryCompile-36KgLP' CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:27 (project) -- Configuring incomplete, errors occurred!
And then in STARE a similar error and that's the end...
(cd src/STARE-1.1.0/build && cmake .. \ -DCMAKE_INSTALL_PREFIX:PATH=/home/rocky/hyrax/build/deps) CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake. Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions. -- The C compiler identification is GNU 11.5.0 -- The CXX compiler identification is GNU 11.5.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - failed -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc - broken CMake Error at /usr/share/cmake/Modules/CMakeTestCCompiler.cmake:67 (message): The C compiler "/usr/bin/cc" is not able to compile a simple test program. It fails with the following output: Change Dir: /home/rocky/hyrax/hyrax-dependencies/src/STARE-1.1.0/build/CMakeFiles/CMakeScratch/TryCompile-0R4ELE Run Build Command(s):/usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_26618/fast && gmake[2]: Entering directory '/home/rocky/hyrax/hyrax-dependencies/src/STARE-1.1.0/build/CMakeFiles/CMakeScratch/TryCompile-0R4ELE' /usr/bin/gmake -f CMakeFiles/cmTC_26618.dir/build.make CMakeFiles/cmTC_26618.dir/build gmake[3]: Entering directory '/home/rocky/hyrax/hyrax-dependencies/src/STARE-1.1.0/build/CMakeFiles/CMakeScratch/TryCompile-0R4ELE' Building C object CMakeFiles/cmTC_26618.dir/testCCompiler.c.o /usr/bin/cc -o CMakeFiles/cmTC_26618.dir/testCCompiler.c.o -c /home/rocky/hyrax/hyrax-dependencies/src/STARE-1.1.0/build/CMakeFiles/CMakeScratch/TryCompile-0R4ELE/testCCompiler.c Linking C executable cmTC_26618 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_26618.dir/link.txt --verbose=1 /usr/bin/cc -ltirpc -rdynamic CMakeFiles/cmTC_26618.dir/testCCompiler.c.o -o cmTC_26618 /usr/bin/ld: cannot find -ltirpc collect2: error: ld returned 1 exit status gmake[3]: *** [CMakeFiles/cmTC_26618.dir/build.make:99: cmTC_26618] Error 1 gmake[3]: Leaving directory '/home/rocky/hyrax/hyrax-dependencies/src/STARE-1.1.0/build/CMakeFiles/CMakeScratch/TryCompile-0R4ELE' gmake[2]: *** [Makefile:127: cmTC_26618/fast] Error 2 gmake[2]: Leaving directory '/home/rocky/hyrax/hyrax-dependencies/src/STARE-1.1.0/build/CMakeFiles/CMakeScratch/TryCompile-0R4ELE' CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:4 (project) -- Configuring incomplete, errors occurred!