Skip to content

Instantly share code, notes, and snippets.

@minrk
Created April 3, 2025 07:06
Show Gist options
  • Save minrk/fb2dd145aab80480f25bd4ce3e3cbccb to your computer and use it in GitHub Desktop.
Save minrk/fb2dd145aab80480f25bd4ce3e3cbccb to your computer and use it in GitHub Desktop.

test for gfortran on macOS 15.4

run:

pixi clean
pixi run test  # should fail
pixi run patch # patches libgfortran, libquadmath
pixi run test # should pass

Failure:

OSError: dlopen($PWD/.pixi/envs/default/lib/libgfortran.5.dylib, 0x0006): tried: '$PWD/.pixi/envs/default/lib/libgfortran.5.dylib' (duplicate LC_RPATH '@loader_path'), '/System/Volumes/Preboot/Cryptexes/OS$PWD/.pixi/envs/default/lib/libgfortran.5.dylib' (no such file), '$PWD/.pixi/envs/default/lib/libgfortran.5.dylib' (duplicate LC_RPATH '@loader_path')

import os
from subprocess import run
import lief
def patch(path):
fat = lief.MachO.parse(path)
thin = fat.take(lief.MachO.CPU_TYPES.ARM64)
thin.commands[9].sdk = [11, 0, 0]
thin.write(path)
run(["codesign", "-f", "-s", "-", path], check=True)
prefix_lib = os.path.join(os.environ["CONDA_PREFIX"], "lib")
for libname in [
"libgfortran.5.dylib",
"libquadmath.0.dylib",
]:
lib_path = os.path.join(prefix_lib, libname)
print(f"Patching {lib_path}")
patch(lib_path)
version: 6
environments:
default:
channels:
- url: https://conda.anaconda.org/conda-forge/
packages:
osx-64:
- conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-hfdf4475_7.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2025.1.31-h8857fd0_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.9.0-31_h7f60823_openblas.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.9.0-31_hff6cab4_openblas.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-20.1.2-hf95d169_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.7.0-h240833e_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.6-h281671d_1.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-5.0.0-13_3_0_h2f6f9ba_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-13.3.0-h2f6f9ba_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.9.0-31_h236ab99_openblas.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/liblief-0.14.1-hac325c4_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.6.4-hd471939_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-hfdf4475_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.29-openmp_hbf64a52_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.49.1-hdb6dae5_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.1-hd23fc13_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-20.1.2-ha54dae1_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.5-h0622a9a_3.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.2.4-py313hc518a0f_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.4.1-hc426f3f_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/py-lief-0.14.1-py313h9ea2907_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.13.2-h534c281_101_cp313.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.13-6_cp313.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.2-h7cca4af_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h1abcd95_1.conda
- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda
osx-arm64:
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-31_h10e41b3_openblas.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-31_hb3479ef_openblas.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-20.1.2-ha82da77_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.0-h286801f_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_3_0_h90ca347_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.3.0-h90ca347_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-31_hc9a63f6_openblas.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblief-0.14.1-hf9b8971_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.6.4-h39f12f2_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h99b78c6_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.29-openmp_hf332438_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.49.1-h3f77e49_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-20.1.2-hdb05f8b_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.4-py313h41a2e72_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.1-h81ee809_0.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/py-lief-0.14.1-py313h3579c5c_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.2-h81fe080_101_cp313.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.13-6_cp313.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda
- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda
packages:
- conda: https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-hfdf4475_7.conda
sha256: cad153608b81fb24fc8c509357daa9ae4e49dfc535b2cb49b91e23dbd68fc3c5
md5: 7ed4301d437b59045be7e051a0308211
depends:
- __osx >=10.13
license: bzip2-1.0.6
license_family: BSD
size: 134188
timestamp: 1720974491916
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
sha256: adfa71f158cbd872a36394c56c3568e6034aa55c623634b37a4836bd036e6b91
md5: fc6948412dbbbe9a4c9ddbbcfe0a79ab
depends:
- __osx >=11.0
license: bzip2-1.0.6
license_family: BSD
size: 122909
timestamp: 1720974522888
- conda: https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2025.1.31-h8857fd0_0.conda
sha256: 42e911ee2d8808eacedbec46d99b03200a6138b8e8a120bd8acabe1cac41c63b
md5: 3418b6c8cac3e71c0bc089fc5ea53042
license: ISC
size: 158408
timestamp: 1738298385933
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda
sha256: 7e12816618173fe70f5c638b72adf4bfd4ddabf27794369bb17871c5bb75b9f9
md5: 3569d6a9141adc64d2fe4797f3289e06
license: ISC
size: 158425
timestamp: 1738298167688
- conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.9.0-31_h7f60823_openblas.conda
build_number: 31
sha256: 2192f9cfa72a1a6127eb1c57a9662eb1b44c6506f2b7517cf021f1262d2bf56d
md5: a8c1c9f95d1c46d67028a6146c1ea77c
depends:
- libopenblas >=0.3.29,<0.3.30.0a0
- libopenblas >=0.3.29,<1.0a0
constrains:
- libcblas =3.9.0=31*_openblas
- liblapacke =3.9.0=31*_openblas
- blas =2.131=openblas
- mkl <2025
- liblapack =3.9.0=31*_openblas
license: BSD-3-Clause
license_family: BSD
size: 17105
timestamp: 1740087945188
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-31_h10e41b3_openblas.conda
build_number: 31
sha256: 369586e7688b59b4f92c709b99d847d66d4d095425db327dd32ee5e6ab74697f
md5: 39b053da5e7035c6592102280aa7612a
depends:
- libopenblas >=0.3.29,<0.3.30.0a0
- libopenblas >=0.3.29,<1.0a0
constrains:
- liblapacke =3.9.0=31*_openblas
- libcblas =3.9.0=31*_openblas
- blas =2.131=openblas
- mkl <2025
- liblapack =3.9.0=31*_openblas
license: BSD-3-Clause
license_family: BSD
size: 17123
timestamp: 1740088119350
- conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.9.0-31_hff6cab4_openblas.conda
build_number: 31
sha256: a64b24e195f7790722e1557ff5ed9ecceaaf85559b182d0d03fa61c1fd60326c
md5: c655cc2b0c48ec454f7a4db92415d012
depends:
- libblas 3.9.0 31_h7f60823_openblas
constrains:
- liblapacke =3.9.0=31*_openblas
- blas =2.131=openblas
- liblapack =3.9.0=31*_openblas
license: BSD-3-Clause
license_family: BSD
size: 17006
timestamp: 1740087955460
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-31_hb3479ef_openblas.conda
build_number: 31
sha256: f237486cc9118d09d0f3ff8820280de34365f98ee7b7dc5ab923b04c7cbf25a5
md5: 7353c2bf0e90834cb70545671996d871
depends:
- libblas 3.9.0 31_h10e41b3_openblas
constrains:
- liblapacke =3.9.0=31*_openblas
- blas =2.131=openblas
- liblapack =3.9.0=31*_openblas
license: BSD-3-Clause
license_family: BSD
size: 17032
timestamp: 1740088127097
- conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-20.1.2-hf95d169_0.conda
sha256: 44a62b1fdc70ba07a9375eaca433bdac50518ffee6e0c6977eb65069fb70977e
md5: 25cc3210a5a8a1b332e12d20db11c6dd
depends:
- __osx >=10.13
license: Apache-2.0 WITH LLVM-exception
license_family: Apache
size: 563556
timestamp: 1743573278971
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-20.1.2-ha82da77_0.conda
sha256: e3ad5ba1ff49f988c1476f47f395499e841bdd8eafc3908cb1b64daae3a83f3b
md5: 85ea0d49eb61f57e02ce98dc29ca161f
depends:
- __osx >=11.0
license: Apache-2.0 WITH LLVM-exception
license_family: Apache
size: 566452
timestamp: 1743573280445
- conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.7.0-h240833e_0.conda
sha256: 976f2e23ad2bb2b8e92c99bfa2ead3ad557b17a129b170f7e2dfcf233193dd7e
md5: 026d0a1056ba2a3dbbea6d4b08188676
depends:
- __osx >=10.13
constrains:
- expat 2.7.0.*
license: MIT
license_family: MIT
size: 71894
timestamp: 1743431912423
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.0-h286801f_0.conda
sha256: ee550e44765a7bbcb2a0216c063dcd53ac914a7be5386dd0554bd06e6be61840
md5: 6934bbb74380e045741eb8637641a65b
depends:
- __osx >=11.0
constrains:
- expat 2.7.0.*
license: MIT
license_family: MIT
size: 65714
timestamp: 1743431789879
- conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.6-h281671d_1.conda
sha256: 6394b1bc67c64a21a5cc73d1736d1d4193a64515152e861785c44d2cfc49edf3
md5: 4ca9ea59839a9ca8df84170fab4ceb41
depends:
- __osx >=10.13
license: MIT
license_family: MIT
size: 51216
timestamp: 1743434595269
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.6-h1da3d7d_1.conda
sha256: c6a530924a9b14e193ea9adfe92843de2a806d1b7dbfd341546ece9653129e60
md5: c215a60c2935b517dcda8cad4705734d
depends:
- __osx >=11.0
license: MIT
license_family: MIT
size: 39839
timestamp: 1743434670405
- conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-5.0.0-13_3_0_h2f6f9ba_2.conda
sha256: 2e74c28b29932afde75d37bd687e4a8004665bd77c7c7b46b63ecaf6f3a225c3
md5: 40e6e27f6832b7cd6a2f14ef43cff4a8
depends:
- libgfortran5 13.3.0 h2f6f9ba_2
license: GPL-3.0-only WITH GCC-exception-3.1
license_family: GPL
size: 155947
timestamp: 1743620658863
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_3_0_h90ca347_2.conda
sha256: 5b6b811db3455cf6972880c714ecdc02dd6696209a1905e4ed0c4d00e6e6270e
md5: 3f0550040bd202283cb5ac6258744f6a
depends:
- libgfortran5 13.3.0 h90ca347_2
license: GPL-3.0-only WITH GCC-exception-3.1
license_family: GPL
size: 156282
timestamp: 1743621987489
- conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-13.3.0-h2f6f9ba_2.conda
sha256: f9ad4e2d1250ac7309ba24e97727d41a45681b98092034f6b5e891e737bd2bb4
md5: f7aeebc5b550b3209ebffe66e2f1c10b
depends:
- llvm-openmp >=8.0.0
constrains:
- libgfortran 5.0.0 13_3_0_*_2
license: GPL-3.0-only WITH GCC-exception-3.1
license_family: GPL
size: 1175359
timestamp: 1743620588738
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.3.0-h90ca347_2.conda
sha256: 69976260076e7313bf28b11317ce78c8b6ab172b5136ec60e57b249402b717ea
md5: b82d5c3b81216f379d1839e920769233
depends:
- llvm-openmp >=8.0.0
constrains:
- libgfortran 5.0.0 13_3_0_*_2
license: GPL-3.0-only WITH GCC-exception-3.1
license_family: GPL
size: 741496
timestamp: 1743621950240
- conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.9.0-31_h236ab99_openblas.conda
build_number: 31
sha256: 2d5642b07b56037ab735e5d64309dd905d5acb207a1b2ab1692f811b55a64825
md5: d0f3bc17e0acef003cb9d9195a205888
depends:
- libblas 3.9.0 31_h7f60823_openblas
constrains:
- libcblas =3.9.0=31*_openblas
- blas =2.131=openblas
- liblapacke =3.9.0=31*_openblas
license: BSD-3-Clause
license_family: BSD
size: 17033
timestamp: 1740087965941
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-31_hc9a63f6_openblas.conda
build_number: 31
sha256: fe55b9aaf82c6c0192c3d1fcc9b8e884f97492dda9a8de5dae29334b3135fab5
md5: ff57a55a2cbce171ef5707fb463caf19
depends:
- libblas 3.9.0 31_h10e41b3_openblas
constrains:
- liblapacke =3.9.0=31*_openblas
- libcblas =3.9.0=31*_openblas
- blas =2.131=openblas
license: BSD-3-Clause
license_family: BSD
size: 17033
timestamp: 1740088134988
- conda: https://conda.anaconda.org/conda-forge/osx-64/liblief-0.14.1-hac325c4_2.conda
sha256: a91a753d4a589e4c920c1a1281b33d668ab03cf964408866acc174a45c184288
md5: fea38f7bd278c21851f208358dd8e5b4
depends:
- __osx >=10.13
- libcxx >=17
license: Apache-2.0
license_family: Apache
size: 1656906
timestamp: 1726041368542
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblief-0.14.1-hf9b8971_2.conda
sha256: 0da590030191ce2f52ce315165b88898bd2df5b51374bb33a57722a84521a7f5
md5: 9cd24e3468e4c510836f68f453a31df8
depends:
- __osx >=11.0
- libcxx >=17
license: Apache-2.0
license_family: Apache
size: 1564352
timestamp: 1726041182332
- conda: https://conda.anaconda.org/conda-forge/osx-64/liblzma-5.6.4-hd471939_0.conda
sha256: a895b5b16468a6ed436f022d72ee52a657f9b58214b91fabfab6230e3592a6dd
md5: db9d7b0152613f097cdb61ccf9f70ef5
depends:
- __osx >=10.13
license: 0BSD
size: 103749
timestamp: 1738525448522
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.6.4-h39f12f2_0.conda
sha256: 560c59d3834cc652a84fb45531bd335ad06e271b34ebc216e380a89798fe8e2c
md5: e3fd1f8320a100f2b210e690a57cd615
depends:
- __osx >=11.0
license: 0BSD
size: 98945
timestamp: 1738525462560
- conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-hfdf4475_0.conda
sha256: 791be3d30d8e37ec49bcc23eb8f1e1415d911a7c023fa93685f2ea485179e258
md5: ed625b2e59dff82859c23dd24774156b
depends:
- __osx >=10.13
license: BSD-2-Clause
license_family: BSD
size: 76561
timestamp: 1723817691512
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h99b78c6_0.conda
sha256: f7917de9117d3a5fe12a39e185c7ce424f8d5010a6f97b4333e8a1dcb2889d16
md5: 7476305c35dd9acef48da8f754eedb40
depends:
- __osx >=11.0
license: BSD-2-Clause
license_family: BSD
size: 69263
timestamp: 1723817629767
- conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.29-openmp_hbf64a52_0.conda
sha256: fbb413923f91cb80a4d23725816499b921dd87454121efcde107abc7772c937a
md5: a30dc52b2a8b6300f17eaabd2f940d41
depends:
- __osx >=10.13
- libgfortran 5.*
- libgfortran5 >=13.2.0
- llvm-openmp >=18.1.8
constrains:
- openblas >=0.3.29,<0.3.30.0a0
license: BSD-3-Clause
license_family: BSD
size: 6170847
timestamp: 1739826107594
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.29-openmp_hf332438_0.conda
sha256: 8989d9e01ec8c9b2d48dbb5efbe70b356fcd15990fb53b64fcb84798982c0343
md5: 0cd1148c68f09027ee0b0f0179f77c30
depends:
- __osx >=11.0
- libgfortran 5.*
- libgfortran5 >=13.2.0
- llvm-openmp >=18.1.8
constrains:
- openblas >=0.3.29,<0.3.30.0a0
license: BSD-3-Clause
license_family: BSD
size: 4168442
timestamp: 1739825514918
- conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.49.1-hdb6dae5_2.conda
sha256: 82695c9b16a702de615c8303387384c6ec5cf8b98e16458e5b1935b950e4ec38
md5: 1819e770584a7e83a81541d8253cbabe
depends:
- __osx >=10.13
- libzlib >=1.3.1,<2.0a0
license: Unlicense
size: 977701
timestamp: 1742083869897
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.49.1-h3f77e49_2.conda
sha256: 907a95f73623c343fc14785cbfefcb7a6b4f2bcf9294fcb295c121611c3a590d
md5: 3b1e330d775170ac46dff9a94c253bd0
depends:
- __osx >=11.0
- libzlib >=1.3.1,<2.0a0
license: Unlicense
size: 900188
timestamp: 1742083865246
- conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.1-hd23fc13_2.conda
sha256: 8412f96504fc5993a63edf1e211d042a1fd5b1d51dedec755d2058948fcced09
md5: 003a54a4e32b02f7355b50a837e699da
depends:
- __osx >=10.13
constrains:
- zlib 1.3.1 *_2
license: Zlib
license_family: Other
size: 57133
timestamp: 1727963183990
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
sha256: ce34669eadaba351cd54910743e6a2261b67009624dbc7daeeafdef93616711b
md5: 369964e85dc26bfe78f41399b366c435
depends:
- __osx >=11.0
constrains:
- zlib 1.3.1 *_2
license: Zlib
license_family: Other
size: 46438
timestamp: 1727963202283
- conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-20.1.2-ha54dae1_0.conda
sha256: ed87c6faeee008dd4ea3957e14d410d754f00734a2121067cbb942910b5cdd4d
md5: 86e822e810ac7658cbed920d548f8398
depends:
- __osx >=10.13
constrains:
- openmp 20.1.2|20.1.2.*
license: Apache-2.0 WITH LLVM-exception
size: 306881
timestamp: 1743660179071
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-20.1.2-hdb05f8b_0.conda
sha256: 3510c986f94d8baf8bfef834c0a4fa9f059dbaa5940abe59c60342761fb77e27
md5: 922f10fcb42090cdb0b74340dee96c08
depends:
- __osx >=11.0
constrains:
- openmp 20.1.2|20.1.2.*
license: Apache-2.0 WITH LLVM-exception
size: 282406
timestamp: 1743660065194
- conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.5-h0622a9a_3.conda
sha256: ea4a5d27ded18443749aefa49dc79f6356da8506d508b5296f60b8d51e0c4bd9
md5: ced34dd9929f491ca6dab6a2927aff25
depends:
- __osx >=10.13
license: X11 AND BSD-3-Clause
size: 822259
timestamp: 1738196181298
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda
sha256: 2827ada40e8d9ca69a153a45f7fd14f32b2ead7045d3bbb5d10964898fe65733
md5: 068d497125e4bf8a66bf707254fff5ae
depends:
- __osx >=11.0
license: X11 AND BSD-3-Clause
size: 797030
timestamp: 1738196177597
- conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.2.4-py313hc518a0f_0.conda
sha256: 479c68ac7a92a2af158a84a2d7894db19c35503a83f6ec3498b26640e6f0566d
md5: df79d8538f8677bd8a3b6b179e388f48
depends:
- __osx >=10.13
- libblas >=3.9.0,<4.0a0
- libcblas >=3.9.0,<4.0a0
- libcxx >=18
- liblapack >=3.9.0,<4.0a0
- python >=3.13,<3.14.0a0
- python_abi 3.13.* *_cp313
constrains:
- numpy-base <0a0
license: BSD-3-Clause
license_family: BSD
size: 7711833
timestamp: 1742255291460
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.4-py313h41a2e72_0.conda
sha256: 3f4029334a82fb4f22995a0916b58a98769d00f265141f535975ec35015b9699
md5: 2f69d676535eff4ab82f4f8fcff974bb
depends:
- __osx >=11.0
- libblas >=3.9.0,<4.0a0
- libcblas >=3.9.0,<4.0a0
- libcxx >=18
- liblapack >=3.9.0,<4.0a0
- python >=3.13,<3.14.0a0
- python >=3.13,<3.14.0a0 *_cp313
- python_abi 3.13.* *_cp313
constrains:
- numpy-base <0a0
license: BSD-3-Clause
license_family: BSD
size: 6534258
timestamp: 1742255432786
- conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.4.1-hc426f3f_0.conda
sha256: 505a46671dab5d66df8e684f99a9ae735a607816b12810b572d63caa512224df
md5: a7d63f8e7ab23f71327ea6d27e2d5eae
depends:
- __osx >=10.13
- ca-certificates
license: Apache-2.0
license_family: Apache
size: 2591479
timestamp: 1739302628009
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.1-h81ee809_0.conda
sha256: 4f8e2389e1b711b44182a075516d02c80fa7a3a7e25a71ff1b5ace9eae57a17a
md5: 75f9f0c7b1740017e2db83a53ab9a28e
depends:
- __osx >=11.0
- ca-certificates
license: Apache-2.0
license_family: Apache
size: 2934522
timestamp: 1739301896733
- conda: https://conda.anaconda.org/conda-forge/osx-64/py-lief-0.14.1-py313h9ea2907_2.conda
sha256: 6be0ef891b16efead6731657e663dc8ed99a470845b67dfe14f5744c20686839
md5: a13076c5831277cda780597bc8cc348f
depends:
- __osx >=10.13
- libcxx >=17
- liblief 0.14.1 hac325c4_2
- python >=3.13.0rc2,<3.14.0a0
- python_abi 3.13.* *_cp313
license: Apache-2.0
license_family: Apache
size: 539710
timestamp: 1726042169566
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/py-lief-0.14.1-py313h3579c5c_2.conda
sha256: 0831dd5953afc5b12417ff29feaba2b09e38430f984f827a6ffa08c9ad75e723
md5: dab1f3738d9bc7692d67dd80d31f5ff4
depends:
- __osx >=11.0
- libcxx >=17
- liblief 0.14.1 hf9b8971_2
- python >=3.13.0rc2,<3.14.0a0
- python_abi 3.13.* *_cp313
license: Apache-2.0
license_family: Apache
size: 541843
timestamp: 1726041840190
- conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.13.2-h534c281_101_cp313.conda
build_number: 101
sha256: 19abb6ba8a1af6985934a48f05fccd29ecc54926febdb8b3803f30134c518b34
md5: 2e883c630979a183e23a510d470194e2
depends:
- __osx >=10.13
- bzip2 >=1.0.8,<2.0a0
- libexpat >=2.6.4,<3.0a0
- libffi >=3.4,<4.0a0
- liblzma >=5.6.4,<6.0a0
- libmpdec >=4.0.0,<5.0a0
- libsqlite >=3.48.0,<4.0a0
- libzlib >=1.3.1,<2.0a0
- ncurses >=6.5,<7.0a0
- openssl >=3.4.1,<4.0a0
- python_abi 3.13.* *_cp313
- readline >=8.2,<9.0a0
- tk >=8.6.13,<8.7.0a0
- tzdata
license: Python-2.0
size: 13961675
timestamp: 1739802065430
python_site_packages_path: lib/python3.13/site-packages
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.2-h81fe080_101_cp313.conda
build_number: 101
sha256: 6239a14c39a9902d6b617d57efe3eefbab23cf30cdc67122fdab81d04da193cd
md5: 71a76067a1cac1a2f03b43a08646a63e
depends:
- __osx >=11.0
- bzip2 >=1.0.8,<2.0a0
- libexpat >=2.6.4,<3.0a0
- libffi >=3.4,<4.0a0
- liblzma >=5.6.4,<6.0a0
- libmpdec >=4.0.0,<5.0a0
- libsqlite >=3.48.0,<4.0a0
- libzlib >=1.3.1,<2.0a0
- ncurses >=6.5,<7.0a0
- openssl >=3.4.1,<4.0a0
- python_abi 3.13.* *_cp313
- readline >=8.2,<9.0a0
- tk >=8.6.13,<8.7.0a0
- tzdata
license: Python-2.0
size: 11682568
timestamp: 1739801342527
python_site_packages_path: lib/python3.13/site-packages
- conda: https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.13-6_cp313.conda
build_number: 6
sha256: ef527337ae8fd3e7cef49bb1ebedb2ad34915f3a19ceb1e452d7691149f1b2e7
md5: 1867172dd3044e5c3db5772b81d67796
constrains:
- python 3.13.* *_cp313
license: BSD-3-Clause
license_family: BSD
size: 6952
timestamp: 1743483227308
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.13-6_cp313.conda
build_number: 6
sha256: 2f5205eba4d65bb6cb09c2f12c69e8981514222d5aee01b59d5610af9dc6917c
md5: c75e7f94ab431acc3942cc93b8ca6f8d
constrains:
- python 3.13.* *_cp313
license: BSD-3-Clause
license_family: BSD
size: 6972
timestamp: 1743483253239
- conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.2-h7cca4af_2.conda
sha256: 53017e80453c4c1d97aaf78369040418dea14cf8f46a2fa999f31bd70b36c877
md5: 342570f8e02f2f022147a7f841475784
depends:
- ncurses >=6.5,<7.0a0
license: GPL-3.0-only
license_family: GPL
size: 256712
timestamp: 1740379577668
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda
sha256: 7db04684d3904f6151eff8673270922d31da1eea7fa73254d01c437f49702e34
md5: 63ef3f6e6d6d5c589e64f11263dc5676
depends:
- ncurses >=6.5,<7.0a0
license: GPL-3.0-only
license_family: GPL
size: 252359
timestamp: 1740379663071
- conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h1abcd95_1.conda
sha256: 30412b2e9de4ff82d8c2a7e5d06a15f4f4fef1809a72138b6ccb53a33b26faf5
md5: bf830ba5afc507c6232d4ef0fb1a882d
depends:
- libzlib >=1.2.13,<2.0.0a0
license: TCL
license_family: BSD
size: 3270220
timestamp: 1699202389792
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda
sha256: 72457ad031b4c048e5891f3f6cb27a53cb479db68a52d965f796910e71a403a8
md5: b50a57ba89c32b62428b71a875291c9b
depends:
- libzlib >=1.2.13,<2.0.0a0
license: TCL
license_family: BSD
size: 3145523
timestamp: 1699202432999
- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda
sha256: 5aaa366385d716557e365f0a4e9c3fca43ba196872abbbe3d56bb610d131e192
md5: 4222072737ccff51314b5ece9c7d6f5a
license: LicenseRef-Public-Domain
size: 122968
timestamp: 1742727099393
[workspace]
authors = ["Min RK <[email protected]>"]
channels = ["conda-forge"]
name = "test-gfortran"
platforms = ["osx-arm64", "osx-64"]
[tasks]
test = "python3 test.py"
patch = "python3 patch.py"
[dependencies]
libgfortran5 = "13.*"
py-lief = "0.14.*"
python = "3.13.*"
numpy = "2.*"
import ctypes
import os
prefix_lib = os.path.join(os.environ["CONDA_PREFIX"], "lib")
for libname in ("libgfortran.5.dylib", "libgomp.1.dylib", "libquadmath.0.dylib"):
lib_path = os.path.join(prefix_lib, libname)
print(f"loading {lib_path}")
ctypes.CDLL(lib_path)
print("importing numpy")
import numpy # noqa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment