OTB algorithms don't run in QGIS
Hi everyone. I tried to use OTB in QGIS which is installed on my UBUNTU 22.04 machine. I compiled and installed OTB from source code with cmake on usr folder, because with the .run file, QGIS isn't able to locate the OTB libraries in OTB folder. In this way, OTB algorithms seem to start in QGIS, but there's a problem that stop the algorithms execution, due to a MCA parameter of OpenMPI library: "plm_rsh_agent". This is the log on QGIS:
Versione di QGIS: 3.28.6-Firenze Revisione codice QGIS: 868c9fa03b Versione di Qt: 5.15.3 Versione Python: 3.10.6 Versione di GDAL: 3.4.1 Versione di GEOS: 3.10.2-CAPI-1.16.0 Versione di PROJ: Rel. 8.2.1, January 1st, 2022 versione di PDAL: 2.3.0 (git-version: Release) Algoritmo iniziato alle: 2023-05-20T12:13:03 In avvio l'algoritmo 'Superimpose' … Parametri in ingresso: { 'inr' : '../Outputs/L8_B2_Superimpose15m.tif', 'elev.dem' : '', 'elev.geoid' : '', 'elev.default' : 0, 'lms' : 4, 'fv' : 0, 'mode' : 'default', 'interpolator' : 'linear', 'outputpixeltype' : 5 } hwloc/linux: Ignoring PCI device with non-16bit domain. Pass --enable-32bits-pci-domain to configure to support such devices (warning: it would break the library ABI, don't enable unless really needed). The value of the MCA parameter "plm_rsh_agent" was set to a path that could not be found: plm_rsh_agent: ssh : rsh. Please either unset the parameter, or check that the path is correct [loris-Inspiron-15-5510:09050] [[INVALID],INVALID] FORCE-TERMINATE AT Not found:-13 - error ../../../../../../orte/mca/plm/rsh/plm_rsh_component.c(335) [loris-Inspiron-15-5510:09049] [[INVALID],INVALID] ORTE_ERROR_LOG: Unable to start a daemon on the local node in file ../../../../../../orte/mca/ess/singleton/ess_singleton_module.c at line 716 [loris-Inspiron-15-5510:09049] [[INVALID],INVALID] ORTE_ERROR_LOG: Unable to start a daemon on the local node in file ../../../../../../orte/mca/ess/singleton/ess_singleton_module.c at line 172 It looks like orte_init failed for some reason; your parallel process is likely to abort. There are many reasons that a parallel process can fail during orte_init; some of which are due to configuration or environment problems. This failure appears to be an internal failure; here's some additional information (which may only be relevant to an Open MPI developer): orte_ess_init failed --> Returned value Unable to start a daemon on the local node (-127) instead of ORTE_SUCCESSI. It looks like MPI_INIT failed for some reason; your parallel process is likely to abort. There are many reasons that a parallel process can fail during MPI_INIT; some of which are due to configuration or environment problems. This failure appears to be an internal failure; here's some additional information (which may only be relevant to an Open MPI developer): ompi_mpi_init: ompi_rte_init failed --> Returned "Unable to start a daemon on the local node" (-127) instead of "Success" (0) *** An error occurred in MPI_Init *** on a NULL communicator *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort, *** and potentially your MPI job) [loris-Inspiron-15-5510:09049] Local abort before MPI_INIT completed completed successfully, but am not able to aggregate error messages, and not able to guarantee that all other processes were killed! Execution completed in 0.60 secondi Risultati: {'out': '../Outputs/L8_B2_Superimpose15m.tif'} Caricamento layer I seguenti layer non sono stati generati correttamente • ../Outputs/L8_B2_Superimpose15m.tif Puoi verificare il "Pannello dei messaggi" nella finestra principale di QGIS per trovare maggiori informazioni circa l'esecuzione dell'algoritmo
I modified the OpenMPI config file (openmpi-mca-params.config in etc folder) adding plm_rsh_agent=
without anything (possible parameters are ssh
, rsh
,ssh : rsh
or rsh : ssh
), because in config file there isn't such MCA parameter and by default OTB and UBUNTU in general use ssh : rsh
parameter that stop OTB algorithms in QGIS.
OTB algorithms start and are executed in Monteverdi with default plm_rsh_agent parameter, so this is a OTB problem in QGIS.
I don't know if this modify of OpenMPI config will affect others libraries in my OS.
Steps to reproduce
You have to install OTB from source code or .run file, set OTB paths in QGIS and start an OTB algorithm.
Configuration information
OS: UBUNTU 22.04.2 LTS; QGIS version: 3.28.6 LTS; OTB version: 8.1.1; OpenMPI version: 4.1.2