Closed AshyIsMe closed 2 years ago
@AshyIsMe thank you for the bug report.
For reference, these are the lines fpm.F90:7128-fpm.F90:7130
list=[ list(:place-1)]
else
list=[ list(:place-1), list(place+1:) ]
I believe something has changed in openbsd version 7.0, since install.sh worked in my openbsd-6.9. I'll try to update my openbsd vm.
Just a quick note on swapping between gfortran 8.4 and 11.2 on OpenBSD 7.0 snapshots:
I had to do an extra step to cleanup after uninstalling a particular version:
$ doas pkg_delete g95
$ doas pkg_delete -a # Removes any dependencies that are no longer needed
If I did not do the pkg_delete -a
then I was unable to install the other version of g95
due to dependency clashes.
Thanks for the cleanup instructions.
Now it works for me on OpenBSD 7.0 with gcc-11.2.0:
git clone https://github.com/fortran-lang/fpm.git
cd fpm
FC=egfortran ./install.sh
Hmm, I still have the same behavior on my OpenBSD machine.
doas sysupgrade
says I'm still on the latest snapshot and I can't see any new commits on the fpm repo.
Is there a change you made that's missing from the repo?
I had to run pkg_delete gcc-libs-8.4.0p6
. I think my fpm/build
directory was in invalid state with some files built with gcc-8, and others built with gcc-11, so I removed everything and started again in a clean directory.
Hmm, by default with a fresh clone and install I still see the same ldconfig error.
But as per your note on irc the other day, using -static
does successfully build and install.
Any ideas why -static
would be required?
Interestiingly, when fpm is built like this I also get linker errors when trying to build a small test project https://github.com/AshyIsMe/flox unless I pass in fpm run --flag -static
Successful build with static option:
$ FC=egfortran FFLAGS=-static ./install.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 621 100 621 0 0 4193 0 --:--:-- --:--:-- --:--:-- 4253
100 826k 100 826k 0 0 1878k 0 --:--:-- --:--:-- --:--:-- 1878k
+ mkdir -p build/dependencies
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in /home/aaron/tmp/fpm/build/dependencies/toml-f/.git/
remote: Enumerating objects: 115, done.
remote: Counting objects: 100% (115/115), done.
remote: Compressing objects: 100% (104/104), done.
remote: Total 115 (delta 27), reused 47 (delta 8), pack-reused 0
Receiving objects: 100% (115/115), 105.17 KiB | 595.00 KiB/s, done.
Resolving deltas: 100% (27/27), done.
From https://github.com/toml-f/toml-f
* branch 2f5eaba864ff630ba0c3791126a3f811b6e437f3 -> FETCH_HEAD
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in /home/aaron/tmp/fpm/build/dependencies/M_CLI2/.git/
remote: Enumerating objects: 191, done.
remote: Counting objects: 100% (191/191), done.
remote: Compressing objects: 100% (110/110), done.
remote: Total 191 (delta 93), reused 156 (delta 80), pack-reused 0
Receiving objects: 100% (191/191), 1.08 MiB | 1.41 MiB/s, done.
Resolving deltas: 100% (93/93), done.
From https://github.com/urbanjost/M_CLI2
* branch ea6bbffc1c2fb0885e994d37ccf0029c99b19f24 -> FETCH_HEAD
+ mkdir -p build/egfortran_5B763526CFC63AF4/fpm
+ egfortran -c ././src/filesystem_utilities.c -o build/egfortran_5B763526CFC63AF4/fpm/src_filesystem_utilities.c.o
+ egfortran -c ././src/fpm_strings.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_strings.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/constants.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_constants.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/version.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_version.f90.o
+ egfortran -c build/dependencies/M_CLI2/src/M_CLI2.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_M_CLI2_src_M_CLI2.f90.o
+ egfortran -c ././src/fpm/error.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_error.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/datetime.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_datetime.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/error.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_error.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/utils/verify.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_utils_verify.f90.o
+ egfortran -c test/fpm_test/testsuite.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_testsuite.f90.o
+ egfortran -c ././src/fpm_environment.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_environment.f90.o
+ egfortran -c ././src/fpm_os.F90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_os.F90.o
+ egfortran -c ././src/fpm/versioning.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_versioning.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/utils/convert.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_utils_convert.f90.o
+ egfortran -c test/fpm_test/test_versioning.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_versioning.f90.o
+ egfortran -c ././src/fpm_filesystem.F90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_filesystem.F90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/utils.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_utils.f90.o
+ egfortran -c test/fpm_test/test_filesystem.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_filesystem.f90.o
+ egfortran -c test/help_test/help_test.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_help_test_help_test.f90.o
+ egfortran -c test/new_test/new_test.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_new_test_new_test.f90.o
+ egfortran -c ././src/fpm_command_line.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_command_line.f90.o
+ egfortran -c ././src/fpm_compiler.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_compiler.f90.o
+ egfortran -c ././src/fpm/git.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_git.f90.o
+ egfortran -c ././src/fpm/installer.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_installer.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/type/value.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_type_value.f90.o
+ egfortran -c test/fpm_test/test_installer.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_installer.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/structure/base.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_structure_base.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/type/keyval.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_type_keyval.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/structure/vector.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_structure_vector.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/structure.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_structure.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/type/array.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_type_array.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/type/table.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_type_table.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/type.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_type.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/ser.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_ser.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/build/keyval.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_build_keyval.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/build/merge.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_build_merge.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/de/tokenizer.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_de_tokenizer.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/build/array.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_build_array.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/build/table.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_build_table.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/de/character.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_de_character.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/build.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_build.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/de.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_de.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf.f90.o
+ egfortran -c build/dependencies/toml-f/src/tomlf/all.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_all.f90.o
+ egfortran -c ././src/fpm/toml.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_toml.f90.o
+ egfortran -c test/fpm_test/test_toml.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_toml.f90.o
+ egfortran -c ././src/fpm/manifest/build.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_build.f90.o
+ egfortran -c ././src/fpm/manifest/dependency.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_dependency.f90.o
+ egfortran -c ././src/fpm/manifest/install.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_install.f90.o
+ egfortran -c ././src/fpm/manifest/library.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_library.f90.o
+ egfortran -c ././src/fpm/manifest/executable.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_executable.f90.o
+ egfortran -c ././src/fpm/manifest/example.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_example.f90.o
+ egfortran -c ././src/fpm/manifest/test.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_test.f90.o
+ egfortran -c ././src/fpm/manifest/package.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_package.f90.o
+ egfortran -c ././src/fpm/manifest.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest.f90.o
+ egfortran -c ././src/fpm/cmd/new.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_cmd_new.f90.o
+ egfortran -c test/fpm_test/test_manifest.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_manifest.f90.o
+ egfortran -c ././src/fpm/dependency.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_dependency.f90.o
+ egfortran -c test/fpm_test/test_package_dependencies.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_package_dependencies.f90.o
+ egfortran -c ././src/fpm_model.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_model.f90.o
+ egfortran -c ././src/fpm/cmd/update.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_cmd_update.f90.o
+ egfortran -c ././src/fpm_source_parsing.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_source_parsing.f90.o
+ egfortran -c ././src/fpm_targets.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_targets.f90.o
+ egfortran -c test/fpm_test/test_source_parsing.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_source_parsing.f90.o
+ egfortran -c ././src/fpm_backend.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_backend.f90.o
+ egfortran -c ././src/fpm_sources.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_sources.f90.o
+ egfortran -c ././src/fpm.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm.f90.o
+ egfortran -c test/fpm_test/test_module_dependencies.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_module_dependencies.f90.o
+ egfortran -c ././src/fpm/cmd/install.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_cmd_install.f90.o
+ ar -rs build/egfortran_5B763526CFC63AF4/fpm/libfpm.a build/egfortran_5B763526CFC63AF4/fpm/src_filesystem_utilities.c.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_backend.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_command_line.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_compiler.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_environment.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_filesystem.F90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_model.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_os.F90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_source_parsing.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_sources.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_strings.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_targets.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_dependency.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_error.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_git.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_installer.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_toml.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_versioning.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_cmd_install.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_cmd_new.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_cmd_update.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_build.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_dependency.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_example.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_executable.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_install.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_library.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_package.f90.o build/egfortran_5B763526CFC63AF4/fpm/src_fpm_manifest_test.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_all.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_build.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_constants.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_datetime.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_de.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_error.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_ser.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_structure.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_type.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_utils.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_version.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_build_array.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_build_keyval.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_build_merge.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_build_table.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_de_character.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_de_tokenizer.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_structure_base.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_structure_vector.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_type_array.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_type_keyval.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_type_table.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_type_value.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_utils_convert.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_toml-f_src_tomlf_utils_verify.f90.o build/egfortran_5B763526CFC63AF4/fpm/build_dependencies_M_CLI2_src_M_CLI2.f90.o
ar: creating build/egfortran_5B763526CFC63AF4/fpm/libfpm.a
+ egfortran -c app/main.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/app_main.f90.o
+ egfortran -c test/cli_test/cli_test.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_cli_test_cli_test.f90.o
+ egfortran -c test/fpm_test/test_backend.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_backend.f90.o
+ mkdir -p build/egfortran_5B763526CFC63AF4/app/
+ egfortran -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm build/egfortran_5B763526CFC63AF4/fpm/app_main.f90.o build/egfortran_5B763526CFC63AF4/fpm/libfpm.a -o build/egfortran_5B763526CFC63AF4/app/fpm
+ mkdir -p build/egfortran_5B763526CFC63AF4/test/
+ egfortran -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm build/egfortran_5B763526CFC63AF4/fpm/test_cli_test_cli_test.f90.o build/egfortran_5B763526CFC63AF4/fpm/libfpm.a -o build/egfortran_5B763526CFC63AF4/test/cli-test
+ egfortran -c test/fpm_test/main.f90 -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm -o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_main.f90.o
+ egfortran -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm build/egfortran_5B763526CFC63AF4/fpm/test_help_test_help_test.f90.o build/egfortran_5B763526CFC63AF4/fpm/libfpm.a -o build/egfortran_5B763526CFC63AF4/test/help-test
+ egfortran -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm build/egfortran_5B763526CFC63AF4/fpm/test_new_test_new_test.f90.o build/egfortran_5B763526CFC63AF4/fpm/libfpm.a -o build/egfortran_5B763526CFC63AF4/test/new-test
+ egfortran -static -J build/egfortran_5B763526CFC63AF4/fpm -I build/egfortran_5B763526CFC63AF4/fpm build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_main.f90.o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_testsuite.f90.o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_toml.f90.o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_manifest.f90.o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_filesystem.f90.o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_source_parsing.f90.o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_module_dependencies.f90.o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_package_dependencies.f90.o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_backend.f90.o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_installer.f90.o build/egfortran_5B763526CFC63AF4/fpm/test_fpm_test_test_versioning.f90.o build/egfortran_5B763526CFC63AF4/fpm/libfpm.a -o build/egfortran_5B763526CFC63AF4/test/fpm-test
# Update: build/egfortran_5B763526CFC63AF4/app/fpm -> /home/aaron/.local/bin
$
Error log without static
(Note: I had run doas pkg_delete -a
before running the below)
$ egfortran --version
GNU Fortran (GCC) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ git clone https://github.com/fortran-lang/fpm
Cloning into 'fpm'...
remote: Enumerating objects: 25639, done.
remote: Counting objects: 100% (10143/10143), done.
remote: Compressing objects: 100% (702/702), done.
remote: Total 25639 (delta 9458), reused 10025 (delta 9390), pack-reused 15496
Receiving objects: 100% (25639/25639), 8.05 MiB | 2.83 MiB/s, done.
Resolving deltas: 100% (22457/22457), done.
$ cd fpm
$ FC=egfortran ./install.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 621 100 621 0 0 1605 0 --:--:-- --:--:-- --:--:-- 1612
100 826k 100 826k 0 0 894k 0 --:--:-- --:--:-- --:--:-- 894k
ld: error: undefined symbol: _gfortran_os_error_at
>>> referenced by fpm.F90:7128 (build/bootstrap/fpm.F90:7128)
>>> /tmp//ccOMmdSJ.o:(__m_cli2_MOD_remove_l)
>>> referenced by fpm.F90:7130 (build/bootstrap/fpm.F90:7130)
>>> /tmp//ccOMmdSJ.o:(__m_cli2_MOD_remove_l)
>>> referenced by fpm.F90:7130 (build/bootstrap/fpm.F90:7130)
>>> /tmp//ccOMmdSJ.o:(__m_cli2_MOD_remove_l)
>>> referenced 254 more times
collect2: error: ld returned 1 exit status
$
Any ideas why
-static
would be required?
I believe there's libgfortran.so
shared library from the old installation (gcc-8) in /usr/local/lib
, and when you use -static
, the linker uses libgfortran.a
from gcc-11.
I'd check the file times, they should be equal:
# ls -l /usr/local/lib/libgfortran*
-rw-r--r-- 1 root bin 14044376 Aug 30 08:04 /usr/local/lib/libgfortran.a
-rwxr-xr-x 1 root bin 985 Aug 30 08:04 /usr/local/lib/libgfortran.la
-rw-r--r-- 1 root bin 6694400 Aug 30 08:04 /usr/local/lib/libgfortran.so.9.0
-rw-r--r-- 1 root bin 269 Aug 30 08:04 /usr/local/lib/libgfortran.spec
If the file times are different, I'd remove and reinstall g95
and gcc-libs-
. I've tried again in another clean directory, and it works in my openbsd. I don't need to add -static
to the command line.
Thanks you were right. It's building for me now too without -static
.
fpm currently fails to build on OpenBSD 7.0 snapshot.
Some details about the machine: