fortran-lang / fpm

Fortran Package Manager (fpm)
https://fpm.fortran-lang.org
MIT License
859 stars 97 forks source link

fpm fails to build on OpenBSD 7.0 snapshot #550

Closed AshyIsMe closed 2 years ago

AshyIsMe commented 2 years ago

fpm currently fails to build on OpenBSD 7.0 snapshot.

$ cd fpm
$ git log | head -n 1
commit 04da9a1ce99e8fce1abdb7eb9a2073f3188038ea
$ ./install.sh                                                                                           
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   621  100   621    0     0   1657      0 --:--:-- --:--:-- --:--:--  1664
100  826k  100  826k    0     0   840k      0 --:--:-- --:--:-- --:--:-- 3179k
./install.sh[67]: gfortran: not found
puffy-lemur$ 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   5727      0 --:--:-- --:--:-- --:--:--  5858
100  826k  100  826k    0     0  1591k      0 --:--:-- --:--:-- --:--:-- 1591k
ld: error: undefined symbol: _gfortran_os_error_at
>>> referenced by fpm.F90:7128 (build/bootstrap/fpm.F90:7128)
>>>               /tmp//ccqdV7RO.o:(__m_cli2_MOD_remove_l)
>>> referenced by fpm.F90:7130 (build/bootstrap/fpm.F90:7130)
>>>               /tmp//ccqdV7RO.o:(__m_cli2_MOD_remove_l)
>>> referenced by fpm.F90:7130 (build/bootstrap/fpm.F90:7130)
>>>               /tmp//ccqdV7RO.o:(__m_cli2_MOD_remove_l)
>>> referenced 254 more times
collect2: error: ld returned 1 exit status

Some details about the machine:

$ uname -a
OpenBSD puffy-lemur.lowtech.earth 7.0 GENERIC.MP#195 amd64

$ pkg_info
ImageMagick-6.9.12.19 image processing tools
accountsservice-0.6.42p0 D-Bus interface for user account query and manipulation
adobe-source-code-pro-2.030p0 monospaced OpenType fonts designed for coding environments
adwaita-icon-theme-40.1.1 base icon theme for GNOME
amtk-5.2.0          Actions, Menus and Toolbars Kit
anthy-9100hp2       japanese input method
aom-3.1.2           Alliance for Open Media AV1 video codec
aspell-0.60.6.1p10  spell checker designed to eventually replace Ispell
at-spi2-atk-2.38.0  atk-bridge for at-spi2
at-spi2-core-2.40.3 service interface for assistive technologies
atk-2.36.0          accessibility toolkit used by gtk+
atk2mm-2.28.2       C++ binding for the ATK library
avahi-0.8p0         framework for Multicast DNS Service Discovery
babl-0.1.88         dynamic pixel format conversion library
baobab-40.0         directory tree analyzer for GNOME
bash-5.1.8          GNU Bourne Again Shell
blas-3.8.0p0        Basic Linear Algebra Subprograms
boost-1.76.0p0      free peer-reviewed portable C++ source libraries
brotli-1.0.9p0      generic lossless compressor
bzip2-1.0.8p0       block-sorting file compressor, unencumbered
cairo-1.16.0        vector graphics library
cairomm-1.14.3      C++ interface for cairo
cantarell-fonts-0.301 humanist sans-serif font family
caribou-0.4.21p6    input assistive technology
caribou-gtk2-0.4.21 caribou module for GTK2
cdparanoia-3.a9.8p4 CDDA reading utility with extra data verification features
cdrtools-3.00p1     ISO 9660 filesystem and CD/DVD/BD creation tools
clisp-2.49p5        ANSI Common Lisp implementation
clucene-core-2.3.3.4p3 full-text search engine library
clutter-1.26.4p0    OpenGL-based interactive canvas library
clutter-gst-3.0.27p0 clutter GStreamer integration library
clutter-gtk-1.8.4p1 GTK+ widget for clutter
cogl-1.22.8p0       modern 3D graphics API
consolekit2-1.2.4   framework for defining and tracking users, sessions & seats
cracklib-2.9.7      sensible unix password cracker
cups-libs-2.3.3.2p0 CUPS libraries and headers
cups-pk-helper-0.2.6p1 fine-grained privileges PolicyKit helper for CUPS
curl-7.78.0         transfer files with FTP, HTTP, HTTPS, etc.
cvsps-2.1p2         generate patchsets from CVS repositories
cyrus-sasl-2.1.27p2 RFC 2222 SASL (Simple Authentication and Security Layer)
dav1d-0.9.1         small and fast AV1 decoder
db-4.6.21p7v0       Berkeley DB package, revision 4
dbus-1.12.20p0v0    message bus system
dbus-daemon-launch-helper-1.12.20p0 DBus setuid helper for starting system services
dbus-glib-0.112v0   glib bindings for dbus message system
dconf-0.40.0        configuration backend system
dconf-editor-3.38.3 graphical dconf(1) editor
desktop-file-utils-0.26 utilities for dot.desktop entries
detex-2.8.1         strip TeX/LaTeX codes from a file
devhelp-40.0        API documentation browser for GNOME
djvulibre-3.5.27p6  view, decode and encode DjVu files
dleyna-connector-dbus-0.4.0 dLeyna dbus connector
dleyna-core-0.7.0   dLeyna utility functions library
dleyna-renderer-0.7.0 service for interacting with DMRs
dleyna-server-0.7.0 service for interacting with DMSes
dotconf-1.3p0       simple, powerful configuration-file parser
dvi2tty-5.3.1p0     converts .dvi files to plain text
e2fsprogs-1.46.2p0  utilities to manipulate ext2 filesystems
ectags-5.8p5        multilanguage implementation of ctags
emacs-27.2p1-gtk3   GNU editor: extensible, customizable, self-documenting
enchant2-2.3.1      generic spell checking library
eog-40.3            Eye of GNOME, image viewing and cataloging program
epiphany-40.3       GNOME web browser based on webkit
epoll-shim-0.0.20210418 small epoll implementation using kqueue
espeak-1.48.04p1    compact speech synthesizer
evince-40.4         GNOME document viewer
evolution-3.40.4    integrated email and PIM software for GNOME
evolution-data-server-3.40.4 unified backend for PIM programs
exempi-2.2.1p2      implementation of XMP
exiv2-0.27.3v0      image metadata manipulation
ffcall-1.10p5       foreign function call libraries
ffmpeg-4.4p3v1      audio/video converter and streamer
fftw3-3.3.8p1       C routines for computing the Discrete Fourier Transform
fftw3-common-3.3.8p1 common files for the fftw3 packages
file-roller-3.40.0  archive manager utility for GNOME
firefox-91.0.1      Firefox web browser
flac-1.3.3p0        free lossless audio codec
folks-0.15.3        people aggregation library
freerdp-2.4.0       client for Microsoft RDP (remote desktop protocol)
fribidi-1.0.10      library implementing the Unicode Bidirectional Algorithm
fzf-0.24.1p2        command-line fuzzy finder
g95-11.2.0p0        GNU compiler collection: f95 compiler
gamin-0.1.10p25     file and directory monitoring system
gcc-11.2.0p0        GNU compiler collection: core C compiler
gcc-libs-8.4.0p9    GNU compiler collection: support libs
gcpio-2.13p1        GNU cpio copies files to and from archives
gcr-3.40.0          library for bits of crypto UI and parsing
gd-2.3.2            library for dynamic creation of images
gdbm-1.19           GNU dbm
gdk-pixbuf-2.42.6   image data transformation library
gdm-40.0p4          GNOME display manager
gedit-40.1          lightweight GNOME text editor
gegl04-0.4.30p1     graph based image processing framework (API version 0.4)
geoclue2-2.4.13     modular geoinformation service on top of D-Bus
geocode-glib-3.26.2 convenience library for the geocoding
gettext-runtime-0.21p1 GNU gettext runtime libraries and programs
ggrep-3.7           GNU versions of grep pattern matching utilities
ghostscript-9.07p7  GNU PostScript interpreter
ghostscript-fonts-8.11p3 35 standard PostScript fonts with Adobe name aliases
giflib-5.1.6        tools and library routines for working with GIF images
git-2.32.0          distributed version control system
gjs-1.68.3          Javascript bindings for GNOME
glade-3.38.2        user interface builder for the gtk+3 toolkit
glew-2.2.0          GL Extension Wrangler library
glib2-2.68.4        general-purpose utility library
glib2-networking-2.68.2 network-related gio modules for GLib
glib2mm-2.66.1      C++ interface for glib2
glm-0.9.8.5         C++ mathematics header-only library for OpenGL software
gmp-6.2.1           library for arbitrary precision arithmetic
gnome-40.4          GNOME desktop meta-package (core installation)
gnome-autoar-0.4.0  GLib wrapper around libarchive
gnome-backgrounds-40.1 wallpapers for GNOME
gnome-books-40.0    document and e-books manager for GNOME
gnome-builder-3.40.2p2 IDE for GNOME
gnome-calculator-40.1p0 GNOME desktop calculator
gnome-calendar-40.2 GNOME calendar
gnome-characters-40.0p0 GNOME utility to insert unusual characters
gnome-clocks-40.0   clock application for GNOME
gnome-connections-40.0.1 remote desktop client for GNOME
gnome-contacts-40.0 contacts manager for GNOME
gnome-control-center-40.0 GNOME settings
gnome-desktop-40.4  components for the GNOME desktop
gnome-devel-docs-40.3 developer documentation for GNOME
gnome-dictionary-40.0 GNOME dictionary application
gnome-documents-3.34.0p0 document manager application for GNOME
gnome-epub-thumbnailer-1.6 thumbnailer for EPub and MOBI books
gnome-extras-40.4   GNOME desktop meta-package (world installation)
gnome-font-viewer-40.0 font viewer for GNOME
gnome-icon-theme-3.12.0p5 base icon theme for GNOME
gnome-icon-theme-symbolic-3.12.0p3 base icon theme extension for special UI contexts
gnome-initial-setup-40.4 initial-setup firstboot-like tool
gnome-keyring-40.0  password agent for the GNOME project
gnome-maps-40.4     map application for GNOME
gnome-menus-3.36.0  implementation of the FreeDesktop Desktop Menu Spec
gnome-music-40.1.1  GNOME music playing application
gnome-notes-40.1p1  simple note editor
gnome-online-accounts-3.40.0 interfaces for interacting with online accounts
gnome-online-miners-3.34.0p1 crawls through your online content
gnome-photos-40.0   access, organize and share your photos on GNOME
gnome-screenshot-40.0 screenshot application for GNOME
gnome-session-40.1.1 GNOME session
gnome-settings-daemon-40.0.1 GNOME settings daemon
gnome-shell-40.3    next generation GNOME shell
gnome-shell-extensions-40.3 collection of extensions for GNOME Shell
gnome-system-monitor-40.1 sytem monitor for GNOME
gnome-terminal-3.40.3 GNOME terminal
gnome-themes-extra-3.28p2 extra themes for GNOME applications
gnome-todo-40.1     simple task management application
gnome-tour-40.0     GNOME's Tour & Greeter
gnome-tweaks-40.0p0 customize advanced GNOME 3 options
gnome-usage-3.38.1  system resources status
gnome-user-docs-40.4 general user documentation for GNOME
gnome-weather-40.1  weather application for GNOME
gnupg-2.2.29        GNU privacy guard - a free PGP replacement
gnutls-3.7.2        GNU Transport Layer Security library
gobject-introspection-1.68.0 GObject Introspection
graphene-1.10.6     thin layer of graphic data types
graphite2-1.3.14    rendering for complex writing systems
grilo-0.3.13        framework for making media discovery and browsing easy
grilo-plugins-0.3.13 plugins for Grilo
gsettings-desktop-schemas-40.0 collection of shared GSettings schemas
gsm-1.0.19          GSM audio codec library and converter
gsound-1.0.3        GObject library for playing system sounds
gspell-1.8.4        spell-checking library for GTK+
gssdp-1.2.3         API for handling SSDP resource discovery and announcement
gstreamer1-1.18.4p0 framework for streaming media
gstreamer1-plugins-base-1.18.4 base elements for GStreamer
gstreamer1-plugins-good-1.18.4p0 good elements for GStreamer
gstreamer1-plugins-libav-1.18.4 ffmpeg elements for GStreamer
gtar-1.34           GNU version of the traditional tape archiver
gtk+2-2.24.33p0     multi-platform graphical toolkit
gtk+2-cups-2.24.33  gtk+2 CUPS print backend
gtk+3-3.24.30       multi-platform graphical toolkit
gtk+3-cups-3.24.30  gtk+3 CUPS print backend
gtk+4-4.2.1         multi-platform graphical toolkit
gtk-engines2-2.20.2p11 collection of theme engines for GTK+2
gtk-update-icon-cache-3.24.30 gtk+ icon theme caching utility
gtk-vnc-1.2.0       VNC viewer widget for GTK
gtk3mm-3.24.5       C++ interface for gtk3+
gtksourceview4-4.8.1p0 text widget that extends the GTK3 GtkTextView widget
gupnp-1.2.7         framework for creating UPnP devices and control points
gupnp-av-0.12.11p2  helpers for building A/V applications using GUPnP
gupnp-dlna-0.10.5p2 DLNA integration for GUPnP
gupnp-igd-1.2.0     library to handle UPnP IGD port mapping
gvfs-1.48.1         GNOME Virtual File System
gvfs-goa-1.48.1     GVFS volume monitor for gnome-online-account
gvfs-google-1.48.1  GVFS mount module for Google Drive
gvfs-smb-1.48.1     GVFS mount module for samba
harfbuzz-2.9.0      text shaping library
harfbuzz-icu-2.9.0  ICU support for libharfbuzz
heimdal-libs-7.7.0p1 Heimdal libraries and headers
hicolor-icon-theme-0.17 fallback theme of the icon theme specification
highlight-3.62      convert source code to markup formats
hunspell-1.7.0      spelling, stemming, morphological analysis and generation
hwdata-0.350        hardware identification and configuration data
hyphen-2.8.8        text hyphenation library
ibus-1.5.24p0       intelligent input bus framework
ibus-anthy-1.5.12p0 japanese input engine for ibus
ibus-gtk2-1.5.24    IBus IM module for GTK2
ibus-gtk4-1.5.24    IBus IM module for GTK4
icu4c-69.1v0        International Components for Unicode
ijs-0.35p3          raster image transmission library
inteldrm-firmware-20201218 firmware binary images for inteldrm(4) driver
iso-codes-4.5.0     lists of the country, language and currency iso names
iwx-firmware-20210512 firmware binary images for iwx(4) driver
jansson-2.13.1      library for manipulating JSON data
jasper-2.0.32       reference implementation of JPEG-2000
jbig2dec-0.11       decoder for JBIG2 monochrome hi-res image compression format
jbigkit-2.1         lossless image compression library, with lightweight version
jpeg-2.1.0v0        SIMD-accelerated JPEG codec replacement of libjpeg
json-glib-1.6.2     JSON parser for GLib-based libraries and applications
jsonrpc-glib-3.38.0 JSON-RPC library for GLib
lame-3.100p1        lame ain't an MP3 encoder
lapack-3.8.0p1      library of Fortran linear algebra subroutines
lcdf-typetools-2.108 tools to manipulate font files
lcms2-2.12          color management library
ldb-2.3.0p1v0       LDAP-like embedded database
libadwaita-1.0.0alpha1 building blocks for modern adaptive GNOME apps
libao-1.2.0p1       portable audio output library
libarchive-3.5.1    multi-format archive and compression library
libass-0.15.0       portable ASS/SSA subtitle renderer
libassuan-2.5.5     IPC library used by GnuPG and gpgme
libb2-0.98.1v0      library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp
libcanberra-0.30p4  implementation of the Freedesktop sound theme spec.
libcanberra-gtk-0.30p8 gtk+2 helper for libcanberra
libcanberra-gtk3-0.30p8 gtk+3 helper for libcanberra
libchamplain-0.12.20 library to provide a GTK+ widget to display maps
libcue-1.4.0p1      cue sheet parser library
libdaemon-0.14p1    lightweight C library that eases the writing of daemons
libdazzle-3.40.0    companion library to GObject and Gtk+
libde265-1.0.7      open H.265 video codec implementation
libevent-2.1.11     event notification library
libexif-0.6.22      extract digital camera info tags from JPEG images
libffi-3.3p1        Foreign Function Interface
libgcrypt-1.9.4     crypto library based on code used in GnuPG
libgdata-0.18.1     Google Data API based Glib client library
libgee-0.20.4       GObject based collection library
libgepub-0.6.0p2    GObject based library for rendering epub docs
libgexiv2-0.12.3    GObject wrapper around exiv2
libgfbgraph-0.2.4   GObject library for Facebook Graph API
libgnomekbd-3.26.1p0 keyboard configuration library
libgpg-error-1.42   error codes for GnuPG related software
libgsf-1.14.47      GNOME Structured File library
libgtop2-2.40.0p1   portable library for obtaining system information
libgweather-40.0p0  weather information access library
libgxps-0.3.2       GObject library for handling and rendering XPS documents
libhandy-1.2.3      building blocks for modern adaptive GNOME apps
libheif-1.12.0      HEIF and AVIF file format decoder and encoder
libical-3.0.10      implementation of the iCalendar protocols and data units
libical-glib-3.0.10 GObject wrapper for libical library
libiconv-1.16p0     character set conversion library
libidn2-2.3.0p0     implementation of IDNA2008 internationalized domain names
libiptcdata-1.0.4p2 library for manipulating IPTC metadata
libksba-1.6.0       X.509 library
liblouis-3.16.1     braille translator, back-translator and formatter
libltdl-2.4.2p2     GNU libtool system independent dlopen wrapper
libmediaart-1.9.5   media art extraction and cache management library
libmpc-1.1.0        arbitrary-precision complex numbers math library
libmusicbrainz5-5.0.1p5 library for audio metadata lookup (v5)
libnettle-3.7.3     cryptographic library
libnotify-0.7.9     send desktop notifications to a notification daemon
liboauth-1.0.3      library implementing the OAuth Core RFC 5849 standard
libogg-1.3.5        Ogg bitstream library
libosinfo-1.9.0     library for managing information about operating systems
libotf-0.9.16       library for handling OpenType Fonts
libpaper-1.1.28     library for handling paper characteristics
libpeas-1.30.0      gobject-based plugins engine
libphonenumber-8.12.28 C++ library to parse/format/validate phone numbers
libproxy-0.4.17     library handling all the details of proxy configuration
libpsl-0.21.1       public suffix list library
libpst-0.6.76       read and convert Microsoft Outlook mail files
libpwquality-1.4.4p0 library to generate, and check strengh of passwords
libraw-0.20.2       library for reading RAW files
libreoffice-7.1.5.2v0 multi-platform productivity suite
librest-0.8.1p0     access web services that claim to be RESTful
librsvg-2.50.7      SAX-based render library for SVG files
libsamplerate-0.1.9 audio sample rate conversion library
libsecret-0.20.4    library for storing and retrieving passwords and secrets
libshout-2.4.5      library for communicating with an icecast server
libsigc++-2.10.7    callback framework for C++
libsigsegv-2.12     library for handling page faults in user mode
libsndfile-1.0.31   library to handle various audio file formats
libsodium-1.0.18p1  library for network communications and cryptography
libsoup-2.72.0      HTTP client/server library for GNOME
libspectre-0.2.8p3  library for rendering Postscript documents
libstemmer-2.1.0    stemming algorithms for text processing
libtalloc-2.3.2     hierarchical memory pool system with destructors
libtasn1-4.17.0     Abstract Syntax Notation One structure parser library
libtheora-1.2.20190601p0 open video codec
libunbound-1.13.2   validating DNS resolver library
libunistring-0.9.7  manipulate Unicode strings
libusb1-1.0.23p2    library for USB device access from userspace
libv4l-1.20.0p0     libv4l userspace library
libvidstab-1.1.0    video stabilization library
libvorbis-1.3.7     audio compression codec library
libvpx-1.10.0v0     Google VP8/VP9 video codec
libwebp-1.2.0       Google WebP image format conversion tool
libxkbcommon-1.3.0  library to handle keyboard descriptions
libxklavier-5.4     utility library for XKB
libxml-2.9.12       XML parsing library
libxslt-1.1.34p1    XSLT C Library for GNOME
libyajl-2.1.0       small JSON library written in ANSI C
libyaml-0.2.2       YAML 1.1 parser and emitter written in C
libytnef-1.9.3p1    read and convert TNEF files
libzapojit-0.0.3p4  GLib/GObject wrapper for SkyDrive and Hotmail REST APIs
llvm-11.1.0p6       modular, fast C/C++/ObjC compiler, static analyzer and tools
lua-5.3.6           powerful, light-weight programming language (version 5.3.6)
lz4-1.9.3p0         fast BSD-licensed data compression
lzo2-2.10p2         portable speedy lossless data compression library
m17n-db-1.8.0       database for multilingual text processing library
m17n-lib-1.8.0p2    multilingual text processing library
mariadb-client-10.6.4v1 multithreaded SQL database (client)
meta-tracker-2.3.6p1 metadata database and search tool
mosh-1.3.2p5        mobile shell
mozilla-dicts-en-GB-1.3p1 en-GB dictionary for Mozilla
mpfr-4.1.0          library for multiple-precision floating-point computations
mutter-40.3         window and compositing manager
nautilus-40.2       GNOME file manager
neofetch-7.1.0      system information tool written in bash
neon-0.31.2         HTTP and WebDAV client library, with C interface
nghttp2-1.44.0      library for HTTP/2
npth-1.6            new GNU Portable Threads Library
nspr-4.32           Netscape Portable Runtime
nss-3.69            libraries to support development of security-enabled apps
openjp2-2.4.0       open-source JPEG 2000 codec library
openldap-client-2.4.59 open-source LDAP software (client)
openpam-20200510    Pluggable Authentication Module
opus-1.3.1          IETF audio codec
orc-0.4.29          library and toolset to operate arrays of data
orca-40.0           assistive screen reader
osinfo-db-20210809  osinfo database files
p11-kit-0.24.0      library for loading and enumerating PKCS#11 modules
p5-Convert-BinHex-1.125p0 module to extract data from Macintosh BinHex files
p5-Error-0.17029    error/exception handling in an OO-ish way
p5-IO-stringy-2.113 in-core objects like strings and arrays for I/O
p5-IPC-Run3-0.048p0 run a subprocess in batch mode
p5-MIME-tools-5.509p0 modules for parsing (and creating) MIME entities
p5-Mail-Tools-2.21p0 modules for handling mail with perl
p5-Time-TimeDate-2.33 library for parsing and formatting dates and times
p7zip-16.02p6       file archiver with high compression ratio
pango-1.48.9        library for layout and rendering of text
pangomm-2.46.1      C++ interface for pango
pcre-8.44           perl-compatible regular expression library
pcre2-10.36         perl-compatible regular expression library, version 2
pinentry-1.1.1      PIN or passphrase entry dialog (ncurses interface)
pinentry-gnome3-1.1.1 PIN or passphrase entry dialog (GNOME 3 interface)
png-1.6.37          library for manipulating PNG images
polkit-0.119        framework for granting privileged operations to users
poppler-21.05.0p0   PDF rendering library
poppler-data-0.4.9  encoding files for poppler
popt-1.16p2         getopt(3)-like library with a number of enhancements
portaudio-svn-1960  portable cross-platform audio API
postgresql-client-13.3p0 PostgreSQL RDBMS (client)
protobuf-3.17.3     c++ protocol buffers
ps2eps-1.68p0       convert Postscript to Encapsulated Postscript
psutils-2.06        utilities for manipulating PostScript documents
pulseaudio-15.0     cross-platform networked sound server
py-dbus-common-1.2.18 common files for py-dbus
py3-MarkupSafe-1.1.1p2 implements an XML/HTML/XHTML markup safe string
py3-atspi-2.38.1    python bindings for at-spi2
py3-beaker-1.10.0p2 session and caching library with wsgi middleware
py3-brotli-1.0.9p0  Python bindings for the Brotli compression library
py3-cairo-1.20.1    cairo bindings for Python
py3-certifi-2020.4.5.1p1 Python package to check certificates using the OpenBSD CA
py3-chardet-4.0.0p0 character encoding auto-detection in Python
py3-cryptodome-3.10.1p0 self-contained cryptographic library for Python
py3-cups-2.0.1p1    CUPS bindings for Python
py3-curl-7.44.1     Python interface to cURL library
py3-dbus-1.2.18     dbus bindings for Python
py3-dnspython-2.1.0 DNS toolkit for Python
py3-gobject3-3.40.1 Python bindings for GLib and GObject
py3-idna-2.10p0     Python library to support the IDNA protocol
py3-jedi-0.18.0     autocompletion tool for Python
py3-lxml-4.3.3p5    Python binding for the libxml2 and libxslt libraries
py3-mako-1.1.1p2    super-fast templating language
py3-markdown-2.6.11p5 text-to-HTML conversion tool
py3-parso-0.8.2     python parser
py3-requests-2.26.0 elegant and simple HTTP library for Python
py3-setproctitle-1.2.2 library for getting/setting process names
py3-setuptools-57.4.0v0 simplified packaging system for Python modules
py3-talloc-2.3.2    Python 3.8 bindings for talloc
py3-tdb-1.4.3       Python 3.8 bindings for tdb
py3-urllib3-1.26.6  HTTP library for Python
py3-xdg-0.27p0      python library to access freedesktop.org standards
python-3.8.11p0     interpreted object-oriented programming language
quirks-4.33         exceptions to pkg_add rules
raptor-2.0.15p4     RDF Parser Toolkit for Redland
rasqal-0.9.33p2     RDF Query Library for Redland
redland-1.0.17p6    high-level interface for RDF
rofi-1.6.1p0        window switcher, run dialog and dmenu replacement
ruby-2.7.4p1        object oriented script language with threads
samba-4.14.6v0      SMB and CIFS client and server for UNIX
samba-util-4.14.6v0 common libraries for Samba suite
sane-backends-1.0.32p1 API for accessing scanners, backends
sdl2-2.0.16         cross-platform multimedia library
shared-mime-info-2.1 shared mime database for desktops
simple-scan-40.1    simple scanning utility
sound-theme-freedesktop-0.8p0 XDG sound theme
speech-dispatcher-0.10.2p0 common interface to speech synthesis
speex-1.2.0         patent-free speech codec
speexdsp-1.2.0      speech processing DSP library
spidermonkey78-78.12.0v1 C/C++ Mozilla's JavaScript engine implementation 
sqlite3-3.35.5p0    embedded SQL implementation
startup-notification-0.12p8 library for tracking application startup
stow-2.3.1          manages software package installations with symlinks
suitesparse-4.4.6p3 suite of sparse matrix algorithms
sushi-3.38.1        quick previewer for Nautilus
system-config-printer-1.5.15 printer (CUPS) administration tool
t1utils-1.42        utilities for PostScript Type 1 fonts
taglib-1.11.1p3     managing meta-data of audio formats
tdb-1.4.3           trivial database library
telepathy-glib-0.24.2 flexible communications framework, glib bindings
telepathy-logger-0.8.2p6 flexible communications framework, logger component
telepathy-mission-control-5.16.6 abstraction layer between apps and connection managers
template-glib-3.34.0 templating library for GLib
tepl-6.00.0         Text Editor Product Line
tevent-0.10.2p1v0   event system based on talloc
texlive_base-2020p0 base binaries for TeXLive typesetting distribution
texlive_mktexlsr-2020p0 mktexlsr for TeXLive typesetting distribution
texlive_synctex-2020p0 synctex for TeXLive typesetting distribution
texlive_texmf-buildset-2020p0 smallest texlive texmf for building ports
tiff-4.3.0          tools and library routines for working with TIFF images
totem-3.38.1        official media player for GNOME
totem-pl-parser-3.26.6 GObject-based parsing library
tracker-miners-2.3.5p2 tracker miners and metadata extractors
tracker3-3.0.4      efficient search engine and triplestore
tracker3-miners-3.0.5p0 tracker miners and metadata extractors
twolame-0.3.13p1    optimised MPEG Audio Layer 2 (MP2) encoder
unoconv-0.7p8       UNiversal Office CONVerter
unrar-6.02v2        extract, list, and test RAR archives
unzip-6.0p14        extract, list & test files in a ZIP archive
upower-0.99.11p0    userland power management interface
uvideo-firmware-1.2p3 firmware binary images for uvideo(4) driver
vim-8.2.3357-gtk3-perl-python3-ruby vi clone, many additional features
vmm-firmware-1.14.0 firmware binary images for vmm(4) driver
vte3-0.64.2         terminal emulation library
wavpack-5.4.0       audio codec for lossless, lossy and hybrid compression
webkitgtk4-2.32.3   GTK+ port of the WebKit rendering engine
woff2-1.0.2p0       Web Open Font Format 2.0 library
x264-20210415       free H.264/MPEG-4 AVC encoder
x265-3.5            free H.265/HEVC encoder
xcape-1.2           configure a modifier key when pressed and released by itself
xclip-0.13p1        command line interface to X selections
xdg-user-dirs-0.17p1 utilities to manage well known user directories
xdg-user-dirs-gtk-0.10p4 integration of xdg-user-dirs into GNOME/gtk+
xdg-utils-1.1.3p1   utilities to assist desktop integration tasks
xvidcore-1.3.7      ISO MPEG-4 compliant video codec
xz-5.2.5            LZMA compression and decompression tools
yelp-40.3           GNOME help browser
yelp-xsl-40.2       XSLT stylesheets for yelp
zenity-3.32.0p0     dialogs for GNOME
zip-3.0p1           create/update ZIP files compatible with PKZip(tm)
zstd-1.5.0          zstandard fast real-time compression algorithm
zziplib-0.13.62p1   lightweight library for extracting data from zip files
ghost commented 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.

AshyIsMe commented 2 years ago

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.

ghost commented 2 years ago

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
AshyIsMe commented 2 years ago

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?

ghost commented 2 years ago

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.

AshyIsMe commented 2 years ago

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
$
ghost commented 2 years ago

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.

AshyIsMe commented 2 years ago

Thanks you were right. It's building for me now too without -static.