libprima / prima

PRIMA is a package for solving general nonlinear optimization problems without using derivatives. It provides the reference implementation for Powell's derivative-free optimization methods, i.e., COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA. PRIMA means Reference Implementation for Powell's methods with Modernization and Amelioration, P for Powell.
http://libprima.net
BSD 3-Clause "New" or "Revised" License
291 stars 35 forks source link

The examples in README do not work anymore after merging https://github.com/libprima/prima/pull/105 #107

Closed zaikunzhang closed 8 months ago

zaikunzhang commented 8 months ago

This is what I got:

z$ git clone --depth 1 https://github.com/libprima/prima.git
cd prima
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=install
cmake --build build --target install
Cloning into 'prima'...
remote: Enumerating objects: 942, done.
remote: Counting objects: 100% (942/942), done.
remote: Compressing objects: 100% (752/752), done.
remote: Total 942 (delta 441), reused 458 (delta 173), pack-reused 0
Receiving objects: 100% (942/942), 6.24 MiB | 2.10 MiB/s, done.
Resolving deltas: 100% (441/441), done.
-- The Fortran compiler identification is GNU 11.4.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /usr/bin/f95 - skipped
-- Performing Test HAVE_WARN_EXECSTACK
-- Performing Test HAVE_WARN_EXECSTACK - Failed
-- The C compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zaikunzhang/tmp/prima/build
Scanning dependencies of target primaf
[  1%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/consts.F90.o
[  3%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/infos.f90.o
[  4%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/debug.F90.o
[  6%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/huge.F90.o
[  7%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/inf.F90.o
[  9%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/infnan.F90.o
[ 10%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/checkexit.f90.o
[ 12%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/memory.F90.o
[ 14%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/string.f90.o
[ 15%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/linalg.f90.o
[ 17%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/pintrf.f90.o
[ 18%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/evaluate.f90.o
[ 20%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/powalg.f90.o
[ 21%] Building Fortran object fortran/CMakeFiles/primaf.dir/bobyqa/geometry.f90.o
[ 23%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/history.f90.o
[ 25%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/fprint.f90.o
[ 26%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/message.f90.o
[ 28%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/xinbd.f90.o
[ 29%] Building Fortran object fortran/CMakeFiles/primaf.dir/bobyqa/initialize.f90.o
[ 31%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/ratio.f90.o
[ 32%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/redrho.f90.o
[ 34%] Building Fortran object fortran/CMakeFiles/primaf.dir/bobyqa/rescue.f90.o
[ 35%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/shiftbase.f90.o
[ 37%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/univar.f90.o
[ 39%] Building Fortran object fortran/CMakeFiles/primaf.dir/bobyqa/trustregion.f90.o
[ 40%] Building Fortran object fortran/CMakeFiles/primaf.dir/bobyqa/update.f90.o
[ 42%] Building Fortran object fortran/CMakeFiles/primaf.dir/bobyqa/bobyqb.f90.o
[ 43%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/preproc.f90.o
[ 45%] Building Fortran object fortran/CMakeFiles/primaf.dir/bobyqa/bobyqa.f90.o
[ 46%] Building Fortran object fortran/CMakeFiles/primaf.dir/cobyla/geometry.f90.o
[ 48%] Building Fortran object fortran/CMakeFiles/primaf.dir/common/selectx.f90.o
[ 50%] Building Fortran object fortran/CMakeFiles/primaf.dir/cobyla/initialize.f90.o
[ 51%] Building Fortran object fortran/CMakeFiles/primaf.dir/cobyla/trustregion.f90.o
[ 53%] Building Fortran object fortran/CMakeFiles/primaf.dir/cobyla/update.f90.o
[ 54%] Building Fortran object fortran/CMakeFiles/primaf.dir/cobyla/cobylb.f90.o
[ 56%] Building Fortran object fortran/CMakeFiles/primaf.dir/cobyla/cobyla.f90.o
[ 57%] Building Fortran object fortran/CMakeFiles/primaf.dir/lincoa/geometry.f90.o
[ 59%] Building Fortran object fortran/CMakeFiles/primaf.dir/lincoa/getact.f90.o
[ 60%] Building Fortran object fortran/CMakeFiles/primaf.dir/lincoa/initialize.f90.o
[ 62%] Building Fortran object fortran/CMakeFiles/primaf.dir/lincoa/trustregion.f90.o
[ 64%] Building Fortran object fortran/CMakeFiles/primaf.dir/lincoa/update.f90.o
[ 65%] Building Fortran object fortran/CMakeFiles/primaf.dir/lincoa/lincob.f90.o
[ 67%] Building Fortran object fortran/CMakeFiles/primaf.dir/lincoa/lincoa.f90.o
[ 68%] Building Fortran object fortran/CMakeFiles/primaf.dir/newuoa/geometry.f90.o
[ 70%] Building Fortran object fortran/CMakeFiles/primaf.dir/newuoa/initialize.f90.o
[ 71%] Building Fortran object fortran/CMakeFiles/primaf.dir/newuoa/trustregion.f90.o
[ 73%] Building Fortran object fortran/CMakeFiles/primaf.dir/newuoa/update.f90.o
[ 75%] Building Fortran object fortran/CMakeFiles/primaf.dir/newuoa/newuob.f90.o
[ 76%] Building Fortran object fortran/CMakeFiles/primaf.dir/newuoa/newuoa.f90.o
[ 78%] Building Fortran object fortran/CMakeFiles/primaf.dir/uobyqa/geometry.f90.o
[ 79%] Building Fortran object fortran/CMakeFiles/primaf.dir/uobyqa/initialize.f90.o
[ 81%] Building Fortran object fortran/CMakeFiles/primaf.dir/uobyqa/trustregion.f90.o
[ 82%] Building Fortran object fortran/CMakeFiles/primaf.dir/uobyqa/update.f90.o
[ 84%] Building Fortran object fortran/CMakeFiles/primaf.dir/uobyqa/uobyqb.f90.o
[ 85%] Building Fortran object fortran/CMakeFiles/primaf.dir/uobyqa/uobyqa.f90.o
[ 87%] Linking Fortran shared library libprimaf.so
[ 87%] Built target primaf
Scanning dependencies of target primac
[ 89%] Building Fortran object c/CMakeFiles/primac.dir/cintrf.f90.o
[ 90%] Building Fortran object c/CMakeFiles/primac.dir/bobyqa_c.f90.o
[ 92%] Building Fortran object c/CMakeFiles/primac.dir/cobyla_c.f90.o
[ 93%] Building Fortran object c/CMakeFiles/primac.dir/lincoa_c.f90.o
[ 95%] Building Fortran object c/CMakeFiles/primac.dir/newuoa_c.f90.o
[ 96%] Building Fortran object c/CMakeFiles/primac.dir/uobyqa_c.f90.o
[ 98%] Building C object c/CMakeFiles/primac.dir/prima.c.o
[100%] Linking Fortran shared library libprimac.so
[100%] Built target primac
Install the project...
-- Install configuration: "Release"
-- Installing: /home/zaikunzhang/tmp/prima/install/lib/libprimaf.so
-- Installing: /home/zaikunzhang/tmp/prima/install/lib/libprimac.so
-- Set runtime path of "/home/zaikunzhang/tmp/prima/install/lib/libprimac.so" to ""
-- Installing: /home/zaikunzhang/tmp/prima/install/lib/cmake/prima/prima-targets.cmake
-- Installing: /home/zaikunzhang/tmp/prima/install/lib/cmake/prima/prima-targets-release.cmake
-- Installing: /home/zaikunzhang/tmp/prima/install/lib/cmake/prima/prima-config.cmake
-- Installing: /home/zaikunzhang/tmp/prima/install/lib/cmake/prima/prima-config-version.cmake
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/bobyqb_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/huge_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/initialize_lincoa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/inf_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/uobyqb_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/consts_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/history_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/update_lincoa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/fprint_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/lincob_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/preproc_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/update_bobyqa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/trustregion_uobyqa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/debug_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/infos_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/redrho_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/update_newuoa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/cobyla_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/update_uobyqa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/geometry_lincoa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/trustregion_cobyla_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/univar_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/message_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/evaluate_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/newuob_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/xinbd_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/initialize_uobyqa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/string_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/selectx_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/bobyqa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/initialize_cobyla_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/geometry_bobyqa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/memory_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/cobylb_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/shiftbase_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/initialize_bobyqa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/linalg_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/geometry_newuoa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/update_cobyla_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/trustregion_newuoa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/uobyqa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/geometry_cobyla_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/newuoa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/infnan_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/trustregion_bobyqa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/trustregion_lincoa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/checkexit_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/ratio_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/pintrf_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/rescue_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/lincoa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/getact_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/initialize_newuoa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/geometry_uobyqa_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/mod/powalg_mod.mod
-- Installing: /home/zaikunzhang/tmp/prima/install/include/prima/prima.h
z$ cd c/examples/cobyla
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=install -DPRIMA_DIR=$PWD/../../../install/lib/cmake/prima/
cmake --build build --target install
./install/bin/cobyla_example
-- The C compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zaikunzhang/tmp/prima/c/examples/cobyla/build
[ 50%] Building C object CMakeFiles/cobyla_example.dir/cobyla_example.c.o
[100%] Linking C executable cobyla_example
[100%] Built target cobyla_example
Install the project...
-- Install configuration: ""
-- Installing: /home/zaikunzhang/tmp/prima/c/examples/cobyla/install/bin/cobyla_example
-- Set runtime path of "/home/zaikunzhang/tmp/prima/c/examples/cobyla/install/bin/cobyla_example" to ""
./install/bin/cobyla_example: error while loading shared libraries: libprimac.so: cannot open shared object file: No such file or directory
z$ cd fortran/examples/cobyla
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=install -DPRIMA_DIR=$PWD/../../../install/lib/cmake/prima/
cmake --build build --target install
./install/bin/cobyla_example
-- The Fortran compiler identification is GNU 11.4.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /usr/bin/f95 - skipped
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zaikunzhang/tmp/prima/fortran/examples/cobyla/build
Scanning dependencies of target cobyla_example
[ 50%] Building Fortran object CMakeFiles/cobyla_example.dir/cobyla_example.f90.o
[100%] Linking Fortran executable cobyla_example
[100%] Built target cobyla_example
Install the project...
-- Install configuration: ""
-- Installing: /home/zaikunzhang/tmp/prima/fortran/examples/cobyla/install/bin/cobyla_example
-- Set runtime path of "/home/zaikunzhang/tmp/prima/fortran/examples/cobyla/install/bin/cobyla_example" to ""
./install/bin/cobyla_example: error while loading shared libraries: libprimaf.so: cannot open shared object file: No such file or directory