Hyrax-Rocky9

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽

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!