Coder Social home page Coder Social logo

ralna / galahad Goto Github PK

View Code? Open in Web Editor NEW
96.0 7.0 14.0 179.28 MB

A library of modern Fortran modules for nonlinear optimization

License: Other

Shell 0.43% Python 0.79% C 9.56% Fortran 85.41% Roff 0.18% Makefile 0.01% TeX 0.15% MATLAB 0.40% M 0.01% Cuda 0.35% C++ 0.92% sed 0.01% PLSQL 0.01% Meson 0.22% Julia 1.57%
nonlinear-optimization numerical-optimization mathematical-programming quadratic-programming nonlinear-least-squares trust-region-methods cubic-regularization-methods fortran c matlab

galahad's People

Contributors

amontoison avatar dalekopera avatar dpo avatar jfowkes avatar nimgould avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

galahad's Issues

Issue to compile LANCELOT

I want to compile LANCELOT with the following source files:

libgalahad_src += files('asmbl.F90', 'bndsl.F90', 'cauchy.F90', 'cg.F90', 'drche.F90', 'drchg.F90',
	                    'extend.F90', 'frntl.F90', 'hslint.F90', 'hsprd.F90', 'initw.F90', 'lancelot.F90',
                        'lancelot_steering.F90', 'lancelot_types.F90', 'mdchl.F90',
	                    'others.F90', 'precn.F90', 'scaln.F90', 'strutr.F90')
# 'lancelot.pointers.F90' ?

but I have the following error:

[219/543] Compiling Fortran object libgalahad_single.so.p/src_lancelot_lancelot_steering.F90.o
FAILED: libgalahad_single.so.p/src_lancelot_lancelot_steering.F90.o libgalahad_single.so.p/lancelot_steering_precision.mod 
gfortran -Ilibgalahad_single.so.p -I. -I.. -I../include -Ilibgalahad_metis.so.p -Ilibpastix_single.so.p -Ilibwsmp.so.p -Ilibspmf.so.p -Ilibmumps_single.so.p -Ilibspral_ssids_single.so.p -Ilibmkl_pardiso.so.p -Ilibpardiso.so.p -Ilibgalahad_hsl_single.so.p -Ilibgalahad_lapack.so.p -Ilibgalahad_blas.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -fPIC -DGALAHAD_SINGLE -Jlibgalahad_single.so.p -o libgalahad_single.so.p/src_lancelot_lancelot_steering.F90.o -c ../src/lancelot/lancelot_steering.F90
../src/lancelot/lancelot_steering.F90:728:7:

  728 |        data%S%CGENDS1 = (/ 'C', 'M', 'B', 'N', 'T' /)
      |       1
Error: Different shape for array assignment at (1) on dimension 1 (6 and 5)

I also don't use lancelot.pointers.F90 because I have the error RuntimeError: Multiple files provide module lancelot_precision. with it.

Error in arcs4.f90

[489/489] Linking target arcs4
FAILED: arcs4 
gfortran  -o arcs4 arcs4.p/src_arc_arcs4.f90.o -Wl,--as-needed -Wl,--no-undefined '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/alexis/Bureau/git/GALAHAD/builddir/ -Wl,--start-group libgalahad_double.so -Wl,--end-group
/usr/bin/ld : arcs4.p/src_arc_arcs4.f90.o : dans la fonction « MAIN__ » :
/home/alexis/Bureau/git/GALAHAD/builddir/../src/arc/arcs4.f90:30 : référence indéfinie vers « arc_solve_reverse_without_h_ »
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

Very similar to #61

Errors in trb example

[835/840] Compiling Fortran object trbs.p/src_trb_trbs.f90.o
FAILED: trbs.p/src_trb_trbs.f90.o 
gfortran -Itrbs.p -I. -I.. -Ilibgalahad_double.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -Jtrbs.p -o trbs.p/src_trb_trbs.f90.o -c ../src/trb/trbs.f90
../src/trb/trbs.f90:79:27:

   79 |    INTEGER, PARAMETER :: wp = KIND( 1.0D+0 )
      |                           1
Error: Symbol ‘wp’ at (1) already has basic type of INTEGER

Unit tests should not test CUTEst interface if CUTEst is not part of the build

@nimgould After building with the changes described in #7, I ran

make -f /Users/dpo/dev/ralna/GALAHAD/makefiles/mac64.osx.gfo tests

as indicated in the README, but got the error

echo " Testing SIF interface to LANCELOT B"
 Testing SIF interface to LANCELOT B
cd /Users/dpo/dev/ralna/GALAHAD/examples ; sdgal mac64.osx.gfo lancelot ALLINITC
/bin/sh: sdgal: command not found
make[1]: *** [test_cutest_double] Error 127
make: *** [tests_double] Error 2

It seems the unit tests try to test the CUTEst interface even though I built a standalone CUTEst-free version.

Errors in l2rts2

FAILED: l2rts2.p/src_l2rt_l2rts2.f90.o 
gfortran -Il2rts2.p -I. -I.. -Ilibgalahad_double.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -Jl2rts2.p -o l2rts2.p/src_l2rt_l2rts2.f90.o -c ../src/l2rt/l2rts2.f90
../src/l2rt/l2rts2.f90:77:76:

   77 |       CALL L2RT_initialize( data, control )  ! Initialize control parameters
      |                                                                            1
Error: There is no specific subroutine for the generic ‘l2rt_initialize’ at (1)

Errors in qpbti and qpct

[812/1067] Linking target qpbti_single
FAILED: qpbti_single 
gfortran  -o qpbti_single qpbti_single.p/src_qpb_qpbti.F90.o -Wl,--as-needed -Wl,--no-undefined '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/alexis/Bureau/git/GALAHAD/builddir/ -Wl,--start-group libgalahad_single.so -Wl,--end-group
/usr/bin/ld : qpbti_single.p/src_qpb_qpbti.F90.o : dans la fonction « MAIN__ » :
/home/alexis/Bureau/git/GALAHAD/builddir/../src/qpb/qpbti.F90:141 : référence indéfinie vers « qpb_solve_sldqp_ »
collect2: error: ld returned 1 exit status
[816/1067] Compiling Fortran object qpct_single.p/src_qpc_qpct.F90.o
FAILED: qpct_single.p/src_qpc_qpct.F90.o 
gfortran -Iqpct_single.p -I. -I.. -I../include -Ilibgalahad_single.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -DGALAHAD_SINGLE -Jqpct_single.p -o qpct_single.p/src_qpc_qpct.F90.o -c ../src/qpc/qpct.F90
../src/qpc/qpct.F90:864:22:

  864 |    p%C_u = (/  1.0D+1, infty, 1.0D+1, infty, infty /)   ! upper bound
      |                      1
Error: Element in REAL(8) array constructor at (1) is REAL(4)
../src/qpc/qpct.F90:865:19:

  865 |    p%C = (/ 1.0D+1, 9.0_rp_, 1.0D+1, 2.0_rp_, 1.0_rp_ /) ! optimal constrnt val
      |                   1
Error: Element in REAL(8) array constructor at (1) is REAL(4)

Issue "Testing ... interface to cdqp"

I have encountered errors when running the general tests of GALAHAD using the instructed command:

make -f $GALAHAD/makefiles/# tests

In both cases, the error is encountered when "Testing [some] interface to cdqp".

  1. The first time I encountered an issue, I had installed GALAHAD (using install_optrove) without selecting the CUTEst interface. Therefore, I was surprised when I encountered an error during "Testing CUTEst interface to cdqp". (Why was it being run at all?) Not surprisingly, the error I got said: ld: library not found for -lcutest

  2. The second time I encountered an issue, I had re-installed GALAHAD with the CUTEst interface. This time, the tests made it through the CUTEst interface to cdqp, but an error was subsequently encountered during "Testing QPLIB interface to cdqp". I repeat it below:

          dgal mac.osx.gfo cdqp QPBAND.qplib
 Unfortunately no data file version of cdqp is available at presnt.
make[2]: *** [test_cdqp_qplib_double] Error 2
make[1]: *** [make_cdqp_tests] Error 2
make: *** [tests_double] Error 2

Development of Julia module and R-package for SR1 and sum-modeling facilities of Lancelot (and Galahad)

This is a request for the development of interfaces for R and Julia, for the needs of statisticians and of researchers in machine learning and stochastic optimization.

R system for statistics

Statisticians continue to use [L-]BFGS for computing approximate Hessians (which are used for limiting standard errors, p-values, confidence intervals, and tests).
Perhaps you could collaborate with a computational statistician (or the R Foundation) to produce an R-package interface to Galahad, particularly for the SR1 unconstrained optimization facilities of Lancelot.

Julia for sum problems

Statisticians also are concerned with minimizing sums of functions, for solving estimating equations and for M-estimation (least squares, maximum likelihood for i.i.d. errors).
Similar problems arise in stochastic optimization (e.g., sample average approximation) and in machine learning, where stochastic [quasi- or sub-] gradient methods are popular.

For computational research in statistics, stochastic optimization, and machine learning, the sum-modeling facilities of Lancelot (and presumably Galahad) would be useful.

A Julia interface to the sum-modeling facilities of Lancelot (and presumably Galahad) would be great.

(It might be possible to interest Professor Christoph Helmberg in collaboration, e.g., with developing a Julia (or R) interface to the sum-modeling facilities of his ConicBundle code for nonsmooth convex-minimization, which would be useful for computing the spatial median, for example.)

Error during the compilation of mumpst

gfortran -Imumpst_double.p -I. -I.. -I../include -Ilibmumps_double.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -DGALAHAD_DOUBLE -Jmumpst_double.p -o mumpst_double.p/src_external_mumps_mumpst.F90.o -c ../src/external/mumps/mumpst.F90
../src/external/mumps/mumpst.F90:11:54:

    9 |    USE GALAHAD_MUMPS_TYPES_precision
      |       2                                               
   10 |    IMPLICIT NONE
   11 |    INTEGER ( KIND = ip_ ), PARAMETER :: MPI_COMM_WORLD = 0
      |                                                      1
Error: Symbol ‘mpi_comm_world’ at (1) conflicts with symbol from module ‘galahad_mumps_types_double’, use-associated at (2)

Issues with pastix

@nimgould
If I remove the commit 54a99de, I have this error:

 Installing the double precision version
 compiling in /home/alexis/Bureau/git/GALAHAD/src with the comand
 /usr/bin/make -s -f /home/alexis/Bureau/git/GALAHAD/makefiles/pc64.lnx.gfo all_cutest
 Compiling cpu_time       		[ OK ]
 Compiling cutest_dummy   		[ OK ]
 Compiling spm_interfaces  		[ OK ]
make[5]: ***  Aucune règle pour fabriquer la cible « ../../dum/spmf.f90 », nécessaire pour « /home/alexis/Bureau/git/GALAHAD/objects/pc64.lnx.gfo/double/libgalahad_pastix.a(spmf.o) ». Arrêt.
make[4]: *** [/home/alexis/Bureau/git/GALAHAD/src/basic/makemaster:324 : pastix_silent] Erreur 2
make[3]: *** [/home/alexis/Bureau/git/GALAHAD/src/makedefs/intermediaries:161 : make_dummy] Erreur 2
make[2]: *** [/home/alexis/Bureau/git/GALAHAD/src/lancelot/../general/makemaster:629 : zd11] Erreur 2
make[1]: *** [/home/alexis/Bureau/git/GALAHAD/src/lancelot/makemaster:338 : basics] Erreur 2
make: *** [/home/alexis/Bureau/git/GALAHAD/src/makemaster:43 : all_cutest_double] Erreur 2

I used the options described in #12.

add topics

I suggest that the topics nonlinear-optimization, numerical-optimization and mathematical-programming be added in the About section so that the code can more easily be found.

New undefined references in sls

@nimgould
I recompiled GALAHAD tonight and I have a new collection of undefined symbols in sls.

alexis@HP-Spectre:~/Bureau/git/GALAHAD/objects/pc64.lnx.gfo$ gfortran -shared -o shared/libgalahad.so -Wl,--no-undefined -Wl,--whole-archive double/libgalahad.a -Wl,--no-whole-archive -lgomp -L./shared -lgalahad_cutest_dummy -lgalahad_hsl -L./shared -lgalahad_hsl -lgalahad_blas -lgalahad_lapack -lgalahad_metis -lgalahad_pastix -lgalahad_spral -lgalahad_wsmp -lgalahad_mkl_pardiso -lgalahad_pardiso -L./double -lgalahad_hsl

/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_solve_multiple_rhs » :
sls.f90:(.text+0xc807) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0xc869) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0xc910) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0xca6e) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0xcbe0) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_solve_mult_double »
/usr/bin/ld : sls.f90:(.text+0xccf8) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_solve_mult_double »
/usr/bin/ld : sls.f90:(.text+0xd0cf) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_solve_double »
/usr/bin/ld : sls.f90:(.text+0xd191) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_solve_double »
/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_solve_one_rhs » :
sls.f90:(.text+0xfe70) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0xff71) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0xffe3) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x100cd) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x1033a) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_solve_one_double »
/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_fredholm_alternative » :
sls.f90:(.text+0x12dca) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_fredholm_double »
/usr/bin/ld : sls.f90:(.text+0x12ee0) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_fredholm_double »
/usr/bin/ld : sls.f90:(.text+0x13079) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_solve_fredholm_double »
/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_sparse_forward_solve » :
sls.f90:(.text+0x14034) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0x140e6) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0x1413c) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0x141d2) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0x14348) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : double/libgalahad.a(sls.o):sls.f90:(.text+0x143dc) : encore plus de références indéfinies suivent vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_sparse_forward_solve » :
sls.f90:(.text+0x1457d) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x1468f) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x147e0) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x14e92) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_sparse_fwd_solve_double »
/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_part_solve » :
sls.f90:(.text+0x17915) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0x179a8) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0x17a96) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0x17b2b) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : sls.f90:(.text+0x17be3) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : double/libgalahad.a(sls.o):sls.f90:(.text+0x17c27) : encore plus de références indéfinies suivent vers « __hsl_ma77_double_MOD_ma77_solve_double »
/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_part_solve » :
sls.f90:(.text+0x17faf) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x180c3) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x181ab) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x183a3) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x18413) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_solve_one_double »
/usr/bin/ld : double/libgalahad.a(sls.o):sls.f90:(.text+0x18490) : encore plus de références indéfinies suivent vers « __hsl_ma86_double_MOD_ma86_solve_one_double »
/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_part_solve » :
sls.f90:(.text+0x18b1d) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x18c60) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x18d72) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x18e3f) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_solve_one_double »
/usr/bin/ld : sls.f90:(.text+0x18eec) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_solve_one_double »
/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_alter_d » :
sls.f90:(.text+0x1b3fe) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_alter_double »
/usr/bin/ld : sls.f90:(.text+0x1b4ca) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_alter_double »
/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_enquire » :
sls.f90:(.text+0x1b97f) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_enquire_indef_double »
/usr/bin/ld : sls.f90:(.text+0x1ba27) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_enquire_posdef_double »
/usr/bin/ld : sls.f90:(.text+0x1bb20) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_enquire_indef_double »
/usr/bin/ld : sls.f90:(.text+0x1bc09) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_enquire_indef_double »
/usr/bin/ld : sls.f90:(.text+0x1be3a) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_enquire_posdef_double »
/usr/bin/ld : sls.f90:(.text+0x1bf6e) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_enquire_indef_double »
/usr/bin/ld : sls.f90:(.text+0x1c05a) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_enquire_indef_double »
/usr/bin/ld : sls.f90:(.text+0x1c134) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_enquire_indef_double »
/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_terminate » :
sls.f90:(.text+0x1cfd0) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_finalise_double »
/usr/bin/ld : sls.f90:(.text+0x1d039) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_finalise_double »
/usr/bin/ld : sls.f90:(.text+0x1d0e5) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_finalise_double »
/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_factorize » :
sls.f90:(.text+0x24ccd) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_input_reals_double »
/usr/bin/ld : sls.f90:(.text+0x24d2c) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_factor_double »
/usr/bin/ld : sls.f90:(.text+0x24d6e) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_finalise_double »
/usr/bin/ld : sls.f90:(.text+0x24e12) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_restart_double »
/usr/bin/ld : sls.f90:(.text+0x24eec) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_scale_double »
/usr/bin/ld : sls.f90:(.text+0x24f1b) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_factor_double »
/usr/bin/ld : sls.f90:(.text+0x24fdc) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_restart_double »
/usr/bin/ld : sls.f90:(.text+0x25530) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_factor_double »
/usr/bin/ld : sls.f90:(.text+0x258b7) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_factor_double »
/usr/bin/ld : sls.f90:(.text+0x259b6) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_factor_double »
/usr/bin/ld : double/libgalahad.a(sls.o) : dans la fonction « __galahad_sls_double_MOD_sls_analyse » :
sls.f90:(.text+0x2b25d) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_open_double »
/usr/bin/ld : sls.f90:(.text+0x2b290) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_finalise_double »
/usr/bin/ld : sls.f90:(.text+0x2b314) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_open_double »
/usr/bin/ld : sls.f90:(.text+0x2b3e3) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_input_vars_double »
/usr/bin/ld : sls.f90:(.text+0x2b430) : référence indéfinie vers « __hsl_ma77_double_MOD_ma77_analyse_double »
/usr/bin/ld : sls.f90:(.text+0x2c1ac) : référence indéfinie vers « __hsl_ma86_double_MOD_ma86_analyse_double »
/usr/bin/ld : sls.f90:(.text+0x2c5e0) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_analyse_double »
/usr/bin/ld : sls.f90:(.text+0x2c6b7) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_analyse_double »
/usr/bin/ld : sls.f90:(.text+0x2c70e) : référence indéfinie vers « __hsl_ma97_double_MOD_ma97_analyse_double »
collect2: error: ld returned 1 exit status

Issues with PasTiX subroutines

../src/sls/sls.F90:1306:67:

 1306 |        CALL pastixInitParam( data%iparm_pastix, data%dparm_pastix )
      |                                                                   1
Error: There is no specific subroutine for the generic ‘pastixinitparam’ at (1)
../src/sls/sls.F90:1316:62:

 1316 |                         data%iparm_pastix, data%dparm_pastix )
      |                                                              1
Error: There is no specific subroutine for the generic ‘pastixinit’ at (1)

It's probably related to src/dum/pastixf.F90, src/dum/pastixf_enums.F90 or src/dum/pastixf_interfaces.F90.

Timeout l1qpt in single precision

143/153 GALAHAD:fortran+single / l1qp_single                 TIMEOUT        30.01s   killed by signal 15 SIGTERM
>>> MALLOC_PERTURB_=25 /home/alexis/Bureau/git/GALAHAD/builddir/l1qpt_single

144/153 GALAHAD:fortran+double / l1qp_double                 OK              0.05s
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./l1qpt_single

 error exit tests 

 3: L1QP_solve exit status =     -3
 4: L1QP_solve exit status =     -4
 5: L1QP_solve exit status =    -10
17: L1QP_solve exit status =    -10
18: L1QP_solve exit status =    -18
19: L1QP_solve exit status =    -10
23: L1QP_solve exit status =    -23
 7: L1QP_solve exit status =     -7

 basic tests of storage formats 

B1:     4 iterations. Optimal objective value =   15.4 status =      0
B2:     4 iterations. Optimal objective value =   15.4 status =      0
N1:     4 iterations. Optimal objective value =   11.0 status =      0
N2:     4 iterations. Optimal objective value =   11.0 status =      0
I1:     5 iterations. Optimal objective value =   11.5 status =      0
I2:     5 iterations. Optimal objective value =   11.5 status =      0
S1:     6 iterations. Optimal objective value =    4.7 status =      0
S2:     6 iterations. Optimal objective value =    4.7 status =      0
G1:     6 iterations. Optimal objective value =    5.5 status =      0
G2:     6 iterations. Optimal objective value =    5.5 status =      0
D1:     5 iterations. Optimal objective value =   15.9 status =      0
D2:     5 iterations. Optimal objective value =   15.9 status =      0
R1:     6 iterations. Optimal objective value =    5.8 status =      0
R2:     6 iterations. Optimal objective value =    5.8 status =      0
C1:     6 iterations. Optimal objective value =    5.8 status =      0
C2:     6 iterations. Optimal objective value =    5.8 status =      0

 basic tests of options 

It seems to work with an idle behaviour at the end.

lpa in single precision requires la04 in double precision

A switch single / double precision is missing.

[348/996] Linking target libgalahad_single.so
FAILED: libgalahad_single.so 
gfortran  -o libgalahad_single.so libgalahad_single.so.p/src_lapack_blas_interface.F90.o libgalahad_single.so.p/src_lapack_lapack_interface.F90.o libgalahad_single.so.p/src_clock_clock.F90.o libgalahad_single.so.p/src_checkpoint_checkpoint.F90.o libgalahad_single.so.p/src_common_common.F90.o libgalahad_single.so.p/src_copyright_copyright.F90.o libgalahad_single.so.p/src_extend_extend.F90.o libgalahad_single.so.p/src_kinds_kinds.F90.o libgalahad_single.so.p/src_lmt_lmt.F90.o libgalahad_single.so.p/src_norms_norms.F90.o libgalahad_single.so.p/src_rand_rand.F90.o libgalahad_single.so.p/src_scu_scu.F90.o libgalahad_single.so.p/src_sort_sort.F90.o libgalahad_single.so.p/src_string_string.F90.o libgalahad_single.so.p/src_symbols_symbols.F90.o libgalahad_single.so.p/src_tools_tools.F90.o libgalahad_single.so.p/src_userdata_userdata.F90.o libgalahad_single.so.p/src_zd11_zd11.F90.o libgalahad_single.so.p/src_smt_smt.F90.o libgalahad_single.so.p/src_convert_convert.F90.o libgalahad_single.so.p/src_qpt_qpt.F90.o libgalahad_single.so.p/src_space_space.F90.o libgalahad_single.so.p/src_specfile_specfile.F90.o libgalahad_single.so.p/src_bsc_bsc.F90.o libgalahad_single.so.p/src_fit_fit.F90.o libgalahad_single.so.p/src_hash_hash.F90.o libgalahad_single.so.p/src_roots_roots.F90.o libgalahad_single.so.p/src_gltr_gltr.F90.o libgalahad_single.so.p/src_glrt_glrt.F90.o libgalahad_single.so.p/src_lstr_lstr.F90.o libgalahad_single.so.p/src_lsrt_lsrt.F90.o libgalahad_single.so.p/src_l2rt_l2rt.F90.o libgalahad_single.so.p/src_lhs_lhs.F90.o libgalahad_single.so.p/src_lms_lms.F90.o libgalahad_single.so.p/src_presolve_presolve.F90.o libgalahad_single.so.p/src_rpd_rpd.F90.o libgalahad_single.so.p/src_sec_sec.F90.o libgalahad_single.so.p/src_sha_sha.F90.o libgalahad_single.so.p/src_nlpt_nlpt.F90.o libgalahad_single.so.p/src_ugo_ugo.F90.o libgalahad_single.so.p/src_amd_amd.F90.o libgalahad_single.so.p/src_mop_mop.F90.o libgalahad_single.so.p/src_check_check.F90.o libgalahad_single.so.p/src_fdh_fdh.F90.o libgalahad_single.so.p/src_filter_filter.F90.o libgalahad_single.so.p/src_lqr_lqr.F90.o libgalahad_single.so.p/src_lqt_lqt.F90.o libgalahad_single.so.p/src_lsp_lsp.F90.o libgalahad_single.so.p/src_miqr_miqr.F90.o libgalahad_single.so.p/src_opt_opt.F90.o libgalahad_single.so.p/src_trans_trans.F90.o libgalahad_single.so.p/src_qpp_qpp.F90.o libgalahad_single.so.p/src_scale_scale.F90.o libgalahad_single.so.p/src_scaling_scaling.F90.o libgalahad_single.so.p/src_gls_gls.F90.o libgalahad_single.so.p/src_sils_sils.F90.o libgalahad_single.so.p/src_sls_sls.F90.o libgalahad_single.so.p/src_uls_uls.F90.o libgalahad_single.so.p/src_sbls_sbls.F90.o libgalahad_single.so.p/src_lls_lls.F90.o libgalahad_single.so.p/src_ir_ir.F90.o libgalahad_single.so.p/src_trs_trs.F90.o libgalahad_single.so.p/src_icfs_icfs.F90.o libgalahad_single.so.p/src_lpqp_lpqp.F90.o libgalahad_single.so.p/src_fdc_fdc.F90.o libgalahad_single.so.p/src_cro_cro.F90.o libgalahad_single.so.p/src_qpd_qpd.F90.o libgalahad_single.so.p/src_slls_slls.F90.o libgalahad_single.so.p/src_wcp_wcp.F90.o libgalahad_single.so.p/src_problem_problem.F90.o libgalahad_single.so.p/src_rqs_rqs.F90.o libgalahad_single.so.p/src_blls_blls.F90.o libgalahad_single.so.p/src_bqp_bqp.F90.o libgalahad_single.so.p/src_cqp_cqp.F90.o libgalahad_single.so.p/src_dqp_dqp.F90.o libgalahad_single.so.p/src_dlp_dlp.F90.o libgalahad_single.so.p/src_dps_dps.F90.o libgalahad_single.so.p/src_eqp_eqp.F90.o libgalahad_single.so.p/src_demo_demo.F90.o libgalahad_single.so.p/src_l1qp_l1qp.F90.o libgalahad_single.so.p/src_lancelot_asmbl.F90.o libgalahad_single.so.p/src_lancelot_bndsl.F90.o libgalahad_single.so.p/src_lancelot_cauchy.F90.o libgalahad_single.so.p/src_lancelot_cg.F90.o libgalahad_single.so.p/src_lancelot_drche.F90.o libgalahad_single.so.p/src_lancelot_drchg.F90.o libgalahad_single.so.p/src_lancelot_extend.F90.o libgalahad_single.so.p/src_lancelot_frntl.F90.o libgalahad_single.so.p/src_lancelot_hslint.F90.o libgalahad_single.so.p/src_lancelot_hsprd.F90.o libgalahad_single.so.p/src_lancelot_initw.F90.o libgalahad_single.so.p/src_lancelot_lancelot.F90.o libgalahad_single.so.p/src_lancelot_lancelot_steering.F90.o libgalahad_single.so.p/src_lancelot_lancelot_types.F90.o libgalahad_single.so.p/src_lancelot_mdchl.F90.o libgalahad_single.so.p/src_lancelot_others.F90.o libgalahad_single.so.p/src_lancelot_precn.F90.o libgalahad_single.so.p/src_lancelot_scaln.F90.o libgalahad_single.so.p/src_lancelot_strutr.F90.o libgalahad_single.so.p/src_lancelot_simple_lancelot_simple.F90.o libgalahad_single.so.p/src_filtrane_filtrane.F90.o libgalahad_single.so.p/src_psls_psls.F90.o libgalahad_single.so.p/src_trb_trb.F90.o libgalahad_single.so.p/src_tru_tru.F90.o libgalahad_single.so.p/src_bgo_bgo.F90.o libgalahad_single.so.p/src_nls_nls.F90.o libgalahad_single.so.p/src_arc_arc.F90.o libgalahad_single.so.p/src_dgo_dgo.F90.o libgalahad_single.so.p/src_bqpb_bqpb.F90.o libgalahad_single.so.p/src_ccqp_ccqp.F90.o libgalahad_single.so.p/src_cdqp_cdqp.F90.o libgalahad_single.so.p/src_llst_llst.F90.o libgalahad_single.so.p/src_lpa_lpa.F90.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libgalahad_single.so '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/alexis/Bureau/git/GALAHAD/builddir/ libgalahad_blas.so libgalahad_lapack.so libgalahad_hsl_single.so libpardiso.so libmkl_pardiso.so libspral_ssids_single.so libmumps_single.so libspmf.so libwsmp.so libpastix_single.so libgalahad_metis.so -Wl,--end-group
/usr/bin/ld : libgalahad_single.so.p/src_lpa_lpa.F90.o : dans la fonction « __galahad_lpa_single_MOD_lpa_solve » :
/home/alexis/Bureau/git/GALAHAD/builddir/../src/lpa/lpa.F90:1350 : référence indéfinie vers « la04ad_ »
/usr/bin/ld : /home/alexis/Bureau/git/GALAHAD/builddir/../src/lpa/lpa.F90:1419 : référence indéfinie vers « la04ad_ »
collect2: error: ld returned 1 exit status

Errors with crot.F90

[351/631] Compiling Fortran object crot_single.p/src_cro_crot.F90.o
FAILED: crot_single.p/src_cro_crot.F90.o 
gfortran -Icrot_single.p -I. -I.. -I../include -Ilibgalahad_single.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -DGALAHAD_SINGLE -Jcrot_single.p -o crot_single.p/src_cro_crot.F90.o -c ../src/cro/crot.F90
../src/cro/crot.F90:68:18:

   68 |        ( C_l( i ), C( i ), C_u( i ), Y( i ), C_stat( i ), i = 1, m )
      |                  1
Error: Expected a right parenthesis in expression at (1)
../src/cro/crot.F90:67:5:

   67 |    &               ( 4ES12.4, I5 ) )" )                                        &
      |     1
Error: Invalid character in name at (1)
../src/cro/crot.F90:51:4:

   51 |    Y = (/  -1.0_rp_, 1.5_rp_, -2.0_rp_ /)         ! optimal Lagrange multipliers
      |    1
Error: Symbol ‘y’ at (1) has no IMPLICIT type

'omp.h' file not found on Platform("aarch64", "macos")

 Compiling guess_topology  		guess_topology.cxx:13:10: fatal error: 'omp.h' file not found
#include <omp.h>
         ^~~~~~~
1 error generated.
 => Disabling optimization guess_topology.cxx:13:10: fatal error: 'omp.h' file not found
#include <omp.h>
         ^~~~~~~
1 error generated.
make[2]: *** [/workspace/srcdir/GALAHAD/src/ssids/makemaster:310: /workspace/srcdir/GALAHAD/objects/binarybuilder.bb.fc/double/libgalahad_spral.a(guess_topology.o)] Error 1
make[1]: *** [/workspace/srcdir/GALAHAD/src/makedefs/intermediaries:560: make_ssids] Error 2
make: *** [/workspace/srcdir/GALAHAD/src/makemaster:187: all_standalone_double] Error 2

Errors with fdcti in single precision

We have random segmentation faults with this test.

aalexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./fdcti_single

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7fb7f5854ad0 in ???
#1  0x7fb7f5853c35 in ???
#2  0x7fb7f564b51f in ???
	at ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
#3  0x7fb7f5fbe184 in __galahad_fdc_single_MOD_fdc_find_dependent_rows
	at ../src/fdc/fdc.F90:1774
#4  0x55ef88e8edd1 in galahad_fdc_test
	at ../src/fdc/fdcti.F90:22
#5  0x55ef88e8f035 in main
	at ../src/fdc/fdcti.F90:4
Erreur de segmentation (core dumped)
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./fdcti_single

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7f05a2552ad0 in ???
#1  0x7f05a2551c35 in ???
#2  0x7f05a234951f in ???
	at ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
#3  0x7f05a2cbc184 in __galahad_fdc_single_MOD_fdc_find_dependent_rows
	at ../src/fdc/fdc.F90:1774
#4  0x564b8732ddd1 in galahad_fdc_test
	at ../src/fdc/fdcti.F90:22
#5  0x564b8732e035 in main
	at ../src/fdc/fdcti.F90:4
Erreur de segmentation (core dumped)
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./fdcti_single

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7f26c4cf7ad0 in ???
#1  0x7f26c4cf6c35 in ???
#2  0x7f26c4aee51f in ???
	at ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
#3  0x7f26c5461184 in __galahad_fdc_single_MOD_fdc_find_dependent_rows
	at ../src/fdc/fdc.F90:1774
#4  0x559287e17dd1 in galahad_fdc_test
	at ../src/fdc/fdcti.F90:22
#5  0x559287e18035 in main
	at ../src/fdc/fdcti.F90:4
Erreur de segmentation (core dumped)
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./fdcti_single
 FDC_find_dependent exit status =     -9
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./fdcti_single
 FDC_find_dependent exit status =     -9
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./fdcti_single
 FDC_find_dependent exit status =     -9
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./fdcti_single
 FDC_find_dependent exit status =     -9
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./fdcti_single
 FDC_find_dependent exit status =     -9
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./fdcti_single
 FDC_find_dependent exit status =     -9
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./fdcti_single
 FDC_find_dependent exit status =     -9
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./fdcti_single

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7fc9ef394ad0 in ???
#1  0x7fc9ef393c35 in ???
#2  0x7fc9ef18b51f in ???
	at ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
#3  0x7fc9efafe184 in __galahad_fdc_single_MOD_fdc_find_dependent_rows
	at ../src/fdc/fdc.F90:1774
#4  0x55dd62dffdd1 in galahad_fdc_test
	at ../src/fdc/fdcti.F90:22
#5  0x55dd62e00035 in main
	at ../src/fdc/fdcti.F90:4
^[[AErreur de segmentation (core dumped)
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./fdcti_single
 FDC_find_dependent exit status =     -9

Errors when generating shared libraries

 creating double precision shared libraries with the comand
 /usr/bin/make -s -f /home/alexis/Bureau/git/GALAHAD/makefiles/pc64.lnx.gfo create_shared
 creating shared GALAHAD libraries in
  /home/alexis/Bureau/git/GALAHAD/objects/pc64.lnx.gfo/double/shared
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 28: [[: not found
 static library libgalahad_py.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_hsl.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_spral.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_mkl_pardiso.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_pardiso.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_wsmp.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_pastix.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_mumps.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_umfpack.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_metis.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_lapack.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_blas.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_cutest_dummy.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_hsl_c.a does not exist, shared creation skipped
/home/alexis/Bureau/git/GALAHAD/bin/create_shared: 45: [[: not found
 static library libgalahad_c.a does not exist, shared creation skipped

SUCCESS: GALAHAD successfully installed <-- Ahem... Ahem...

SUCCESS: All builds succeeded! <-- Ahem... Ahem... Ahem...

We also have a typo with comand.

compilation aborted for miqr.f90 (code 1)

Hi,

I am trying to install the GALAHAD library with the regularised quadratic solvers and their dependencies with R2019a Matlab interface on 64-bit MAC OS/X MacBook. It returns an error as following:

Installing the double precision version
compiling in /Users/ziyan/Documents/Github/cutest/galahad/src with the comand
/usr/bin/make -s -f /Users/ziyan/Documents/Github/cutest/galahad/makefiles/mac64.osx.ifr rq_cutest rq_matlab
Compiling miqr miqr.f90(793): error #6633: The type of the actual argument differs from the type of the dummy argument. [TIME_START]
time_start, clock_start, &
--------------------------------^
miqr.f90(858): error #6633: The type of the actual argument differs from the type of the dummy argument. [TIME_START]
time_start, clock_start, &
--------------------------^
compilation aborted for miqr.f90 (code 1)
=> Disabling optimization miqr.f90(793): error #6633: The type of the actual argument differs from the type of the dummy argument. [TIME_START]
time_start, clock_start, &
--------------------------------^
miqr.f90(858): error #6633: The type of the actual argument differs from the type of the dummy argument. [TIME_START]
time_start, clock_start, &
--------------------------^
compilation aborted for miqr.f90 (code 1)
make[2]: *** [/Users/ziyan/Documents/Github/cutest/galahad/objects/mac64.osx.ifr/double/libgalahad.a(miqr.o)] Error 1
make[1]: *** [miqr] Error 2
make: *** [rq_cutest_double] Error 2

I would appreciate it if you could help me with it. Thanks in advance.

Errors with scale tests and examples

gfortran  -o scale_test_single scale_test_single.p/src_scale_scale_test.F90.o -Wl,--as-needed -Wl,--no-undefined '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/alexis/Bureau/git/GALAHAD/builddir/ -Wl,--start-group libgalahad_single.so -Wl,--end-group
/usr/bin/ld : scale_test_single.p/src_scale_scale_test.F90.o : dans la fonction « MAIN__ » :
/home/alexis/Bureau/git/GALAHAD/builddir/../src/scale/scale_test.F90:218 : référence indéfinie vers « scale_undo_ »
/usr/bin/ld : /home/alexis/Bureau/git/GALAHAD/builddir/../src/scale/scale_test.F90:299 : référence indéfinie vers « scale_undo_ »
/usr/bin/ld : /home/alexis/Bureau/git/GALAHAD/builddir/../src/scale/scale_test.F90:326 : référence indéfinie vers « scale_undo_ »
/usr/bin/ld : /home/alexis/Bureau/git/GALAHAD/builddir/../src/scale/scale_test.F90:353 : référence indéfinie vers « scale_undo_ »
/usr/bin/ld : /home/alexis/Bureau/git/GALAHAD/builddir/../src/scale/scale_test.F90:381 : référence indéfinie vers « scale_undo_ »
/usr/bin/ld : scale_test_single.p/src_scale_scale_test.F90.o:/home/alexis/Bureau/git/GALAHAD/builddir/../src/scale/scale_test.F90:462 : encore plus de références indéfinies suivent vers « scale_undo_ »
[450/590] Compiling Fortran object scale_spec.p/src_scale_scale_spec.F90.o
FAILED: scale_spec.p/src_scale_scale_spec.F90.o 
gfortran -Iscale_spec.p -I. -I.. -I../include -Ilibgalahad_double.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -Jscale_spec.p -o scale_spec.p/src_scale_scale_spec.F90.o -c ../src/scale/scale_spec.F90
../src/scale/scale_spec.F90:26:48:

   26 |    p%X = 0.0_rp_ ; p%Y = 0.0_rp_ ; p%Z = 0.0_rp    ! typical values for x, y & z
      |                                                1
Error: Missing kind-parameter at (1)

Do I need to ignore scale_test.F90 test and scale_spec.F90 example?

Errors with lancelot_steeringt.F90

[470/575] Compiling Fortran object lan.../src_lancelot_lancelot_steeringt.F90.o
FAILED: lancelot_steeringt_single.p/src_lancelot_lancelot_steeringt.F90.o 
gfortran -Ilancelot_steeringt_single.p -I. -I.. -I../include -Ilibgalahad_single.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -DGALAHAD_SINGLE -Jlancelot_steeringt_single.p -o lancelot_steeringt_single.p/src_lancelot_lancelot_steeringt.F90.o -c ../src/lancelot/lancelot_steeringt.F90
../src/lancelot/lancelot_steeringt.F90:100:20:

  100 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: ncalcf, ifflag, ltypee, lstaev
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:101:20:

  101 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: lelvar, lntvar, lstadh, lstepa
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:102:20:

  102 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: lcalcf, lfuval, lxvalu, lepvlu
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:103:20:

  103 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: llders
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:104:20:

  104 |    INTEGER ( KIND = ip_ ), INTENT( OUT ) :: ifstat
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:105:20:

  105 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: ITYPEE( LTYPEE ), ISTAEV( LSTAEV )
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:106:20:

  106 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: IELVAR( LELVAR ), INTVAR( LNTVAR )
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:107:20:

  107 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: ISTADH( LSTADH ), ISTEPA( LSTEPA )
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:108:20:

  108 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: ICALCF( LCALCF )
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:109:17:

  109 |    REAL ( KIND = rp_ ), INTENT( IN ) :: XVALUE( LXVALU )
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:110:17:

  110 |    REAL ( KIND = rp_ ), INTENT( IN ) :: EPVALU( LEPVLU )
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:111:17:

  111 |    REAL ( KIND = rp_ ), INTENT( INOUT ) :: FUVALS( LFUVAL )
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:112:20:

  112 |    INTEGER ( KIND = ip_ ) :: ielemn, ieltyp, ihstrt, ilstrt, igstrt, ipstrt
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:113:20:

  113 |    INTEGER ( KIND = ip_ ) :: jcalcf
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:114:17:

  114 |    REAL ( KIND = rp_ ) :: v1, v2, u1, u2, u3, cs, sn
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:169:20:

  169 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: lgvalu, ncalcg, ltypeg, lstgpa
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:170:20:

  170 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: lcalcg, lfvalu, lgpvlu
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:171:20:

  171 |    INTEGER ( KIND = ip_ ), INTENT( OUT ) :: igstat
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:173:20:

  173 |    INTEGER ( KIND = ip_ ), INTENT( IN ), DIMENSION( ltypeg ) :: ITYPEG
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:174:20:

  174 |    INTEGER ( KIND = ip_ ), INTENT( IN ), DIMENSION( lstgpa ) :: ISTGPA
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:175:20:

  175 |    INTEGER ( KIND = ip_ ), INTENT( IN ), DIMENSION( lcalcg ) :: ICALCG
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:176:17:

  176 |    REAL ( KIND = rp_ ), INTENT( IN ), DIMENSION( lfvalu ) :: FVALUE
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:177:17:

  177 |    REAL ( KIND = rp_ ), INTENT( IN ), DIMENSION( lgpvlu ) :: GPVALU
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:178:17:

  178 |    REAL ( KIND = rp_ ), INTENT( INOUT ), DIMENSION( lgvalu, 3 ) :: GVALUE
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:179:20:

  179 |    INTEGER ( KIND = ip_ ) :: igrtyp, igroup, ipstrt, jcalcg
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:180:17:

  180 |    REAL ( KIND = rp_ ) :: alpha, alpha2
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:403:20:

  403 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: lgvalu, ncalcg, ltypeg, lstgpa
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:404:20:

  404 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: lcalcg, lfvalu, lgpvlu
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:405:20:

  405 |    INTEGER ( KIND = ip_ ), INTENT( OUT ) :: igstat
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:407:20:

  407 |    INTEGER ( KIND = ip_ ), INTENT( IN ), DIMENSION( ltypeg ) :: ITYPEG
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:408:20:

  408 |    INTEGER ( KIND = ip_ ), INTENT( IN ), DIMENSION( lstgpa ) :: ISTGPA
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:409:20:

  409 |    INTEGER ( KIND = ip_ ), INTENT( IN ), DIMENSION( lcalcg ) :: ICALCG
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:410:17:

  410 |    REAL ( KIND = rp_ ), INTENT( IN ), DIMENSION( lfvalu ) :: FVALUE
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:411:17:

  411 |    REAL ( KIND = rp_ ), INTENT( IN ), DIMENSION( lgpvlu ) :: GPVALU
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:412:17:

  412 |    REAL ( KIND = rp_ ), INTENT( INOUT ), DIMENSION( lgvalu, 3 ) :: GVALUE
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:413:20:

  413 |    INTEGER ( KIND = ip_ ) :: igrtyp, igroup, ipstrt, jcalcg
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:414:17:

  414 |    REAL ( KIND = rp_ ) :: gvar  , p
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:447:20:

  447 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: lgvalu, ncalcg, ltypeg, lstgpa
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:448:20:

  448 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: lcalcg, lfvalu, lgpvlu
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:449:20:

  449 |    INTEGER ( KIND = ip_ ), INTENT( OUT ) :: igstat
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:451:20:

  451 |    INTEGER ( KIND = ip_ ), INTENT( IN ), DIMENSION( ltypeg ) :: ITYPEG
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:452:20:

  452 |    INTEGER ( KIND = ip_ ), INTENT( IN ), DIMENSION( lstgpa ) :: ISTGPA
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:453:20:

  453 |    INTEGER ( KIND = ip_ ), INTENT( IN ), DIMENSION( lcalcg ) :: ICALCG
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:454:17:

  454 |    REAL ( KIND = rp_ ), INTENT( IN ), DIMENSION( lfvalu ) :: FVALUE
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:455:17:

  455 |    REAL ( KIND = rp_ ), INTENT( IN ), DIMENSION( lgpvlu ) :: GPVALU
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:456:17:

  456 |    REAL ( KIND = rp_ ), INTENT( INOUT ), DIMENSION( lgvalu, 3 ) :: GVALUE
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:457:20:

  457 |    INTEGER ( KIND = ip_ ) :: igrtyp, igroup, ipstrt, jcalcg
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:458:17:

  458 |    REAL ( KIND = rp_ ) :: gvar  , p
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:583:20:

  583 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: ncalcf, ifflag, ltypee, lstaev
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:584:20:

  584 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: lelvar, lntvar, lstadh, lstepa
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:585:20:

  585 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: lcalcf, lfuval, lxvalu, lepvlu
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:586:20:

  586 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: llders
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:587:20:

  587 |    INTEGER ( KIND = ip_ ), INTENT( OUT ) :: ifstat
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:588:20:

  588 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: ITYPEE( LTYPEE ), ISTAEV( LSTAEV )
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:589:20:

  589 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: IELVAR( LELVAR ), INTVAR( LNTVAR )
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:590:20:

  590 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: ISTADH( LSTADH ), ISTEPA( LSTEPA )
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:591:20:

  591 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: ICALCF( LCALCF )
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:592:17:

  592 |    REAL ( KIND = rp_ ), INTENT( IN ) :: XVALUE( LXVALU )
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:593:17:

  593 |    REAL ( KIND = rp_ ), INTENT( IN ) :: EPVALU( LEPVLU )
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:594:17:

  594 |    REAL ( KIND = rp_ ), INTENT( INOUT ) :: FUVALS( LFUVAL )
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:595:20:

  595 |    INTEGER ( KIND = ip_ ) :: ielemn, ieltyp, ihstrt, ilstrt, igstrt, ipstrt
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:596:20:

  596 |    INTEGER ( KIND = ip_ ) :: jcalcf
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:597:17:

  597 |    REAL ( KIND = rp_ ) :: v1, v2, u1, u2, u3
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:650:20:

  650 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: lgvalu, ncalcg, ltypeg, lstgpa
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:651:20:

  651 |    INTEGER ( KIND = ip_ ), INTENT( IN ) :: lcalcg, lfvalu, lgpvlu
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:652:20:

  652 |    INTEGER ( KIND = ip_ ), INTENT( OUT ) :: igstat
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:654:20:

  654 |    INTEGER ( KIND = ip_ ), INTENT( IN ), DIMENSION( ltypeg ) :: ITYPEG
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:655:20:

  655 |    INTEGER ( KIND = ip_ ), INTENT( IN ), DIMENSION( lstgpa ) :: ISTGPA
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:656:20:

  656 |    INTEGER ( KIND = ip_ ), INTENT( IN ), DIMENSION( lcalcg ) :: ICALCG
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:657:17:

  657 |    REAL ( KIND = rp_ ), INTENT( IN ), DIMENSION( lfvalu ) :: FVALUE
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:658:17:

  658 |    REAL ( KIND = rp_ ), INTENT( IN ), DIMENSION( lgpvlu ) :: GPVALU
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:659:17:

  659 |    REAL ( KIND = rp_ ), INTENT( INOUT ), DIMENSION( lgvalu, 3 ) :: GVALUE
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:660:20:

  660 |    INTEGER ( KIND = ip_ ) :: igrtyp, igroup, ipstrt, jcalcg
      |                    1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:661:17:

  661 |    REAL ( KIND = rp_ ) :: alpha
      |                 1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot/lancelot_steeringt.F90:875:24:

  875 |            CALL GROUP2( GVALUE, prob%ng, FVALUE, prob%GPVALU, info%ncalcg,     &
      |                        1
Error: Rank mismatch in argument ‘gvalue’ at (1) (scalar and rank-2)
../src/lancelot/lancelot_steeringt.F90:881:24:

  881 |            CALL GROUP2( GVALUE, prob%ng, FVALUE, prob%GPVALU, info%ncalcg,     &
      |                        1
Error: Rank mismatch in argument ‘gvalue’ at (1) (scalar and rank-2)
../src/lancelot/lancelot_steeringt.F90:1201:24:

 1201 |            CALL GROUP1( GVALUE, prob%ng, FVALUE, prob%GPVALU, info%ncalcg,     &
      |                        1
Error: Rank mismatch in argument ‘gvalue’ at (1) (scalar and rank-2)
../src/lancelot/lancelot_steeringt.F90:1207:24:

 1207 |            CALL GROUP1( GVALUE, prob%ng, FVALUE, prob%GPVALU, info%ncalcg,     &
      |                        1
Error: Rank mismatch in argument ‘gvalue’ at (1) (scalar and rank-2)
../src/lancelot/lancelot_steeringt.F90:1269:24:

 1269 |            CALL GROUP1( GVALUE, prob%ng, FVALUE, prob%GPVALU, info%ncalcg,     &
      |                        1
Error: Rank mismatch in argument ‘gvalue’ at (1) (scalar and rank-2)
../src/lancelot/lancelot_steeringt.F90:1275:24:

 1275 |            CALL GROUP1( GVALUE, prob%ng, FVALUE, prob%GPVALU, info%ncalcg,     &
      |                        1
Error: Rank mismatch in argument ‘gvalue’ at (1) (scalar and rank-2)
../src/lancelot/lancelot_steeringt.F90:1302:24:

 1302 |            CALL GROUP1( GVALUE, prob%ng, FVALUE, prob%GPVALU, info%ncalcg,     &
      |                        1
Error: Rank mismatch in argument ‘gvalue’ at (1) (scalar and rank-2)
../src/lancelot/lancelot_steeringt.F90:1308:24:

 1308 |            CALL GROUP1( GVALUE, prob%ng, FVALUE, prob%GPVALU, info%ncalcg,     &
      |                        1
Error: Rank mismatch in argument ‘gvalue’ at (1) (scalar and rank-2)
../src/lancelot/lancelot_steeringt.F90:1328:15:

 1328 |                FUVALS, XT, prob%EPVALU, info%ncalcf, prob%ITYPEE,              &
      |               1
Error: Rank mismatch in argument ‘fuvals’ at (1) (scalar and rank-1)
../src/lancelot/lancelot_steeringt.F90:1339:15:

 1339 |                FUVALS, XT, prob%EPVALU, info%ncalcf, prob%ITYPEE,              &
      |               1
Error: Rank mismatch in argument ‘fuvals’ at (1) (scalar and rank-1)
../src/lancelot/lancelot_steeringt.F90:1362:15:

 1362 |                FUVALS, XT, prob%EPVALU, info%ncalcf, prob%ITYPEE,              &
      |               1
Error: Rank mismatch in argument ‘fuvals’ at (1) (scalar and rank-1)
../src/lancelot/lancelot_steeringt.F90:1373:15:

 1373 |                FUVALS, XT, prob%EPVALU, info%ncalcf, prob%ITYPEE,              &
      |               1
Error: Rank mismatch in argument ‘fuvals’ at (1) (scalar and rank-1)
../src/lancelot/lancelot_steeringt.F90:1382:24:

 1382 |            CALL GROUP1( GVALUE, prob%ng, FVALUE, prob%GPVALU, info%ncalcg,     &
      |                        1
Error: Rank mismatch in argument ‘gvalue’ at (1) (scalar and rank-2)
../src/lancelot/lancelot_steeringt.F90:1388:24:

 1388 |            CALL GROUP1( GVALUE, prob%ng, FVALUE, prob%GPVALU, info%ncalcg,     &
      |                        1
Error: Rank mismatch in argument ‘gvalue’ at (1) (scalar and rank-2)

Switch to single precision ma61 in psls is missing

The single precision psls wants the double precision ma61.

FAILED: libgalahad_single.so 
gfortran  -o libgalahad_single.so libgalahad_single.so.p/src_lapack_blas_interface.F90.o libgalahad_single.so.p/src_lapack_lapack_interface.F90.o libgalahad_single.so.p/src_clock_clock.F90.o libgalahad_single.so.p/src_checkpoint_checkpoint.F90.o libgalahad_single.so.p/src_common_common.F90.o libgalahad_single.so.p/src_copyright_copyright.F90.o libgalahad_single.so.p/src_extend_extend.F90.o libgalahad_single.so.p/src_kinds_kinds.F90.o libgalahad_single.so.p/src_lmt_lmt.F90.o libgalahad_single.so.p/src_norms_norms.F90.o libgalahad_single.so.p/src_rand_rand.F90.o libgalahad_single.so.p/src_scu_scu.F90.o libgalahad_single.so.p/src_sort_sort.F90.o libgalahad_single.so.p/src_string_string.F90.o libgalahad_single.so.p/src_symbols_symbols.F90.o libgalahad_single.so.p/src_tools_tools.F90.o libgalahad_single.so.p/src_userdata_userdata.F90.o libgalahad_single.so.p/src_zd11_zd11.F90.o libgalahad_single.so.p/src_smt_smt.F90.o libgalahad_single.so.p/src_convert_convert.F90.o libgalahad_single.so.p/src_qpt_qpt.F90.o libgalahad_single.so.p/src_space_space.F90.o libgalahad_single.so.p/src_specfile_specfile.F90.o libgalahad_single.so.p/src_bsc_bsc.F90.o libgalahad_single.so.p/src_fit_fit.F90.o libgalahad_single.so.p/src_hash_hash.F90.o libgalahad_single.so.p/src_roots_roots.F90.o libgalahad_single.so.p/src_gltr_gltr.F90.o libgalahad_single.so.p/src_glrt_glrt.F90.o libgalahad_single.so.p/src_lstr_lstr.F90.o libgalahad_single.so.p/src_lsrt_lsrt.F90.o libgalahad_single.so.p/src_l2rt_l2rt.F90.o libgalahad_single.so.p/src_lhs_lhs.F90.o libgalahad_single.so.p/src_lms_lms.F90.o libgalahad_single.so.p/src_presolve_presolve.F90.o libgalahad_single.so.p/src_rpd_rpd.F90.o libgalahad_single.so.p/src_sec_sec.F90.o libgalahad_single.so.p/src_sha_sha.F90.o libgalahad_single.so.p/src_nlpt_nlpt.F90.o libgalahad_single.so.p/src_ugo_ugo.F90.o libgalahad_single.so.p/src_amd_amd.F90.o libgalahad_single.so.p/src_mop_mop.F90.o libgalahad_single.so.p/src_check_check.F90.o libgalahad_single.so.p/src_fdh_fdh.F90.o libgalahad_single.so.p/src_filter_filter.F90.o libgalahad_single.so.p/src_lqr_lqr.F90.o libgalahad_single.so.p/src_lqt_lqt.F90.o libgalahad_single.so.p/src_lsp_lsp.F90.o libgalahad_single.so.p/src_miqr_miqr.F90.o libgalahad_single.so.p/src_opt_opt.F90.o libgalahad_single.so.p/src_trans_trans.F90.o libgalahad_single.so.p/src_qpp_qpp.F90.o libgalahad_single.so.p/src_scale_scale.F90.o libgalahad_single.so.p/src_scaling_scaling.F90.o libgalahad_single.so.p/src_gls_gls.F90.o libgalahad_single.so.p/src_sils_sils.F90.o libgalahad_single.so.p/src_sls_sls.F90.o libgalahad_single.so.p/src_uls_uls.F90.o libgalahad_single.so.p/src_sbls_sbls.F90.o libgalahad_single.so.p/src_lls_lls.F90.o libgalahad_single.so.p/src_ir_ir.F90.o libgalahad_single.so.p/src_trs_trs.F90.o libgalahad_single.so.p/src_icfs_icfs.F90.o libgalahad_single.so.p/src_lpqp_lpqp.F90.o libgalahad_single.so.p/src_fdc_fdc.F90.o libgalahad_single.so.p/src_cro_cro.F90.o libgalahad_single.so.p/src_qpd_qpd.F90.o libgalahad_single.so.p/src_slls_slls.F90.o libgalahad_single.so.p/src_wcp_wcp.F90.o libgalahad_single.so.p/src_problem_problem.F90.o libgalahad_single.so.p/src_rqs_rqs.F90.o libgalahad_single.so.p/src_blls_blls.F90.o libgalahad_single.so.p/src_bqp_bqp.F90.o libgalahad_single.so.p/src_cqp_cqp.F90.o libgalahad_single.so.p/src_dqp_dqp.F90.o libgalahad_single.so.p/src_dlp_dlp.F90.o libgalahad_single.so.p/src_dps_dps.F90.o libgalahad_single.so.p/src_eqp_eqp.F90.o libgalahad_single.so.p/src_demo_demo.F90.o libgalahad_single.so.p/src_l1qp_l1qp.F90.o libgalahad_single.so.p/src_lancelot_asmbl.F90.o libgalahad_single.so.p/src_lancelot_bndsl.F90.o libgalahad_single.so.p/src_lancelot_cauchy.F90.o libgalahad_single.so.p/src_lancelot_cg.F90.o libgalahad_single.so.p/src_lancelot_drche.F90.o libgalahad_single.so.p/src_lancelot_drchg.F90.o libgalahad_single.so.p/src_lancelot_extend.F90.o libgalahad_single.so.p/src_lancelot_frntl.F90.o libgalahad_single.so.p/src_lancelot_hslint.F90.o libgalahad_single.so.p/src_lancelot_hsprd.F90.o libgalahad_single.so.p/src_lancelot_initw.F90.o libgalahad_single.so.p/src_lancelot_lancelot.F90.o libgalahad_single.so.p/src_lancelot_lancelot_steering.F90.o libgalahad_single.so.p/src_lancelot_lancelot_types.F90.o libgalahad_single.so.p/src_lancelot_mdchl.F90.o libgalahad_single.so.p/src_lancelot_others.F90.o libgalahad_single.so.p/src_lancelot_precn.F90.o libgalahad_single.so.p/src_lancelot_scaln.F90.o libgalahad_single.so.p/src_lancelot_strutr.F90.o libgalahad_single.so.p/src_lancelot_simple_lancelot_simple.F90.o libgalahad_single.so.p/src_filtrane_filtrane.F90.o libgalahad_single.so.p/src_psls_psls.F90.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libgalahad_single.so '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/alexis/Bureau/git/GALAHAD/builddir/ libgalahad_blas.so libgalahad_lapack.so libgalahad_hsl_single.so libpardiso.so libmkl_pardiso.so libspral_ssids_single.so libmumps_single.so libspmf.so libwsmp.so libpastix_single.so libgalahad_metis.so -Wl,--end-group
/usr/bin/ld : libgalahad_single.so.p/src_psls_psls.F90.o : dans la fonction « __galahad_psls_single_MOD_psls_build » :
/home/alexis/Bureau/git/GALAHAD/builddir/../src/psls/psls.F90:3499 : référence indéfinie vers « mc61ad_ »
/usr/bin/ld : libgalahad_single.so.p/src_psls_psls.F90.o : dans la fonction « __galahad_psls_single_MOD_psls_form_and_factorize » :
/home/alexis/Bureau/git/GALAHAD/builddir/../src/psls/psls.F90:1638 : référence indéfinie vers « mc61ad_ »
collect2: error: ld returned 1 exit status

Errors with sblsti.F90

95/96 GALAHAD:fortran+single / sbls2_single               FAIL            0.14s   exit status 2
>>> MALLOC_PERTURB_=87 /home/alexis/Bureau/git/GALAHAD/builddir/sblsti_single

96/96 GALAHAD:fortran+double / sbls2_double               FAIL            0.14s   exit status 2
>>> MALLOC_PERTURB_=152 /home/alexis/Bureau/git/GALAHAD/builddir/sblsti_double
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ '/home/alexis/Bureau/git/GALAHAD/builddir/sblsti_single' 

 basic tests of storage formats

 scheme          precon factor status residual
 coordinate           2      2    -26
At line 56 of file ../src/sbls/sblsti.F90
Fortran runtime error: Attempting to allocate already allocated variable 'h_val'

Error termination. Backtrace:
#0  0x7fbad2321ad0 in ???
#1  0x7fbad2322649 in ???
#2  0x7fbad2322c46 in ???
#3  0x557961900e16 in galahad_sbls_interface_test
	at ../src/sbls/sblsti.F90:56
#4  0x55796190753f in main
	at ../src/sbls/sblsti.F90:4
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ '/home/alexis/Bureau/git/GALAHAD/builddir/sblsti_double' 

 basic tests of storage formats

 scheme          precon factor status residual
 coordinate           2      2    -26
At line 56 of file ../src/sbls/sblsti.F90
Fortran runtime error: Attempting to allocate already allocated variable 'h_val'

Error termination. Backtrace:
#0  0x7f5dfa119ad0 in ???
#1  0x7f5dfa11a649 in ???
#2  0x7f5dfa11ac46 in ???
#3  0x561c1cc0ce16 in galahad_sbls_interface_test
	at ../src/sbls/sblsti.F90:56
#4  0x561c1cc1353f in main
	at ../src/sbls/sblsti.F90:4

Warning during the compilation of buildspec

Compiling buildspec      		buildspec.f90:369:0:

 369 |                         newline( 53 : 52 + len2 ) = TRIM( old_dummy( 2 ) )
     | 
Warning: ‘__builtin_memcpy’ writing 120 bytes into a region of size 68 overflows the destination [-Wstringop-overflow=]
buildspec.f90:544:0:

 544 |                         newline( 53 : 52 + len2 ) = TRIM( old_dummy( 2 ) )
     | 
Warning: ‘__builtin_memcpy’ writing 120 bytes into a region of size 68 overflows the destination [-Wstringop-overflow=]
buildspec.f90:695:0:

 695 |                     newline( 53 : 52 + len2 ) = TRIM( old_dummy( 2 ) )
     | 
Warning: ‘__builtin_memcpy’ writing 120 bytes into a region of size 68 overflows the destination [-Wstringop-overflow=]
[ OK ]

Errors with wsmpt.F90

It should be easy to fix.

[152/494] Compiling Fortran object wsmpt_double.p/src_external_wsmp_wsmpt.F90.o
FAILED: wsmpt_double.p/src_external_wsmp_wsmpt.F90.o 
gfortran -Iwsmpt_double.p -I. -I.. -I../include -Ilibwsmp.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -DGALAHAD_DOUBLE -Jwsmpt_double.p -o wsmpt_double.p/src_external_wsmp_wsmpt.F90.o -c ../src/external/wsmp/wsmpt.F90
../src/external/wsmp/wsmpt.F90:13:42:

    7 |   USE GALAHAD_KINDS
      |      2                                    
......
   13 |   INTEGER ( KIND = ip_ ), PARAMETER :: rp_ = KIND( 1.0D0 )
      |                                          1
Error: Symbol ‘rp_’ at (1) conflicts with symbol from module ‘galahad_kinds’, use-associated at (2)
[154/494] Compiling Fortran object libgalahad_single.so.p/src_space_space.F90.o
../src/space/space.F90:2746:43:

 2746 |      SUBROUTINE SPACE_resize_logical_carray( len, array, status, alloc_status, &
      |                                           ^

Errors with dps tests and examples

[154/307] Compiling Fortran object dpss2.p/src_dps_dpss2.f90.o
FAILED: dpss2.p/src_dps_dpss2.f90.o 
gfortran -Idpss2.p -I. -I.. -Ilibgalahad_double.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -Jdpss2.p -o dpss2.p/src_dps_dpss2.f90.o -c ../src/dps/dpss2.f90
../src/dps/dpss2.f90:2:8:

    2 |    USE GALAHAD_DPS_DOUBLE                       ! double precision version
      |        1
Fatal Error: Cannot open module file ‘galahad_dps_double.mod’ for reading at (1): Aucun fichier ou dossier de ce type
compilation terminated.
[155/307] Compiling Fortran object dpss.p/src_dps_dpss.f90.o
FAILED: dpss.p/src_dps_dpss.f90.o 
gfortran -Idpss.p -I. -I.. -Ilibgalahad_double.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -Jdpss.p -o dpss.p/src_dps_dpss.f90.o -c ../src/dps/dpss.f90
../src/dps/dpss.f90:2:8:

    2 |    USE GALAHAD_DPS_DOUBLE                       ! double precision version
      |        1
Fatal Error: Cannot open module file ‘galahad_dps_double.mod’ for reading at (1): Aucun fichier ou dossier de ce type
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./dpst_single

 =-=-=-= normal exit tests =-=-=-= 

 <==== modified-absolute value norm =====>

 ===== trust-region subproblem =======

 pass   1 DPS_solve   exit status =     -9

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7f0acb660ad0 in ???
#1  0x7f0acb65fc35 in ???
#2  0x7f0acb45751f in ???
	at ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
#3  0x7f0acc3f62dc in __galahad_dps_precision_MOD_dps_resolve
	at ../src/dps/dps.F90:847
#4  0x55b7165f3a1e in galahad_dps_example
	at ../src/dps/dpst.F90:207
#5  0x55b7165f416c in main
	at ../src/dps/dpst.F90:3
Erreur de segmentation (core dumped)
alexis@HP-Spectre:~/Bureau/git/GALAHAD/builddir$ ./dpst_double

 =-=-=-= normal exit tests =-=-=-= 

 <==== modified-absolute value norm =====>

 ===== trust-region subproblem =======

 pass   1 DPS_solve   exit status =     -9

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7eff61451ad0 in ???
#1  0x7eff61450c35 in ???
#2  0x7eff6124851f in ???
	at ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
#3  0x7eff621eea03 in __galahad_dps_precision_MOD_dps_resolve
	at ../src/dps/dps.F90:847
#4  0x55b0483daa18 in galahad_dps_example
	at ../src/dps/dpst.F90:207
#5  0x55b0483db169 in main
	at ../src/dps/dpst.F90:3
Erreur de segmentation (core dumped)

GLS in single precision try to use double precision HSL routines

I have some missing symbols if I link libgalahad_single with libgalahad_hsl_single.

/usr/bin/ld : libgalahad_single.so.p/src_gls_gls.F90.o : dans la fonction « mc23_threadsafe.0 » :
/home/alexis/Bureau/git/GALAHAD/builddir/../src/gls/gls.F90:1294 : référence indéfinie vers « mc21bd_ »
/usr/bin/ld : /home/alexis/Bureau/git/GALAHAD/builddir/../src/gls/gls.F90:1321 : référence indéfinie vers « mc13ed_ »
collect2: error: ld returned 1 exit status
[134/433] Compiling Fortran object libgalahad_double.so.p/src_lqr_lqr.F90.o

https://github.com/ralna/GALAHAD/blob/master/src/gls/gls.f90#L1283
https://github.com/ralna/GALAHAD/blob/master/src/gls/gls.f90#L1310

Unable to compile clls

I have a collection of errors with this package.

../src/clls/clls.F90:2813:13:

 2813 |           END DO
      |             1
Error: Expecting END MODULE statement at (1)
../src/clls/clls.F90:2814:23:

 2814 |           DO i = dims%x_l_start, dims%x_l_end
      |                       1
Error: Symbol ‘dims’ at (1) has no IMPLICIT type
../src/clls/clls.F90:2815:78:

 2815 |             WRITE( sif, "( ' LO BND       X', I8, ' ', ES12.5 )" ) i, X_l( i )
      |                                                                              1
Error: Unexpected WRITE statement in CONTAINS section at (1)
../src/clls/clls.F90:2816:13:

 2816 |           END DO
      |             1
Error: Expecting END MODULE statement at (1)
../src/clls/clls.F90:2817:23:

 2817 |           DO i = dims%x_u_start, dims%x_u_end
      |                       1
Error: Symbol ‘dims’ at (1) has no IMPLICIT type
../src/clls/clls.F90:2818:78:

 2818 |             WRITE( sif, "( ' UP BND       X', I8, ' ', ES12.5 )" ) i, X_u( i )
      |                                                                              1
Error: Unexpected WRITE statement in CONTAINS section at (1)
../src/clls/clls.F90:2819:13:

 2819 |           END DO
      |             1
Error: Expecting END MODULE statement at (1)
../src/clls/clls.F90:2820:23:

 2820 |           DO i = dims%x_u_end + 1, n
      |                       1
Error: Symbol ‘dims’ at (1) has no IMPLICIT type
../src/clls/clls.F90:2821:74:

 2821 |             WRITE( sif, "( ' UP BND       X', I8, ' ', ES12.5 )" ) i, zero
      |                                                                          1
Error: Unexpected WRITE statement in CONTAINS section at (1)
../src/clls/clls.F90:2822:13:

 2822 |           END DO
      |             1
Error: Expecting END MODULE statement at (1)
../src/clls/clls.F90:2823:11:

 2823 |         END IF
      |           1
Error: Expecting END MODULE statement at (1)
../src/clls/clls.F90:2825:47:

 2825 |         WRITE( sif, "( /, 'START POINT', / )" )
      |                                               1
Error: Unexpected WRITE statement in CONTAINS section at (1)
../src/clls/clls.F90:2826:19:

 2826 |         DO i = 1, n
      |                   1
Error: Unexpected DO statement in CONTAINS section at (1)
../src/clls/clls.F90:2828:80:

 2828 |             WRITE( sif, "( ' V  START    ', ' X', I8, ' ', ES12.5 )" ) i, X( i )
      |                                                                                1
Error: Unexpected simple IF statement in CONTAINS section at (1)
../src/clls/clls.F90:2829:11:

 2829 |         END DO
      |           1
Error: Expecting END MODULE statement at (1)
../src/clls/clls.F90:2833:47:

 2833 |                           'GROUP USES', // )" )
      |                                               1
Error: Unexpected WRITE statement in CONTAINS section at (1)
...
...
...
...
...
Error: Function ‘h_val’ at (1) has no IMPLICIT type
../src/clls/clls.F90:7753:53:

 7753 |                 IF ( j /= i ) Z( i ) = Z( i ) + H_val( l ) * X( j )
      |                                                     1
Error: Function ‘h_val’ at (1) has no IMPLICIT type
../src/clls/clls.F90:7755:39:

 7755 |                 Z( j ) = Z( j ) + H_val( l ) * X( i )
      |                                       1
Error: Function ‘h_val’ at (1) has no IMPLICIT type
../src/clls/clls.F90:7759:39:

 7759 |                 Z( i ) = Z( i ) + H_val( l ) * X( j )
      |                                       1
Error: Function ‘h_val’ at (1) has no IMPLICIT type
../src/clls/clls.F90:7748:16:

 7748 |           DO l = H_ptr( j ), H_ptr( j + 1 ) - 1
      |                1
Error: Function ‘h_ptr’ at (1) has no IMPLICIT type
../src/clls/clls.F90:7795:20:

 7795 |         nz_h_free = H_ptr( n + 1 ) - 1
      |                    1
Error: Function ‘h_ptr’ at (1) has no IMPLICIT type
../src/clls/clls.F90:662:47:

  662 |                             inform%SLS_inform )
      |                                               1
Error: There is no specific subroutine for the generic ‘sls_initialize’ at (1)

Errors with slls examples

[605/625] Compiling Fortran object sllss4.p/src_slls_sllss4.f90.o
FAILED: sllss4.p/src_slls_sllss4.f90.o 
gfortran -Isllss4.p -I. -I.. -Ilibgalahad_double.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -Jsllss4.p -o sllss4.p/src_slls_sllss4.f90.o -c ../src/slls/sllss4.f90
../src/slls/sllss4.f90:98:22:

   98 |    control_x%infinity = infinity
      |                      1
Error: ‘infinity’ at (1) is not a member of the ‘slls_control_type’ structure
../src/slls/sllss4.f90:104:22:

  104 |    control_y%infinity = infinity
      |                      1
Error: ‘infinity’ at (1) is not a member of the ‘slls_control_type’ structure
[606/625] Compiling Fortran object sllss6.p/src_slls_sllss6.f90.o
FAILED: sllss6.p/src_slls_sllss6.f90.o 
gfortran -Isllss6.p -I. -I.. -Ilibgalahad_double.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -Jsllss6.p -o sllss6.p/src_slls_sllss6.f90.o -c ../src/slls/sllss6.f90
../src/slls/sllss6.f90:136:22:

  136 |    control_u%infinity = infinity
      |                      1
Error: ‘infinity’ at (1) is not a member of the ‘slls_control_type’ structure
../src/slls/sllss6.f90:146:22:

  146 |    control_v%infinity = infinity
      |                      1
Error: ‘infinity’ at (1) is not a member of the ‘slls_control_type’ structure
../src/slls/sllss6.f90:156:22:

  156 |    control_x%infinity = infinity
      |                      1
Error: ‘infinity’ at (1) is not a member of the ‘slls_control_type’ structure
../src/slls/sllss6.f90:166:22:

  166 |    control_y%infinity = infinity
      |                      1
Error: ‘infinity’ at (1) is not a member of the ‘slls_control_type’ structure
[607/625] Compiling Fortran object sllss5.p/src_slls_sllss5.f90.o
FAILED: sllss5.p/src_slls_sllss5.f90.o 
gfortran -Isllss5.p -I. -I.. -Ilibgalahad_double.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -Jsllss5.p -o sllss5.p/src_slls_sllss5.f90.o -c ../src/slls/sllss5.f90
../src/slls/sllss5.f90:79:22:

   79 |    control_r%infinity = infinity
      |                      1
Error: ‘infinity’ at (1) is not a member of the ‘slls_control_type’ structure

undefined reference to `probfun_'

Dear GALAHAD users,

I have compiled GALAHAD, but unfortunately can't even compile a simple test code.
May I ask you to compile and run the code attached?
I always have the following compilation error with this code:

gfortran -c -I/home/ishevche/GALAHAD-3.0.3/modules/pc64.lnx.gf5/double fun.f90
gfortran test_LANCELOT.f90 -o test_LANCELOT -L/home/ishevche/GALAHAD-3.0.3/objects/pc64.lnx.gf5/double -lgalahad -lgalahad_blas -lgalahad_hsl -lgalahad_metis -lgalahad_lapack -lg2c -I/home/ishevche/GALAHAD-3.0.3/modules/pc64.lnx.gf5/double fun.o
/home/ishevche/GALAHAD-3.0.3/objects/pc64.lnx.gf5/double/libgalahad.a(lancelot_simple.o): In function __lancelot_simple_double_MOD_lancelot_simple': lancelot_simple.f90:(.text+0x4ae5): undefined reference to probfun_'
lancelot_simple.f90:(.text+0x4b9b): undefined reference to `probfun_'
collect2: error: ld returned 1 exit status
Makefile:21: recipe for target 'test_LANCELOT' failed
make: *** [test_LANCELOT] Error 1

Any help and suggestions will be highly appreciated!
lancelot.zip

Best regards,
Igor

Undefined symbols -- shared libraries

@nimgould
I almost fixed all links and undefined symbols when we generate the shared libraries here.

gcc -shared -o shared/libgalahad_dummy.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_dummy.a -Wl,--no-whole-archive

gcc -shared -o shared/libgalahad_metis.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_metis.a -Wl,--no-whole-archive

gcc -shared -o shared/libgalahad_cutest_dummy.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_cutest_dummy.a -Wl,--no-whole-archive

gcc -shared -o shared/libgalahad_umfpack.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_umfpack.a -Wl,--no-whole-archive

gcc -shared -o shared/libgalahad_mumps.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_mumps.a -Wl,--no-whole-archive

gcc -shared -o shared/libgalahad_pastix.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_pastix.a -Wl,--no-whole-archive

gcc -shared -o shared/libgalahad_wsmp.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_wsmp.a -Wl,--no-whole-archive

gcc -shared -o shared/libgalahad_pardiso.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_pardiso.a -Wl,--no-whole-archive

gcc -shared -o shared/libgalahad_mkl_pardiso.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_mkl_pardiso.a -Wl,--no-whole-archive

gcc -shared -o shared/libgalahad_minpack.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_minpack.a -Wl,--no-whole-archive -lgfortran

gcc -shared -o shared/libgalahad_hsl.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_hsl.a -Wl,--no-whole-archive -lgfortran

gcc -shared -o shared/libgalahad_blas.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_blas.a -Wl,--no-whole-archive -lgfortran

gcc -shared -o shared/libgalahad_lapack.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_lapack.a -Wl,--no-whole-archive \
-lm -lgfortran -L./shared -lgalahad_blas

g++ -shared -o shared/libgalahad_spral.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_spral.a -Wl,--no-whole-archive \
-lm -lgfortran -lgomp -lhwloc \
-L./shared -lgalahad_blas -lgalahad_lapack -lgalahad_metis

gcc -shared -o shared/libgalahad.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad.a -Wl,--no-whole-archive \
-lm -lgfortran -lgomp \
-L./shared -lgalahad_cutest_dummy -lgalahad_hsl -L./shared -lgalahad_hsl \
-lgalahad_blas -lgalahad_lapack -lgalahad_metis -lgalahad_pastix \
-lgalahad_spral -lgalahad_wsmp -lgalahad_mkl_pardiso -lgalahad_pardiso

I just have some errors with

gcc -shared -o shared/libgalahad_hsl_c.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_hsl_c.a -Wl,--no-whole-archive \
-lgfortran -L./shared -lgalahad_hsl

/usr/bin/ld : double/libgalahad_hsl_c.a(hsl_ma77d_ciface.o) : dans la fonction « __hsl_ma77_double_iface_MOD_ma77_open_main » :
hsl_ma77d_ciface.f90:(.text+0x963) : référence indéfinie vers « __galahad_common_ciface_MOD_cstr_to_fchar »
/usr/bin/ld : hsl_ma77d_ciface.f90:(.text+0x9e3) : référence indéfinie vers « __galahad_common_ciface_MOD_cstr_to_fchar »
/usr/bin/ld : hsl_ma77d_ciface.f90:(.text+0xa8d) : référence indéfinie vers « __galahad_common_ciface_MOD_cstr_to_fchar »
/usr/bin/ld : hsl_ma77d_ciface.f90:(.text+0xb22) : référence indéfinie vers « __galahad_common_ciface_MOD_cstr_to_fchar »
/usr/bin/ld : hsl_ma77d_ciface.f90:(.text+0xbda) : référence indéfinie vers « __galahad_common_ciface_MOD_cstr_to_fchar »
/usr/bin/ld : double/libgalahad_hsl_c.a(hsl_ma77d_ciface.o):hsl_ma77d_ciface.f90:(.text+0xc22) : encore plus de références indéfinies suivent vers « __galahad_common_ciface_MOD_cstr_to_fchar »
collect2: error: ld returned 1 exit status

and

gcc -shared -o shared/libgalahad_c.so -Wl,--no-undefined \
-Wl,--whole-archive double/libgalahad_c.a -Wl,--no-whole-archive \
-lgfortran -L./shared -lgalahad

/usr/bin/ld : double/libgalahad_c.a(sls_ciface.o) : dans la fonction « __galahad_sls_double_ciface_MOD_copy_inform_out » :
sls_ciface.f90:(.text+0x4be) : référence indéfinie vers « __hsl_ma57_double_ciface_MOD_copy_ainfo_out »
/usr/bin/ld : sls_ciface.f90:(.text+0x4d1) : référence indéfinie vers « __hsl_ma57_double_ciface_MOD_copy_finfo_out »
/usr/bin/ld : sls_ciface.f90:(.text+0x4e4) : référence indéfinie vers « __hsl_ma57_double_ciface_MOD_copy_sinfo_out »
/usr/bin/ld : sls_ciface.f90:(.text+0x4f7) : référence indéfinie vers « __hsl_ma77_double_iface_MOD_copy_info_out »
/usr/bin/ld : sls_ciface.f90:(.text+0x50a) : référence indéfinie vers « __hsl_ma86d_ciface_MOD_copy_info_out »
/usr/bin/ld : sls_ciface.f90:(.text+0x51d) : référence indéfinie vers « __hsl_ma87d_ciface_MOD_copy_info_out »
/usr/bin/ld : sls_ciface.f90:(.text+0x530) : référence indéfinie vers « __hsl_ma97_double_ciface_MOD_copy_info_out »
/usr/bin/ld : sls_ciface.f90:(.text+0x556) : référence indéfinie vers « __hsl_mc64_double_ciface_MOD_copy_info_out »
/usr/bin/ld : sls_ciface.f90:(.text+0x569) : référence indéfinie vers « __hsl_mc68_integer_ciface_MOD_copy_info_out »
/usr/bin/ld : double/libgalahad_c.a(uls_ciface.o) : dans la fonction « __galahad_uls_double_ciface_MOD_copy_inform_out » :
uls_ciface.f90:(.text+0x167) : référence indéfinie vers « __hsl_ma48_double_ciface_MOD_copy_ainfo_out »
/usr/bin/ld : uls_ciface.f90:(.text+0x17a) : référence indéfinie vers « __hsl_ma48_double_ciface_MOD_copy_finfo_out »
/usr/bin/ld : uls_ciface.f90:(.text+0x18d) : référence indéfinie vers « __hsl_ma48_double_ciface_MOD_copy_sinfo_out »
/usr/bin/ld : double/libgalahad_c.a(psls_ciface.o) : dans la fonction « __galahad_psls_double_ciface_MOD_copy_inform_out » :
psls_ciface.f90:(.text+0x1c7) : référence indéfinie vers « __hsl_mi28_double_ciface_MOD_copy_info_out »
/usr/bin/ld : double/libgalahad_c.a(psls_ciface.o) : dans la fonction « __galahad_psls_double_ciface_MOD_copy_control_in » :
psls_ciface.f90:(.text+0x1a3c) : référence indéfinie vers « __hsl_mi28_double_ciface_MOD_copy_control_in »
collect2: error: ld returned 1 exit status

I don't know if the symbols are in another shared library and I was unable to find it or if some packages still require the "real" HSL library.

It will help @dpo to compile on Mac!

Errors with icfst.F90

[443/608] Compiling Fortran object icfst_double.p/src_icfs_icfst.F90.o
FAILED: icfst_double.p/src_icfs_icfst.F90.o 
gfortran -Iicfst_double.p -I. -I.. -I../include -Ilibgalahad_double.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -DGALAHAD_DOUBLE -Jicfst_double.p -o icfst_double.p/src_icfs_icfst.F90.o -c ../src/icfs/icfst.F90
../src/icfs/icfst.F90:8:23:

    8 |    INTEGER ( KIND = ip_ ), PARAMETER :: n = 5
      |                       1
Error: Symbol ‘ip_’ at (1) has no IMPLICIT type
../src/icfs/icfst.F90:9:23:

    9 |    INTEGER ( KIND = ip_ ), PARAMETER :: ne = 5
      |                       1
Error: Symbol ‘ip_’ at (1) has no IMPLICIT type
../src/icfs/icfst.F90:10:23:

   10 |    INTEGER ( KIND = ip_ ), ALLOCATABLE, DIMENSION( : ) :: PTR, ROW
      |                       1
Error: Symbol ‘ip_’ at (1) has no IMPLICIT type
../src/icfs/icfst.F90:11:23:

   11 |    INTEGER ( KIND = ip_ ) :: i
      |                       1
Error: Symbol ‘ip_’ at (1) has no IMPLICIT type
../src/icfs/icfst.F90:12:20:

   12 |    REAL ( KIND = rp_ ), ALLOCATABLE, DIMENSION( : )  :: DIAG, VAL
      |                    1
Error: Symbol ‘rp_’ at (1) has no IMPLICIT type
../src/icfs/icfst.F90:13:20:

   13 |    REAL ( KIND = rp_ ) :: X( n )
      |                    1
Error: Symbol ‘rp_’ at (1) has no IMPLICIT type
../src/icfs/icfst.F90:15:13:

   15 |    ALLOCATE( PTR( n + 1 ), DIAG( n ), VAL( ne ), ROW( ne ) )
      |             1
Error: Allocate-object at (1) is neither a data pointer nor an allocatable variable
../src/icfs/icfst.F90:18:21:

   18 |    DIAG = (/ 2.0_rp_,  5.0_rp_,  1.0_rp_,  7.0_rp_,  2.0_rp_ /)
      |                     1
Error: Missing kind-parameter at (1)
../src/icfs/icfst.F90:19:20:

   19 |    VAL = (/ 1.0_rp_,  1.0_rp_,  1.0_rp_,  1.0_rp_ /)
      |                    1
Error: Missing kind-parameter at (1)
../src/icfs/icfst.F90:43:20:

   43 |    DEALLOCATE( DIAG, VAL, ROW, PTR )
      |                    1
Error: Allocate-object at (1) is not a nonprocedure pointer nor an allocatable variable
../src/icfs/icfst.F90:25:43:

   25 |      CALL ICFS_factorize( n, PTR, ROW, DIAG, VAL, data, control, inform )
      |                                           1
Error: Symbol ‘diag’ at (1) has no IMPLICIT type
../src/icfs/icfst.F90:22:7:

   22 |    DO i = 0, 2
      |       1
Error: Symbol ‘i’ at (1) has no IMPLICIT type
../src/icfs/icfst.F90:25:27:

   25 |      CALL ICFS_factorize( n, PTR, ROW, DIAG, VAL, data, control, inform )
      |                           1
Error: Symbol ‘n’ at (1) has no IMPLICIT type
../src/icfs/icfst.F90:16:6:

   16 |    PTR = (/ 1, 2, 4, 5, 5, 5 /)
      |      1
Error: Symbol ‘ptr’ at (1) has no IMPLICIT type
../src/icfs/icfst.F90:17:6:

   17 |    ROW = (/ 2, 3, 5, 4 /)
      |      1
Error: Symbol ‘row’ at (1) has no IMPLICIT type
../src/icfs/icfst.F90:25:48:

   25 |      CALL ICFS_factorize( n, PTR, ROW, DIAG, VAL, data, control, inform )
      |                                                1
Error: Symbol ‘val’ at (1) has no IMPLICIT type
../src/icfs/icfst.F90:33:37:

   33 |      CALL ICFS_triangular_solve( n, X, .FALSE., data, control, inform )
      |                                     1
Error: Symbol ‘x’ at (1) has no IMPLICIT type

We just need to add USE GALAHAD_KINDS (line 3) to solve the issue.
I will open a PR.

Errors with the C interface of glrt

../src/glrt/C/glrt_ciface.F90:413:76:

  413 |   CALL f_glrt_solve_problem( fdata, status, n, power, weight, x, r, vector )
      |                                                                            1
Error: Type mismatch in argument ‘power’ at (1); passed REAL(8) to REAL(4)
[300/791] Compiling Fortran object libgalahad_double.so.p/src_sbls_sbls.F90.o
ninja: build stopped: subcommand failed.

Internal Error: get_unit(): Bad internal unit KIND

Dear GALAHAD users,

After having upgraded to gfortran 7.3.0, I cannot use LANCELOT any more due to the error:
At line 630 of file lancelot_simple.f90
Internal Error: get_unit(): Bad internal unit KIND

Could you please help me out with this issue?

Best regards,
Igor

Unable to compile without cpu_time

@nimgould

alexis@HP-Spectre:~/Applications/ARCHDefs$ ./install_optrove 
Do you wish to install GALAHAD (Y/n)? y
 Select required subset of GALAHAD packages
 (the chosen subset will optionally be installed below)

    (1) Everything
    (2) LANCELOT B and its dependencies
    (3) the LP/QP packages and their dependencies
    (4) the regularised quadratic solvers and their dependencies
    (5) the un/bound-constrained solvers and their dependencies
    (6) FILTRANE and its dependencies
    (7) the global optimization solvers and their dependencies
1
 Select required interfaces to GALAHAD packages -
 Do you require CUTEst interfaces to GALAHAD (y/N)? y
 Do you require AMPL interfaces to GALAHAD (y/N)? n
 Do you require MATLAB interfaces to GALAHAD (y/N)? n
 Do you require C interfaces to GALAHAD (y/N)? y
 Do you require python interfaces to GALAHAD (very limited at present) (y/N)? n

Build schedule:
 - SIFDecode from
    /home/alexis/Applications/SIFDecode
 - CUTEst from
 -  /home/alexis/Applications/CUTEst
 - GALAHAD with C interfaces from
 -  /home/alexis/Bureau/git/GALAHAD

 Select platform

   (1) Cray
   (2) HP workstation
   (3) PC
   (4) PC with generic 64-bit processor
   (5) MAC OS/X
   (6) 64-bit MAC OS/X
   (7) Cross-compiler BinaryBuilder
4
 Select operating system

   (1) Linux
   (2) Windows 10 onwards with MinGW64/Msys2
   (3) Windows 2000/XP with MinGW/Msys
1
 Would you like to review and modify the system commands (y/N)? n
 Select fortran compiler

        (1) LLVM Flang compiler
        (2) GNU gfortran compiler
        (3) Intel ifort compiler
        (4) Intel ifx compiler
        (5) Lahey lf95 compiler
        (6) NAG nagfor compiler for 64-bit PCs under Linux
        (7) Nvidia nvcc/GNU gfortran cross compiler (N.B. check CUDA arch and code)
        (8) Nvidia nvfortran compiler
        (9) Pathscale fortran compiler
        (10) IBM xlf95 compiler under 64-bit linux
2
 Would you like to review and modify the fortran compiler settings (y/N)? n
 Select C compiler

        (1) generic CC
        (2) generic GCC
        (3) LLVM Clang compiler
        (4) GNU gcc compiler
        (5) Intel icc for 64-bit
        (6) Intel icx compiler for 64-bit
        (7) Nvidia nvc compiler with nvfortran
        (8) Pathscale C/C++
        (9) XL C/C++
4
 Would you like to review and modify the C compiler settings (y/N)? n
 Version for architecture pc64.lnx.gfo will be installed

 Installing SIFDecode ...

 WARNING: There is already an installed SIFDECODE version pc64.lnx.gfo

 Do you wish to proceed ... existing version will be updated (Y/n)? y
 Would you like to compile SIFDecode ... (Y/n)? y

Installing the double precision version
 compiling in /home/alexis/Applications/SIFDecode/src with the comand
 /usr/bin/make -s -f /home/alexis/Applications/SIFDecode/makefiles/pc64.lnx.gfo all
 Compiling sifdecode_main 		[ OK ]
 sifdecode: tools packages (double precision version) compiled successfully
 sifdecode: check packages (double precision version) compiled successfully
 Compiling slct           		[ OK ]
 Compiling clsf           		[ OK ]
 select: packages (double precision version) compiled successfully

 SUCCESS: SIFDecode successfully installed

 Installing CUTEst ...

 WARNING:  There is already an installed CUTEST version pc64.lnx.gfo

 Do you wish to proceed ... existing version will be updated (Y/n)? y
 Would you like to compile CUTEst ... (Y/n)? y

 CUTEst may be compiled in (S)ingle or (D)ouble precision or (B)oth.
 Which precision do you require for the installed subset (D/s/b) ? b
 Installing the double precision version
 compiling in /home/alexis/Applications/CUTEst/src with the comand
 /usr/bin/make -s -f /home/alexis/Applications/CUTEst/makefiles/pc64.lnx.gfo all
 CUTEST: tools (double precision version) compiled successfully
 CUTEst: algencan (double precision version) compiled successfully
 CUTEst: bobyqa (double precision version) compiled successfully
 CUTEst: cg_descent (double precision version) compiled successfully
 CUTEst: cgplus (double precision version) compiled successfully
 CUTEst: cobyla (double precision version) compiled successfully
 CUTEst: derchk (double precision version) compiled successfully
 CUTEst: dfo (double precision version) compiled successfully
 CUTEst: directsearch (double precision version) compiled successfully
 CUTEst: e04nqf (double precision version) compiled successfully
 CUTEst: filtersd (double precision version) compiled successfully
 CUTEst: filtersqp (double precision version) compiled successfully
 CUTEst: gen77 (double precision version) compiled successfully
 CUTEst: gen90 (double precision version) compiled successfully
 CUTEst: genc (double precision version) compiled successfully
 CUTEst: hrb (double precision version) compiled successfully
 CUTEst: ipopt (double precision version) compiled successfully
 CUTEst: knitro (double precision version) compiled successfully
 CUTEst: la04 (double precision version) compiled successfully
 CUTEst: lbfgs (double precision version) compiled successfully
 CUTEst: lbfgsb (double precision version) compiled successfully
 CUTEst: lincoa (double precision version) compiled successfully
 CUTEst: loqo (double precision version) compiled successfully
 CUTEst: minos (double precision version) compiled successfully
 CUTEst: newuoa (double precision version) compiled successfully
 CUTEst: nitsol (double precision version) compiled successfully
 CUTEst: nlpqlp (double precision version) compiled successfully
 CUTEst: npsol (double precision version) compiled successfully
 CUTEst: osqp (double precision version) compiled successfully
 CUTEst: pds (double precision version) compiled successfully
 CUTEst: pennlp (double precision version) compiled successfully
 CUTEst: praxis (double precision version) compiled successfully
 CUTEst: ql (double precision version) compiled successfully
 CUTEst: qplib (double precision version) compiled successfully
 CUTEst: snopt (double precision version) compiled successfully
 CUTEst: spg (double precision version) compiled successfully
 CUTEst: stats (double precision version) compiled successfully
 CUTEst: stenmin (double precision version) compiled successfully
 CUTEst: tenmin (double precision version) compiled successfully
 CUTEst: test (double precision version) compiled successfully
 CUTEst: tron (double precision version) compiled successfully
 CUTEst: uncmin (double precision version) compiled successfully
 CUTEst: vf13 (double precision version) compiled successfully
 CUTEst: worhp (double precision version) compiled successfully

 Installing the single precision version
 compiling in /home/alexis/Applications/CUTEst/src with the comand
 /usr/bin/make -s -f /home/alexis/Applications/CUTEst/makefiles/pc64.lnx.gfo all
 CUTEST: tools (single precision version) compiled successfully
 CUTEst: algencan (single precision version) compiled successfully
 CUTEst: bobyqa (single precision version) compiled successfully
 CUTEst: cg_descent (single precision version) compiled successfully
 CUTEst: cgplus (single precision version) compiled successfully
 CUTEst: cobyla (single precision version) compiled successfully
 CUTEst: derchk (single precision version) compiled successfully
 CUTEst: dfo (single precision version) compiled successfully
 CUTEst: directsearch (single precision version) compiled successfully
 CUTEst: e04nqf (single precision version) compiled successfully
 CUTEst: filtersd (single precision version) compiled successfully
 CUTEst: filtersqp (single precision version) compiled successfully
 CUTEst: gen77 (single precision version) compiled successfully
 CUTEst: gen90 (single precision version) compiled successfully
 CUTEst: genc (single precision version) compiled successfully
 CUTEst: hrb (single precision version) compiled successfully
 CUTEst: ipopt (single precision version) compiled successfully
 CUTEst: knitro (single precision version) compiled successfully
 CUTEst: la04 (single precision version) compiled successfully
 CUTEst: lbfgs (single precision version) compiled successfully
 CUTEst: lbfgsb (single precision version) compiled successfully
 CUTEst: lincoa (single precision version) compiled successfully
 CUTEst: loqo (single precision version) compiled successfully
 CUTEst: minos (single precision version) compiled successfully
 CUTEst: newuoa (single precision version) compiled successfully
 CUTEst: nitsol (single precision version) compiled successfully
 CUTEst: nlpqlp (single precision version) compiled successfully
 CUTEst: npsol (single precision version) compiled successfully
 CUTEst: osqp (single precision version) compiled successfully
 CUTEst: pds (single precision version) compiled successfully
 CUTEst: pennlp (single precision version) compiled successfully
 CUTEst: praxis (single precision version) compiled successfully
 CUTEst: ql (single precision version) compiled successfully
 CUTEst: snopt (single precision version) compiled successfully
 CUTEst: spg (single precision version) compiled successfully
 CUTEst: stats (single precision version) compiled successfully
 CUTEst: stenmin (single precision version) compiled successfully
 CUTEst: tenmin (single precision version) compiled successfully
 CUTEst: test (single precision version) compiled successfully
 CUTEst: tron (single precision version) compiled successfully
 CUTEst: uncmin (single precision version) compiled successfully
 CUTEst: vf13 (single precision version) compiled successfully
 CUTEst: worhp (single precision version) compiled successfully

 SUCCESS: CUTEst successfully installed

 Installing GALAHAD ...

 WARNING:  There is already an installed GALAHAD version pc64.lnx.gfo.

 Do you wish to proceed ... existing version will be updated (Y/n)? y
 Would you like to compile the GALAHAD subset you selected earlier (Y/n)? y
 Would you like to build additional shared libraries (y/N)? y

 Installing the double precision version
 compiling in /home/alexis/Bureau/git/GALAHAD/src with the comand
 /usr/bin/make -s -f /home/alexis/Bureau/git/GALAHAD/makefiles/pc64.lnx.gfo all_cutest
/bin/sh: 1: cd: can't cd to /home/alexis/Bureau/git/GALAHAD/src/cpu_time
/home/alexis/Bureau/git/GALAHAD/makefiles/pc64.lnx.gfo:158: /home/alexis/Bureau/git/GALAHAD/src/cpu_time/makemaster: Aucun fichier ou dossier de ce type
make[5]: *** Aucune règle pour fabriquer la cible « /home/alexis/Bureau/git/GALAHAD/src/cpu_time/makemaster ». Arrêt.
make[4]: *** [/home/alexis/Bureau/git/GALAHAD/src/basic/makemaster:50 : cpu_time_silent] Erreur 2
make[3]: *** [/home/alexis/Bureau/git/GALAHAD/src/makedefs/intermediaries:161 : make_dummy] Erreur 2
make[2]: *** [/home/alexis/Bureau/git/GALAHAD/src/lancelot/../general/makemaster:631 : zd11] Erreur 2
make[1]: *** [/home/alexis/Bureau/git/GALAHAD/src/lancelot/makemaster:338 : basics] Erreur 2
make: *** [/home/alexis/Bureau/git/GALAHAD/src/makemaster:43 : all_cutest_double] Erreur 2

Build HSL-free version

@nimgould I tried to build a standalone version of GALAHAD without CUTEst, Matlab, Python, and HSL, but quickly got errors related to building certain HSL modules, such as

make[3]: *** No rule to make target `/ma27/ma27d.f', needed by `/Users/dpo/dev/ralna/GALAHAD/objects/mac64.osx.gfo/double/libgalahad_hsl.a(ma27d.o)'.  Stop.

Errors with lancelot_simplet.F90

FAILED: lancelot_simplet_single.p/src_lancelot_simple_lancelot_simplet.F90.o 
gfortran -Ilancelot_simplet_single.p -I. -I.. -I../include -Ilibgalahad_single.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -DGALAHAD_SINGLE -Jlancelot_simplet_single.p -o lancelot_simplet_single.p/src_lancelot_simple_lancelot_simplet.F90.o -c ../src/lancelot_simple/lancelot_simplet.F90
../src/lancelot_simple/lancelot_simplet.F90:152:20:

  152 |        REAL( KIND = rp_ ), INTENT( IN )   :: X( : )
      |                    1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot_simple/lancelot_simplet.F90:153:20:

  153 |        REAL( KIND = rp_ ), INTENT( OUT )  :: F
      |                    1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot_simple/lancelot_simplet.F90:154:24:

  154 |        INTEGER ( KIND = ip_ ), INTENT( IN ), OPTIONAL   :: i
      |                        1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot_simple/lancelot_simplet.F90:158:23:

  158 |           F = 100.0_wp*(X(2)-X(1)**2)**2 +(1.0_wp-X(1))**2                     !
      |                       1
Error: Missing kind-parameter at (1)
../src/lancelot_simple/lancelot_simplet.F90:165:30:

  165 |               F = X(1)+3.0_wp*X(2)-3.0_rp_                                     !
      |                              1
Error: Missing kind-parameter at (1)
../src/lancelot_simple/lancelot_simplet.F90:170:42:

  170 |               F = X(1)**2+X(2)**2-4.0_rp_                                      !
      |                                          1
Error: Missing kind-parameter at (1)
../src/lancelot_simple/lancelot_simplet.F90:180:20:

  180 |        REAL( KIND = rp_ ), INTENT( IN )  :: X( : )
      |                    1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot_simple/lancelot_simplet.F90:181:20:

  181 |        REAL( KIND = rp_ ), INTENT( OUT ) :: G( : )
      |                    1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot_simple/lancelot_simplet.F90:182:24:

  182 |        INTEGER ( KIND = ip_ ), INTENT( IN ), OPTIONAL  :: i
      |                        1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot_simple/lancelot_simplet.F90:211:20:

  211 |        REAL( KIND = rp_ ), INTENT( IN )  :: X( : )
      |                    1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot_simple/lancelot_simplet.F90:212:20:

  212 |        REAL( KIND = rp_ ), INTENT( OUT ) :: H( : )
      |                    1
Error: Parameter ‘rp_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot_simple/lancelot_simplet.F90:213:24:

  213 |        INTEGER ( KIND = ip_ ), INTENT( IN ), OPTIONAL  :: i
      |                        1
Error: Parameter ‘ip_’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
../src/lancelot_simple/lancelot_simplet.F90:155:27:

  155 |        IF ( .NOT. PRESENT( i ) ) THEN
      |                           1
Error: ‘a’ argument of ‘present’ intrinsic at (1) must be of an OPTIONAL dummy variable
../src/lancelot_simple/lancelot_simplet.F90:183:27:

  183 |        IF ( .NOT. PRESENT( i ) ) THEN
      |                           1
Error: ‘a’ argument of ‘present’ intrinsic at (1) must be of an OPTIONAL dummy variable
../src/lancelot_simple/lancelot_simplet.F90:214:27:

  214 |        IF ( .NOT. PRESENT( i ) ) THEN
      |                           1
Error: ‘a’ argument of ‘present’ intrinsic at (1) must be of an OPTIONAL dummy variable

Single precision SLS try to call double precision MUMPS

FAILED: libgalahad_single.so 
gfortran  -o libgalahad_single.so libgalahad_single.so.p/src_lapack_blas_interface.F90.o libgalahad_single.so.p/src_lapack_lapack_interface.F90.o libgalahad_single.so.p/src_clock_clock.F90.o libgalahad_single.so.p/src_checkpoint_checkpoint.F90.o libgalahad_single.so.p/src_common_common.F90.o libgalahad_single.so.p/src_copyright_copyright.F90.o libgalahad_single.so.p/src_extend_extend.F90.o libgalahad_single.so.p/src_kinds_kinds.F90.o libgalahad_single.so.p/src_lmt_lmt.F90.o libgalahad_single.so.p/src_norms_norms.F90.o libgalahad_single.so.p/src_rand_rand.F90.o libgalahad_single.so.p/src_scu_scu.F90.o libgalahad_single.so.p/src_sort_sort.F90.o libgalahad_single.so.p/src_string_string.F90.o libgalahad_single.so.p/src_symbols_symbols.F90.o libgalahad_single.so.p/src_tools_tools.F90.o libgalahad_single.so.p/src_userdata_userdata.F90.o libgalahad_single.so.p/src_zd11_zd11.F90.o libgalahad_single.so.p/src_smt_smt.F90.o libgalahad_single.so.p/src_convert_convert.F90.o libgalahad_single.so.p/src_qpt_qpt.F90.o libgalahad_single.so.p/src_space_space.F90.o libgalahad_single.so.p/src_specfile_specfile.F90.o libgalahad_single.so.p/src_bsc_bsc.F90.o libgalahad_single.so.p/src_fit_fit.F90.o libgalahad_single.so.p/src_hash_hash.F90.o libgalahad_single.so.p/src_roots_roots.F90.o libgalahad_single.so.p/src_gltr_gltr.F90.o libgalahad_single.so.p/src_glrt_glrt.F90.o libgalahad_single.so.p/src_lstr_lstr.F90.o libgalahad_single.so.p/src_lsrt_lsrt.F90.o libgalahad_single.so.p/src_l2rt_l2rt.F90.o libgalahad_single.so.p/src_lhs_lhs.F90.o libgalahad_single.so.p/src_lms_lms.F90.o libgalahad_single.so.p/src_presolve_presolve.F90.o libgalahad_single.so.p/src_rpd_rpd.F90.o libgalahad_single.so.p/src_sec_sec.F90.o libgalahad_single.so.p/src_sha_sha.F90.o libgalahad_single.so.p/src_nlpt_nlpt.F90.o libgalahad_single.so.p/src_ugo_ugo.F90.o libgalahad_single.so.p/src_amd_amd.F90.o libgalahad_single.so.p/src_mop_mop.F90.o libgalahad_single.so.p/src_check_check.F90.o libgalahad_single.so.p/src_fdh_fdh.F90.o libgalahad_single.so.p/src_filter_filter.F90.o libgalahad_single.so.p/src_lqr_lqr.F90.o libgalahad_single.so.p/src_lqt_lqt.F90.o libgalahad_single.so.p/src_lsp_lsp.F90.o libgalahad_single.so.p/src_miqr_miqr.F90.o libgalahad_single.so.p/src_opt_opt.F90.o libgalahad_single.so.p/src_trans_trans.F90.o libgalahad_single.so.p/src_qpp_qpp.F90.o libgalahad_single.so.p/src_scale_scale.F90.o libgalahad_single.so.p/src_scaling_scaling.F90.o libgalahad_single.so.p/src_gls_gls.F90.o libgalahad_single.so.p/src_sils_sils.F90.o libgalahad_single.so.p/src_sls_sls.F90.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libgalahad_single.so '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/alexis/Bureau/git/GALAHAD/builddir/ libgalahad_blas.so libgalahad_lapack.so libgalahad_hsl_single.so libgalahad_hsl_double.so libpardiso.so libmkl_pardiso.so libspral_ssids_single.so libmumps_single.so libspmf.so libpastix_single.so -Wl,--end-group

/usr/bin/ld : /home/alexis/Bureau/git/GALAHAD/builddir/../src/sls/sls.F90:7076 : référence indéfinie vers « dmumps_ »
/usr/bin/ld : /home/alexis/Bureau/git/GALAHAD/builddir/../src/sls/sls.F90:6782 : référence indéfinie vers « dmumps_ »
/usr/bin/ld : /home/alexis/Bureau/git/GALAHAD/builddir/../src/sls/sls.F90:6368 : référence indéfinie vers « dmumps_ »
/usr/bin/ld : /home/alexis/Bureau/git/GALAHAD/builddir/../src/sls/sls.F90:5135 : référence indéfinie vers « dmumps_ »
/usr/bin/ld : /home/alexis/Bureau/git/GALAHAD/builddir/../src/sls/sls.F90:3992 : référence indéfinie vers « dmumps_ »
/home/alexis/Bureau/git/GALAHAD/builddir/../src/sls/sls.F90:1339 : référence indéfinie vers « dmumps_ »

Segmentation fault with LANCELOT B tests

@nimgould

alexis@HP-Spectre:~/Bureau/git/GALAHAD/src$ make -s -f $GALAHAD/makefiles/$arch test
 Compiling lancelott      		[ OK ]

 Exhaustive test of subroutine interface to LANCELOT B

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7f139b87bad0 in ???
#1  0x7f139b87ac35 in ???
#2  0x7f139b58b51f in ???
	at ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
#3  0x5601e5f0835c in ???
#4  0x5601e5eb5bbe in ???
#5  0x5601e5ece111 in ???
#6  0x5601e5ea6350 in ???
#7  0x5601e5eaa7d3 in ???
#8  0x7f139b572d8f in __libc_start_call_main
	at ../sysdeps/nptl/libc_start_call_main.h:58
#9  0x7f139b572e3f in __libc_start_main_impl
	at ../csu/libc-start.c:392
#10  0x5601e5ea22f4 in ???
#11  0xffffffffffffffff in ???
Segmentation fault (core dumped)
 Tests for LANCELOT B complete

Build for Apple Silicon produces certain x86_64 binaries

Building standalone GALAHAD for Apple Silicon using the definitions provided in ARCHDefs and subsequently running

make -f /Users/dpo/dev/ralna/GALAHAD/makefiles/mac64.osx.gfo test_all_ciface

results in

 Exhaustive test of C function interface to sls
gfortran -O  -I/Users/dpo/dev/ralna/GALAHAD/modules/mac64.osx.gfo/double -fopenmp   -o run_sls \
                                                     /Users/dpo/dev/ralna/GALAHAD/objects/mac64.osx.gfo/double/slsct.o -L/Users/dpo/dev/ralna/GALAHAD/objects/mac64.osx.gfo/double -lgalahad_c -lgalahad_hsl_c -lgalahad -lgalahad_hsl -lgalahad_spral -lgalahad_mkl_pardiso -lgalahad_pardiso -lgalahad_wsmp -lgalahad_metis -lgalahad_lapack -lgalahad_blas
ld: warning: ignoring file /Users/dpo/dev/ralna/GALAHAD/objects/mac64.osx.gfo/double/slsct.o, building for macOS-arm64 but attempting to link with file built for unknown-x86_64
Undefined symbols for architecture arm64:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture arm64
collect2: error: ld returned 1 exit status
make[1]: *** [slscdt] Error 1
make: *** [test_all_ciface_double] Error 2

Error in trus4.f90

[857/857] Linking target trus4
FAILED: trus4 
gfortran  -o trus4 trus4.p/src_tru_trus4.f90.o -Wl,--as-needed -Wl,--no-undefined '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/alexis/Bureau/git/GALAHAD/builddir/ -Wl,--start-group libgalahad_double.so -Wl,--end-group
/usr/bin/ld : trus4.p/src_tru_trus4.f90.o : dans la fonction « MAIN__ » :
/home/alexis/Bureau/git/GALAHAD/builddir/../src/tru/trus4.f90:30 : référence indéfinie vers « tru_solve_reverse_without_h_ »
collect2: error: ld returned 1 exit status

Errors in bqpbs3

[645/646] Compiling Fortran object bqpbs3.p/src_bqpb_bqpbs3.f90.o
FAILED: bqpbs3.p/src_bqpb_bqpbs3.f90.o 
gfortran -Ibqpbs3.p -I. -I.. -Ilibgalahad_double.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -Jbqpbs3.p -o bqpbs3.p/src_bqpb_bqpbs3.f90.o -c ../src/bqpb/bqpbs3.f90
../src/bqpb/bqpbs3.f90:8:30:

    8 |    TYPE ( BQPB_reverse_type ) :: reverse
      |                              1
Error: Derived type ‘bqpb_reverse_type’ at (1) is being used before it is defined
../src/bqpb/bqpbs3.f90:12:34:

   12 |    TYPE ( GALAHAD_userdata_type ) :: userdata
      |                                  1
Error: Derived type ‘galahad_userdata_type’ at (1) is being used before it is defined
../src/bqpb/bqpbs3.f90:22:23:

   22 |    ALLOCATE( userdata%integer( len_integer ), userdata%real( len_real ) )
      |                       1
Error: Symbol ‘userdata’ at (1) has no IMPLICIT type
../src/bqpb/bqpbs3.f90:31:13:

   31 |    userdata%integer( st_ptr + 1 : st_ptr + n + 1 ) = (/ 1, 3, 5, 6 /)
      |             1
Error: Symbol ‘userdata’ at (1) has no IMPLICIT type
../src/bqpb/bqpbs3.f90:32:13:

   32 |    userdata%integer( st_row + 1 : st_row + h_all ) = (/ 1, 2, 1, 2, 3 /)
      |             1
Error: Symbol ‘userdata’ at (1) has no IMPLICIT type
../src/bqpb/bqpbs3.f90:33:13:

   33 |    userdata%real( st_val + 1 : st_val + h_all )                                &
      |             1
Error: Symbol ‘userdata’ at (1) has no IMPLICIT type
../src/bqpb/bqpbs3.f90:42:13:

   42 |    userdata%integer( 1 ) = n
      |             1
Error: Symbol ‘userdata’ at (1) has no IMPLICIT type
../src/bqpb/bqpbs3.f90:43:13:

   43 |    userdata%integer( nflag ) = 0
      |             1
Error: Symbol ‘userdata’ at (1) has no IMPLICIT type
../src/bqpb/bqpbs3.f90:44:13:

   44 |    userdata%integer( st_flag + 1 : st_flag + n ) = 0
      |             1
Error: Symbol ‘userdata’ at (1) has no IMPLICIT type
../src/bqpb/bqpbs3.f90:58:25:

   58 |    DEALLOCATE( userdata%integer, userdata%real )
      |                         1
Error: Symbol ‘userdata’ at (1) has no IMPLICIT type
../src/bqpb/bqpbs3.f90:46:63:

   46 |    CALL BQPB_solve( p,  B_stat, data, control, inform, userdata,               &
      |                                                               1
Error: Symbol ‘userdata’ at (1) has no IMPLICIT type; did you mean ‘data’?
ninja: build stopped: subcommand failed.

Error with dlpt in single precision

In single precision, dlpt wants the double precision mod file.

[626/982] Compiling Fortran object dlpt_c_single.p/src_dlp_dlpt.F90.o
FAILED: dlpt_c_single.p/src_dlp_dlpt.F90.o 
gfortran -Idlpt_c_single.p -I. -I.. -I../include -Ilibgalahad_single.so.p -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -g -Jdlpt_c_single.p -o dlpt_c_single.p/src_dlp_dlpt.F90.o -c ../src/dlp/dlpt.F90
../src/dlp/dlpt.F90:5:8:

    5 |    USE GALAHAD_DLP_precision
      |        1
Fatal Error: Cannot open module file ‘galahad_dlp_double.mod’ for reading at (1): Aucun fichier ou dossier de ce type
compilation terminated.
****

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.