Hello all,
I tried compiling iRODS 4.3 on Debian11 and have some troubles you might
be able to help me with.
I did the following steps (and installing additional packages when needed):
A)I build
https://github.com/irods/externals
B)I build
https://github.com/irods/irods (master)
C)I build
https://github.com/irods/irods_client_icommands
I installed the following debs:
irods-externals-avro1.11.0-1_1.0~bullseye_amd64.deb
irods-externals-boost1.78.0-0_1.0~bullseye_amd64.deb
irods-externals-catch22.13.8-0_1.0~bullseye_amd64.deb
irods-externals-clang13.0.0-0_1.0~bullseye_amd64.deb
irods-externals-clang-runtime13.0.0-0_1.0~bullseye_amd64.deb
irods-externals-cmake3.21.4-0_1.0~bullseye_amd64.deb
irods-externals-cppzmq4.8.1-1_1.0~bullseye_amd64.deb
irods-externals-fmt8.1.1-0_1.0~bullseye_amd64.deb
irods-externals-json3.10.4-0_1.0~bullseye_amd64.deb
irods-externals-libarchive3.5.2-0_1.0~bullseye_amd64.deb
irods-externals-nanodbc2.13.0-1_1.0~bullseye_amd64.deb
irods-externals-qpid-proton0.36.0-0_1.0~bullseye_amd64.deb
irods-externals-spdlog1.9.2-1_1.0~bullseye_amd64.deb
irods-externals-zeromq4-14.1.8-0_1.0~bullseye_amd64.deb
irods-database-plugin-postgres_4.3.0-1~bullseye_amd64.deb
irods-dev_4.3.0-1~bullseye_amd64.deb
irods-runtime_4.3.0-1~bullseye_amd64.deb
irods-server_4.3.0-1~bullseye_amd64.deb
irods-icommands_4.3.0-1~bullseye_amd64.deb
Now there are a couple of issues:
1)python3 /var/lib/irods/scripts/setup_irods.py
iRODS user [irods]:
iRODS group [irods]:
iRODS server's role:
1. provider
2. consumer
Please select a number or choose 0 to enter a new value [1]:
Error encountered running setup_irods:
Traceback (most recent call last):
File "/var/lib/irods/scripts/setup_irods.py", line 445, in main
setup_server(irods_config,
File "/var/lib/irods/scripts/setup_irods.py", line 118, in setup_server
database_interface.setup_database_config(irods_config)
File "/var/lib/irods/scripts/irods/database_interface.py", line 97,
in setup_database_config
db_type = get_database_type()
File "/var/lib/irods/scripts/irods/database_interface.py", line 90,
in get_database_type
raise IrodsError('Database type must be one of postgres,
cockroachdb, mysql, or oracle.')
irods.exceptions.IrodsError: Database type must be one of postgres,
cockroachdb, mysql, or oracle.
I do not understand why. The file
"/usr/lib/irods/plugins/database/libpostgres.so" is avaiable.
Just to see if this is the only problem I then patched def
get_database_type(): to always "return 'postgres'"
After that the setup went trough.
2)After trying to start /usr/sbin/irodsServer it complains about 2 things:
2a)
WARNING: Validation Failed for [/etc/irods/server_config.json]:
against
[file:///var/lib/irods/configuration_schemas/v4/server_config.json]
RefResolutionError: unknown url type: 'host_access_control.json'
Warning encountered in json_validation for
/etc/irods/server_config.json, skipping validation...
WARNING: Validation Failed for
[/var/lib/irods/.irods/irods_environment.json]:
against
[file:///var/lib/irods/configuration_schemas/v4/service_account_environment.json]
RefResolutionError: unknown url type: 'client_environment.json'
Warning encountered in json_validation for
/var/lib/irods/.irods/irods_environment.json, skipping validation...
Warning encountered in validation:
Traceback (most recent call last):
File "/var/lib/irods/scripts/irods/controller.py", line 94, in start
self.config.validate_configuration()
File "/var/lib/irods/scripts/irods/configuration.py", line 280, in
validate_configuration
raise IrodsWarning('%s\n%s' % (
irods.exceptions.IrodsWarning: Skipped validation for the following files:
/etc/irods/server_config.json
/var/lib/irods/.irods/irods_environment.json
2b)
Error encountered running setup_irods:
Traceback (most recent call last):
File "/var/lib/irods/scripts/setup_irods.py", line 445, in main
setup_server(irods_config,
File "/var/lib/irods/scripts/setup_irods.py", line 129, in setup_server
IrodsController(irods_config).start(test_mode=test_mode)
File "/var/lib/irods/scripts/irods/controller.py", line 197, in start
six.reraise(IrodsError, e, sys.exc_info()[2])
File "/var/lib/irods/scripts/irods/six.py", line 672, in reraise
raise value
File "/var/lib/irods/scripts/irods/controller.py", line 168, in start
lib.execute_command(cmd,
File "/var/lib/irods/scripts/irods/execute.py", line 117, in
execute_command
check_command_return(args, out, err, returncode, input=input, **kwargs)
File "/var/lib/irods/scripts/irods/execute.py", line 110, in
check_command_return
raise IrodsError('\n'.join([
irods.exceptions.IrodsError: Call to open process with
['/usr/sbin/irodsServer'] returned an error:
Options passed to Popen:
cwd: /usr/sbin
env: HIDDEN
Return code: 127
Error output:
/usr/sbin/irodsServer: error while loading shared libraries:
libavrocpp.so.1.11.0: cannot open shared object file: No such file or
directory
I can workaround the 2b) error with
export PATH=/opt/irods-externals/avro1.11.0-1/lib:$PATH
However now irods still will not start. In the log I can see the
following error:
3)
in the logs I see now:
irodsServer[1064554]:
{"log_category":"legacy","log_facility":"local0","log_level":"error","log_message":"environment_properties::capture:
missing environment file. should be at [/root/.irods/irods_environment.json]
/var/lib/irods/.irods/irods_environment.json exists, I assume it has the
wrong infos.
At this point I want to ask:
I) any ideas what went wrong on my try?
II) has someone successfuly build irods 4.3 on Debian 11 an would be so
nice to share his steps
III) When 4.3 is officially released is it planned to provide packages
not only for Ubuntu/Centos but also for Debian?
Thank you for any pointers!
best,
Alexander