irods / irods_development_environment

BSD 3-Clause "New" or "Revised" License
7 stars 11 forks source link

compiling 4.3.1 release on CentOS7 #135

Closed nief closed 7 months ago

nief commented 7 months ago

hello,

in order to be able to compile 4.3.1 on CentOS7, I need to add the extra lines (bold characteres) below in irods_runner.centos7.Dockerfile (some libraries were missing):

RUN --mount=type=cache,target=/var/cache/yum,sharing=locked \
    yum install -y \
        epel-release \
        sudo \
        wget \
    && \
    **yum install -y \
       centos-release-scl \
    && \**
    rm -rf /tmp/*

cheers, JY

nief commented 7 months ago

New attempt, these lines needed to be added:

yum install -y
centos-release-scl
&&
korydraughn commented 7 months ago

I was able to compile 4.3.1 using the development environment without any changes. The SHA I built the core image from was ...

$ git log | head
commit 9767633ef12c7c6d6bfc6a6f6d6014ff3482f503                                                                                                                                               
Author: Markus Kitsinger (SwooshyCueb) <root@swooshalicio.us>
Date:   Wed Mar 20 17:15:36 2024 -0400

    [irods/irods#7570] Add flex and bison to core builders

Here's the version of Docker I'm running.

$ docker --version
Docker version 25.0.2, build 29cf629

Q. Are you building the Docker image from tip of main? Currently 9767633ef12c7c6d6bfc6a6f6d6014ff3482f503. Q. What version of Docker are you running? Q. Did you checkout the 4.3.1 tag for the iRODS server and icommands source code?

nief commented 7 months ago

hello Kory.

Q. Are you building the Docker image from tip of main? Currently 9767633.

no, it did not seem to be the case as the lines I added appear to be there now. I am always doing a: git clone https://github.com/irods/irods_development_environment as mentionned in the doc.

Q. What version of Docker are you running?

I m running v 26.0.1

Q. Did you checkout the 4.3.1 tag for the iRODS server and icommands source code?

yes

korydraughn commented 7 months ago

Wait a minute, you mentioned the runner images.

If you're trying to compile iRODS, you only need to build the core_builder image, not the runner image.

Try this instead (you'll need to update the paths for it to work) ...

# Build the image for compiling iRODS.
docker build -f irods_core_builder.centos7.Dockerfile -t irods-core-builder-centos7 .

# Use the image to compile iRODS 4.3.1.
docker run --rm \
    -v /full/path/to/irods_repository_clone:/irods_source:ro \
    -v /full/path/to/irods_build_output_dir:/irods_build \
    -v /full/path/to/icommands_repository_clone:/icommands_source:ro \
    -v /full/path/to/icommands_build_output_dir:/icommands_build \
    -v /full/path/to/packages_output_dir:/irods_packages \
    irods-core-builder-centos7
nief commented 7 months ago

yes, that is true. I did not know the purpose of this runner containers (I thought they were used to prepare the compilation environment). It works fine without this (it worked fine before but was doing the unnecessary step of building the runner). Thanks, JY