Code Monkey home page Code Monkey logo

mumps-feedstock's Introduction

About mumps-feedstock

Feedstock license: BSD-3-Clause

Home: https://mumps-solver.org

Package license: CECILL-C

Summary: MUMPS: a parallel sparse direct solver

Documentation: https://mumps-solver.org/index.php?page=doc

MUMPS (MUltifrontal Massively Parallel Solver) is a package for solving systems of linear equations of the form Ax = b, where A is a square sparse matrix that can be either unsymmetric, symmetric positive definite, or general symmetric, on distributed memory computers. MUMPS implements a direct method based on a multifrontal approach which performs a Gaussian factorization.

Current build status

Azure
VariantStatus
linux_64_mpimpich variant
linux_64_mpinompi variant
linux_64_mpiopenmpi variant
linux_aarch64_mpimpich variant
linux_aarch64_mpinompi variant
linux_aarch64_mpiopenmpi variant
linux_ppc64le_mpimpich variant
linux_ppc64le_mpinompi variant
linux_ppc64le_mpiopenmpi variant
osx_64_mpimpich variant
osx_64_mpinompi variant
osx_64_mpiopenmpi variant
osx_arm64_mpimpich variant
osx_arm64_mpinompi variant
osx_arm64_mpiopenmpi variant
win_64 variant

Current release info

Name Downloads Version Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms

Installing mumps

Installing mumps from the conda-forge channel can be achieved by adding conda-forge to your channels with:

conda config --add channels conda-forge
conda config --set channel_priority strict

Once the conda-forge channel has been enabled, mumps-include, mumps-mpi, mumps-seq can be installed with conda:

conda install mumps-include mumps-mpi mumps-seq

or with mamba:

mamba install mumps-include mumps-mpi mumps-seq

It is possible to list all of the versions of mumps-include available on your platform with conda:

conda search mumps-include --channel conda-forge

or with mamba:

mamba search mumps-include --channel conda-forge

Alternatively, mamba repoquery may provide more information:

# Search all versions available on your platform:
mamba repoquery search mumps-include --channel conda-forge

# List packages depending on `mumps-include`:
mamba repoquery whoneeds mumps-include --channel conda-forge

# List dependencies of `mumps-include`:
mamba repoquery depends mumps-include --channel conda-forge

About conda-forge

Powered by NumFOCUS

conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the conda-forge GitHub organization. The conda-forge organization contains one repository for each of the installable packages. Such a repository is known as a feedstock.

A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by Azure, GitHub, CircleCI, AppVeyor, Drone, and TravisCI it is possible to build and upload installable packages to the conda-forge anaconda.org channel for Linux, Windows and OSX respectively.

To manage the continuous integration and simplify feedstock maintenance conda-smithy has been developed. Using the conda-forge.yml within this repository, it is possible to re-render all of this feedstock's supporting files (e.g. the CI configuration files) with conda smithy rerender.

For more information please check the conda-forge documentation.

Terminology

feedstock - the conda recipe (raw material), supporting scripts and CI configuration.

conda-smithy - the tool which helps orchestrate the feedstock. Its primary use is in the construction of the CI .yml files and simplify the management of many feedstocks.

conda-forge - the place where the feedstock and smithy live and work to produce the finished article (built conda distributions)

Updating mumps-feedstock

If you would like to improve the mumps recipe or build a new package version, please fork this repository and submit a PR. Upon submission, your changes will be run on the appropriate platforms to give the reviewer an opportunity to confirm that the changes result in a successful build. Once merged, the recipe will be re-built and uploaded automatically to the conda-forge channel, whereupon the built conda packages will be available for everybody to install and use from the conda-forge channel. Note that all branches in the conda-forge/mumps-feedstock are immediately built and any created packages are uploaded, so PRs should be based on branches in forks and branches in the main repository should only be used to build distinct package versions.

In order to produce a uniquely identifiable distribution:

  • If the version of a package is not being increased, please add or increase the build/number.
  • If the version of a package is being increased, please remember to return the build/number back to 0.

Feedstock Maintainers

mumps-feedstock's People

Contributors

akhmerov avatar ax3l avatar basnijholt avatar beckermr avatar conda-forge-admin avatar conda-forge-curator[bot] avatar conda-forge-webservices[bot] avatar dalcinl avatar davidbrochart avatar github-actions[bot] avatar isuruf avatar jakirkham avatar jan-janssen avatar jbweston avatar jcarpent avatar jschueller avatar minrk avatar ocefpaf avatar pstjohn avatar regro-cf-autotick-bot avatar richardotis avatar sylvaincorlay avatar tobias-fischer avatar traversaro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mumps-feedstock's Issues

broken kwant builds because of MPI build

kwant currently has no MUMPS support (even though MUMPS should do nearly ALL the heavy lifting there), I thought I had fixed it in the latest build.

We used to link against mpiseq however that library isn't being build anymore. Linking against the MPI versions will result in errors.

Before we linked against: zmumps mumps_common pord metis esmumps scotch scotcherr gfortran

Now I did: ptesmumps ptscotch ptscotcherr mpi mpifort scalapack openblas pthread plus all the former libs.

When linking agaist the MPI libs, kwant test error on:

Attempting to use an MPI routine before initializing MPICH

@jbweston and @michaelwimmer do you think we should build the sequential version of MUMPS again?

Related: conda-forge/kwant-feedstock#34

build with OpenMP

I was hoping to get OpenMP working with the win64 conda-forge mumps module:

mumps 5.1.2 h8933c1f_1001 conda-forge

The verbose output for the mumps module shows the build is without OMP. If I manually build with compiler openmp flags the output shows #OMP = 8. The openmp build runs 2-3x faster for larger problems on my 4-core laptop, so it is definitely worthwhile.

I am working on a PR to enable OpenMP but find the mumps-feedstock is using NMake Makefiles and flang for win64, rather than MinGW Makefiles and gfortran. (Not sure why I don't get the flang build when I use conda install mumps?)

I can build the module from the feedstock using flang, but flang gives command failed due to signal if I add the -mp openmp compile flag. I have not found any relevant LLVM/MSVC openmp support info/limitiations, but clang works fine for an C openmp code.

The linux build with openmp is fine.

Should I do a PR for a MinGW/gfortran build, or any suggestions on getting OpenMP working with flang?

segfault when shared library used from petsc: mac + openmpi only

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

Originally reported in dolfinx-mpc, I've now reproduced the issue with just petsc4py with help from @jorgensd. Running a simple solve segfaults. Amazingly, this somehow only affects mac openmpi builds. All other combinations I've tested work fine.

And after some local rebuilds of petsc and mumps, I have narrowed this down to the shared-library builds of mumps that are the issue. When I rebuild mumps-mpi with static libs only and then rebuild petsc with that, there are no errors.

The segfault:

* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x6001550217f0)
  * frame #0: 0x00000001024c98a0 libdmumps.dylib`dmumps_scatter_dist_rhs_ + 736
    frame #1: 0x00000001024c4d94 libdmumps.dylib`dmumps_solve_driver_ + 56724
    frame #2: 0x0000000102516a1c libdmumps.dylib`dmumps_ + 1708
    frame #3: 0x000000010251b114 libdmumps.dylib`dmumps_f77_ + 4228
    frame #4: 0x0000000102514ba4 libdmumps.dylib`dmumps_c + 3312
    frame #5: 0x00000001030c7a90 libpetsc.3.20.3.dylib`MatSolve_MUMPS + 688
    frame #6: 0x0000000102fd61d0 libpetsc.3.20.3.dylib`MatSolve + 308
    frame #7: 0x000000010374bd7c libpetsc.3.20.3.dylib`PCApply_LU + 84
    frame #8: 0x0000000103880710 libpetsc.3.20.3.dylib`PCApply + 204
    frame #9: 0x00000001036556c4 libpetsc.3.20.3.dylib`KSPSolve_PREONLY + 248
    frame #10: 0x00000001036fa518 libpetsc.3.20.3.dylib`KSPSolve_Private + 1056
    frame #11: 0x00000001036fa0b4 libpetsc.3.20.3.dylib`KSPSolve + 16
    frame #12: 0x00000001019aaf38 PETSc.cpython-310-darwin.so`__pyx_pw_8petsc4py_5PETSc_3KSP_101solve + 176

Still working out what to do about that, but the shared-library builds on mac rely on patches I made, so something could be wrong there.

Installed packages

# packages in environment at /Users/minrk/conda/envs/ompi-petsc-latest:
#
# Name                    Version                   Build  Channel
bzip2                     1.0.8                h93a5062_5    conda-forge
c-ares                    1.26.0               h93a5062_0    conda-forge
ca-certificates           2023.11.17           hf0a4a13_0    conda-forge
fftw                      3.3.10          mpi_openmpi_haef8dc3_8    conda-forge
gmp                       6.3.0                h965bd2d_0    conda-forge
hdf5                      1.14.3          mpi_openmpi_h20f603a_0    conda-forge
hypre                     2.28.0          mpi_openmpi_haba3941_0    conda-forge
icu                       73.2                 hc8870d7_0    conda-forge
krb5                      1.21.2               h92f50d5_0    conda-forge
libaec                    1.1.2                h13dd4ca_1    conda-forge
libblas                   3.9.0           21_osxarm64_openblas    conda-forge
libcblas                  3.9.0           21_osxarm64_openblas    conda-forge
libcurl                   8.5.0                h2d989ff_0    conda-forge
libcxx                    16.0.6               h4653b0c_0    conda-forge
libedit                   3.1.20191231         hc8eb9b7_2    conda-forge
libev                     4.33                 h93a5062_2    conda-forge
libffi                    3.4.2                h3422bc3_5    conda-forge
libgfortran               5.0.0           13_2_0_hd922786_2    conda-forge
libgfortran5              13.2.0               hf226fd6_2    conda-forge
libhwloc                  2.9.3           default_h4394839_1009    conda-forge
libiconv                  1.17                 h0d3ecfb_2    conda-forge
liblapack                 3.9.0           21_osxarm64_openblas    conda-forge
libnghttp2                1.58.0               ha4dd798_1    conda-forge
libopenblas               0.3.26          openmp_h6c19121_0    conda-forge
libptscotch               7.0.4                h820b06d_1    conda-forge
libscotch                 7.0.4                hf7fe8bf_1    conda-forge
libsqlite                 3.44.2               h091b4b1_0    conda-forge
libssh2                   1.11.0               h7a5bd25_0    conda-forge
libxml2                   2.12.4               h0d0cfa8_1    conda-forge
libzlib                   1.2.13               h53f4e23_5    conda-forge
llvm-openmp               17.0.6               hcd81f8e_0    conda-forge
metis                     5.1.0             h13dd4ca_1007    conda-forge
mpfr                      4.2.1                h9546428_0    conda-forge
mpi                       1.0                     openmpi    conda-forge
mpi4py                    3.1.5           py310hd3bd7df_0    conda-forge
mumps-include             5.6.2                hce30654_4    conda-forge
mumps-mpi                 5.6.2                hc6b315c_4    conda-forge
ncurses                   6.4                  h463b476_2    conda-forge
numpy                     1.26.3          py310hd45542a_0    conda-forge
openmpi                   4.1.6              h526c993_101    conda-forge
openssl                   3.2.0                h0d3ecfb_1    conda-forge
parmetis                  4.0.3             h6eb5794_1005    conda-forge
petsc                     3.20.4          real_hdd9ae42_100    conda-forge
petsc4py                  3.20.3          real_heb9844d_100    conda-forge
pip                       23.3.2             pyhd8ed1ab_0    conda-forge
ptscotch                  7.0.4                hc1c4572_1    conda-forge
python                    3.10.13         h2469fbe_1_cpython    conda-forge
python_abi                3.10                    4_cp310    conda-forge
readline                  8.2                  h92ec313_1    conda-forge
scalapack                 2.2.0                h515df86_1    conda-forge
scotch                    7.0.4                hc1c4572_1    conda-forge
setuptools                69.0.3             pyhd8ed1ab_0    conda-forge
suitesparse               5.10.1               h79486c6_3    conda-forge
superlu                   5.2.2                hc615359_0    conda-forge
superlu_dist              8.2.1                h3dacc9e_1    conda-forge
tbb                       2021.11.0            h2ffa867_1    conda-forge
tk                        8.6.13               h5083fa2_1    conda-forge
tzdata                    2023d                h0c530f3_0    conda-forge
wheel                     0.42.0             pyhd8ed1ab_0    conda-forge
xz                        5.2.6                h57fd34a_0    conda-forge
yaml                      0.2.5                h3422bc3_2    conda-forge
zlib                      1.2.13               h53f4e23_5    conda-forge
zstd                      1.5.5                h4f39d0f_0    conda-forge

Environment info

active environment : ompi-mumps-561
    active env location : /Users/minrk/conda/envs/ompi-mumps-561
            shell level : 2
       user config file : /Users/minrk/.condarc
 populated config files : /Users/minrk/conda/.condarc
                          /Users/minrk/.condarc
          conda version : 23.11.0
    conda-build version : 3.28.4
         python version : 3.10.13.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=m1
                          __conda=23.11.0=0
                          __osx=14.3=0
                          __unix=0=0
       base environment : /Users/minrk/conda  (writable)
      conda av data dir : /Users/minrk/conda/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/osx-arm64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /Users/minrk/conda/pkgs
                          /Users/minrk/.conda/pkgs
       envs directories : /Users/minrk/conda/envs
                          /Users/minrk/.conda/envs
               platform : osx-arm64
             user-agent : conda/23.11.0 requests/2.31.0 CPython/3.10.13 Darwin/23.3.0 OSX/14.3 solver/libmamba conda-libmamba-solver/23.11.1 libmambapy/1.5.6
                UID:GID : 501:20
             netrc file : /Users/minrk/.netrc
           offline mode : False

Compile mumps as a shared library

Currently, this recipe builds mumps as a static library. As such, it contains
undefined symbols that are supposed to be found in the libraries that mumps
depends on (e.g. scotch).

The problem with this is that whenever we want to link against mumps we also have to link against all the dependencies of mumps as well (see e.g. this thread). This is clearly not great.

Debian already builds a mumps as a shared library, and as far as I can tell it is just a case of applying a few patches to the makefiles to add extra targets that correctly invoke the compiler to build shared libs.

I think that it may just be a case of taking over these patches from the Debian packaging (available over here) and massaging them slightly (e.g. to template out the library version).

Support for newer versions?

Comment:

Mumps is currently at version 5.5.1, but version 5.2.1 is the latest version available from conda-forge. Would it be possible to update to a more recent version?

Needs pin for metis

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

Metis 1.1.1 causes a segfault so a pin is needed (but even better would be a repo data patach)

Installed packages

mumps-seq 5.2.1   h2104b81_11 metis >=5.1.0,<5.2.0a0 conda-forge

Environment info

mamba info

          mamba version : 1.4.7
     active environment : metis
    active env location : /home/tinkerer/.conda/envs/metis
            shell level : 2
       user config file : /home/tinkerer/.condarc
 populated config files : /opt/conda/.condarc
          conda version : 23.5.0
    conda-build version : not installed
         python version : 3.11.4.final.0
       virtual packages : __archspec=1=x86_64
                          __glibc=2.35=0
                          __linux=3.10.0=0
                          __unix=0=0
       base environment : /opt/conda  (writable)
      conda av data dir : /opt/conda/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /home/tinkerer/.conda/pkgs
       envs directories : /home/tinkerer/.conda/envs
                          /opt/conda/envs
               platform : linux-64
             user-agent : conda/23.5.0 requests/2.31.0 CPython/3.11.4 Linux/3.10.0-1160.25.1.el7.x86_64 ubuntu/22.04.2 glibc/2.35
                UID:GID : 1004:100
             netrc file : None
           offline mode : False

build with MPI

People need MUMPS built with MPI for use in PETSc, and I'm trying to figure out the best way to go about it. Would it be possible for this recipe to be built with MPI? Or should that be done as a separate mumps-mpi package? Is there a downside to having built with MPI when running in serial?

If it should be a separate package that can be done on this repo in a branch (as is done with scotch/pt-scotch), or a new feedstock. Preferences?

cf conda-forge/petsc-feedstock#12

build examples using test.source_files

after merging mumps-mpi into the main recipe in #36, we have a copy of the examples directory (with a very slightly modified Makefile) in the recipe. We don't need to carry these files around because we can use

test:
  source_files:
    - examples

to get the example sources into the test environment.

I started trying to do this in #36 but had a hell of a time with little edge cases and didn't want to hold up that PR anymore while CI turnaround is so slow. We should be able to do this in a standalone PR without any changes to how things are actually built.

Crash with metis 5.1.1

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

The fix in #88 is creating problems, even if i solved the crash in import kwant; kwant.test().

See #87 (comment) for more details.

Installed packages

.

Environment info

.

Missing header file

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

The latest version of mumps-include seems to miss a header file. Specifically, mumps_c_types.h from mumps-include has these lines:

/* mumps_int_def.h will define either MUMPS_INTSIZE32 (default)
   or MUMPS_INTSIZE64 (if compilation is with -DINTSIZE64 to
   match Fortran -i8 or equivalent option). This allows one to
   test from an external code whether MUMPS_INT is 64bits or not */
#include "mumps_int_def.h"

however mumps_int_def.h is missing from mumps-include.

Installed packages

mumps-include                         5.6.2         ha770c72_0               conda-forge
mumps-seq                             5.6.2         h5c37537_0               conda-forge

Environment info

-

mumps and mumps-mpi cannot be installed side-by-side

Issue:

Both the sequential version and the mpi version install libraries with the same name, e.g. libdmumps.a. If both versions are installed, the later installed versions overwrites the other one.

Since the mumps libraries are static, this does not affect other conda packages at this point, as they will be already linked statically to the right version at installation time. However, if you want to use them directly in your code, this is a problem.

I would suggest to use different names for the two versions, like Debian does (see https://tracker.debian.org/pkg/mumps and related pages).

incorrect install name in osx mumps libraries

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

I've been attempting to build a package that dynamically links against the sequential library and running into several issues.
The first is related to #102, which looks to already have a PR open.

For context, I'm running on an OSX arm processor.

After a temporary workaround of removing that import, successfully compiling and linking together the package, I now run into issues at runtime. It is unable to find the library at runtime. Using otool -L libdmumps_seq.dylib(on this installed libraries from conda-forge) reveals the following:

	../lib/libdmumps_seq.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libmetis.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libmpiseq_seq.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/liblapack.3.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libblas.3.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libmumps_common_seq.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libgfortran.5.dylib (compatibility version 6.0.0, current version 6.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.0.0)

It would appear that the rpath is not set for the first entry of the library (the other libraries smumps_seq, cmumps_seq, zmumps_seq have this same issue). However libesmumps.dylib and libmumps_common_seq.dylib do not have this issue.

Installed packages

anyio                     4.2.0              pyhd8ed1ab_0    conda-forge
appnope                   0.1.3              pyhd8ed1ab_0    conda-forge
argon2-cffi               23.1.0             pyhd8ed1ab_0    conda-forge
argon2-cffi-bindings      21.2.0          py311heffc1b2_4    conda-forge
arrow                     1.3.0              pyhd8ed1ab_0    conda-forge
asttokens                 2.4.1              pyhd8ed1ab_0    conda-forge
async-lru                 2.0.4              pyhd8ed1ab_0    conda-forge
attrs                     23.1.0             pyh71513ae_1    conda-forge
babel                     2.14.0             pyhd8ed1ab_0    conda-forge
beautifulsoup4            4.12.2             pyha770c72_0    conda-forge
bleach                    6.1.0              pyhd8ed1ab_0    conda-forge
brotli                    1.1.0                hb547adb_1    conda-forge
brotli-bin                1.1.0                hb547adb_1    conda-forge
brotli-python             1.1.0           py311ha891d26_1    conda-forge
bzip2                     1.0.8                h93a5062_5    conda-forge
ca-certificates           2023.11.17           hf0a4a13_0    conda-forge
cached-property           1.5.2                hd8ed1ab_1    conda-forge
cached_property           1.5.2              pyha770c72_1    conda-forge
certifi                   2023.11.17         pyhd8ed1ab_0    conda-forge
cffi                      1.16.0          py311h4a08483_0    conda-forge
charset-normalizer        3.3.2              pyhd8ed1ab_0    conda-forge
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
comm                      0.1.4              pyhd8ed1ab_0    conda-forge
contourpy                 1.2.0           py311hd03642b_0    conda-forge
cycler                    0.12.1             pyhd8ed1ab_0    conda-forge
cython                    3.0.7           py311h92babd0_0    conda-forge
debugpy                   1.8.0           py311ha891d26_1    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
discretize                0.10.0          py311hc00d0f6_1    conda-forge
entrypoints               0.4                pyhd8ed1ab_0    conda-forge
exceptiongroup            1.2.0              pyhd8ed1ab_0    conda-forge
executing                 2.0.1              pyhd8ed1ab_0    conda-forge
fonttools                 4.47.0          py311h05b510d_0    conda-forge
fqdn                      1.5.1              pyhd8ed1ab_0    conda-forge
freetype                  2.12.1               hadb7bae_2    conda-forge
gettext                   0.21.1               h0186832_0    conda-forge
idna                      3.6                pyhd8ed1ab_0    conda-forge
importlib-metadata        7.0.0              pyha770c72_0    conda-forge
importlib_metadata        7.0.0                hd8ed1ab_0    conda-forge
importlib_resources       6.1.1              pyhd8ed1ab_0    conda-forge
ipykernel                 6.26.0             pyh3cd1d5f_0    conda-forge
ipython                   8.18.1             pyh707e725_3    conda-forge
ipywidgets                8.1.1              pyhd8ed1ab_0    conda-forge
isoduration               20.11.0            pyhd8ed1ab_0    conda-forge
jedi                      0.19.1             pyhd8ed1ab_0    conda-forge
jinja2                    3.1.2              pyhd8ed1ab_1    conda-forge
json5                     0.9.14             pyhd8ed1ab_0    conda-forge
jsonpointer               2.4             py311h267d04e_3    conda-forge
jsonschema                4.20.0             pyhd8ed1ab_0    conda-forge
jsonschema-specifications 2023.11.2          pyhd8ed1ab_0    conda-forge
jsonschema-with-format-nongpl 4.20.0             pyhd8ed1ab_0    conda-forge
jupyter                   1.0.0             pyhd8ed1ab_10    conda-forge
jupyter-lsp               2.2.1              pyhd8ed1ab_0    conda-forge
jupyter_client            8.6.0              pyhd8ed1ab_0    conda-forge
jupyter_console           6.6.3              pyhd8ed1ab_0    conda-forge
jupyter_core              5.5.1           py311h267d04e_0    conda-forge
jupyter_events            0.9.0              pyhd8ed1ab_0    conda-forge
jupyter_server            2.12.1             pyhd8ed1ab_0    conda-forge
jupyter_server_terminals  0.5.0              pyhd8ed1ab_0    conda-forge
jupyterlab                4.0.9              pyhd8ed1ab_0    conda-forge
jupyterlab_pygments       0.3.0              pyhd8ed1ab_0    conda-forge
jupyterlab_server         2.25.2             pyhd8ed1ab_0    conda-forge
jupyterlab_widgets        3.0.9              pyhd8ed1ab_0    conda-forge
kiwisolver                1.4.5           py311he4fd1f5_1    conda-forge
lcms2                     2.16                 ha0e7c42_0    conda-forge
lerc                      4.0.0                h9a09cb3_0    conda-forge
libblas                   3.9.0           20_osxarm64_accelerate    conda-forge
libbrotlicommon           1.1.0                hb547adb_1    conda-forge
libbrotlidec              1.1.0                hb547adb_1    conda-forge
libbrotlienc              1.1.0                hb547adb_1    conda-forge
libcblas                  3.9.0           20_osxarm64_accelerate    conda-forge
libcxx                    16.0.6               h4653b0c_0    conda-forge
libdeflate                1.19                 hb547adb_0    conda-forge
libexpat                  2.5.0                hb7217d7_1    conda-forge
libffi                    3.4.2                h3422bc3_5    conda-forge
libgfortran               5.0.0           13_2_0_hd922786_1    conda-forge
libgfortran5              13.2.0               hf226fd6_1    conda-forge
libglib                   2.78.3               hb438215_0    conda-forge
libiconv                  1.17                 h0d3ecfb_2    conda-forge
libjpeg-turbo             3.0.0                hb547adb_1    conda-forge
liblapack                 3.9.0           20_osxarm64_accelerate    conda-forge
libpng                    1.6.39               h76d750c_0    conda-forge
libscotch                 7.0.4                hc938e73_1    conda-forge
libsodium                 1.0.18               h27ca646_1    conda-forge
libsqlite                 3.44.2               h091b4b1_0    conda-forge
libtiff                   4.6.0                ha8a6c65_2    conda-forge
libwebp-base              1.3.2                hb547adb_0    conda-forge
libxcb                    1.15                 hf346824_0    conda-forge
libzlib                   1.2.13               h53f4e23_5    conda-forge
llvm-openmp               17.0.6               hcd81f8e_0    conda-forge
markupsafe                2.1.3           py311heffc1b2_1    conda-forge
matplotlib                3.8.2           py311ha1ab1f8_0    conda-forge
matplotlib-base           3.8.2           py311hfdba5f6_0    conda-forge
matplotlib-inline         0.1.6              pyhd8ed1ab_0    conda-forge
meson                     1.3.0              pyhd8ed1ab_0    conda-forge
meson-python              0.15.0             pyh0c530f3_0    conda-forge
metis                     5.1.1                h965bd2d_2    conda-forge
mistune                   3.0.2              pyhd8ed1ab_0    conda-forge
mumps-include             5.6.2                hce30654_0    conda-forge
mumps-seq                 5.6.2                hfe4d18a_0    conda-forge
mumpys                    0.0.1                    pypi_0    pypi
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
nbclient                  0.8.0              pyhd8ed1ab_0    conda-forge
nbconvert                 7.13.0             pyhd8ed1ab_0    conda-forge
nbconvert-core            7.13.0             pyhd8ed1ab_0    conda-forge
nbconvert-pandoc          7.13.0             pyhd8ed1ab_0    conda-forge
nbformat                  5.9.2              pyhd8ed1ab_0    conda-forge
ncurses                   6.4                  h463b476_2    conda-forge
nest-asyncio              1.5.8              pyhd8ed1ab_0    conda-forge
ninja                     1.11.1               hffc8910_0    conda-forge
notebook                  7.0.6              pyhd8ed1ab_0    conda-forge
notebook-shim             0.2.3              pyhd8ed1ab_0    conda-forge
numpy                     1.26.2          py311h6d074dd_0    conda-forge
openjpeg                  2.5.0                h4c1507b_3    conda-forge
openssl                   3.2.0                h0d3ecfb_1    conda-forge
overrides                 7.4.0              pyhd8ed1ab_0    conda-forge
packaging                 23.2               pyhd8ed1ab_0    conda-forge
pandoc                    3.1.3                hce30654_0    conda-forge
pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
parso                     0.8.3              pyhd8ed1ab_0    conda-forge
pcre2                     10.42                h26f9a81_0    conda-forge
pexpect                   4.8.0              pyh1a96a4e_2    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pillow                    10.1.0          py311hb9c5795_0    conda-forge
pip                       23.3.2             pyhd8ed1ab_0    conda-forge
pkg-config                0.29.2            hab62308_1008    conda-forge
pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
platformdirs              4.1.0              pyhd8ed1ab_0    conda-forge
prometheus_client         0.19.0             pyhd8ed1ab_0    conda-forge
prompt-toolkit            3.0.42             pyha770c72_0    conda-forge
prompt_toolkit            3.0.42               hd8ed1ab_0    conda-forge
psutil                    5.9.7           py311h05b510d_0    conda-forge
pthread-stubs             0.4               h27ca646_1001    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
pyaccel                   0.0.1                    pypi_0    pypi
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pygments                  2.17.2             pyhd8ed1ab_0    conda-forge
pyobjc-core               10.1            py311h665608e_0    conda-forge
pyobjc-framework-cocoa    10.1            py311h665608e_0    conda-forge
pyparsing                 3.1.1              pyhd8ed1ab_0    conda-forge
pyproject-metadata        0.7.1              pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1              pyha2e5f31_6    conda-forge
python                    3.11.7          hdf0ec26_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python-fastjsonschema     2.19.0             pyhd8ed1ab_0    conda-forge
python-json-logger        2.0.7              pyhd8ed1ab_0    conda-forge
python_abi                3.11                    4_cp311    conda-forge
pytz                      2023.3.post1       pyhd8ed1ab_0    conda-forge
pyyaml                    6.0.1           py311heffc1b2_1    conda-forge
pyzmq                     25.1.2          py311h6727e71_0    conda-forge
qtconsole-base            5.5.1              pyha770c72_0    conda-forge
qtpy                      2.4.1              pyhd8ed1ab_0    conda-forge
readline                  8.2                  h92ec313_1    conda-forge
referencing               0.32.0             pyhd8ed1ab_0    conda-forge
requests                  2.31.0             pyhd8ed1ab_0    conda-forge
rfc3339-validator         0.1.4              pyhd8ed1ab_0    conda-forge
rfc3986-validator         0.1.1              pyh9f0ad1d_0    conda-forge
rpds-py                   0.15.2          py311h94f323b_0    conda-forge
scipy                     1.11.4          py311h2b215a9_0    conda-forge
scotch                    7.0.4                heaa5b5c_1    conda-forge
send2trash                1.8.2              pyhd1c38e8_0    conda-forge
setuptools                68.2.2             pyhd8ed1ab_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
sniffio                   1.3.0              pyhd8ed1ab_0    conda-forge
soupsieve                 2.5                pyhd8ed1ab_1    conda-forge
stack_data                0.6.2              pyhd8ed1ab_0    conda-forge
terminado                 0.18.0             pyh31c8845_0    conda-forge
tinycss2                  1.2.1              pyhd8ed1ab_0    conda-forge
tk                        8.6.13               h5083fa2_1    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
tornado                   6.3.3           py311heffc1b2_1    conda-forge
traitlets                 5.14.0             pyhd8ed1ab_0    conda-forge
types-python-dateutil     2.8.19.14          pyhd8ed1ab_0    conda-forge
typing-extensions         4.9.0                hd8ed1ab_0    conda-forge
typing_extensions         4.9.0              pyha770c72_0    conda-forge
typing_utils              0.1.0              pyhd8ed1ab_0    conda-forge
tzdata                    2023c                h71feb2d_0    conda-forge
uri-template              1.3.0              pyhd8ed1ab_0    conda-forge
urllib3                   2.1.0              pyhd8ed1ab_0    conda-forge
wcwidth                   0.2.12             pyhd8ed1ab_0    conda-forge
webcolors                 1.13               pyhd8ed1ab_0    conda-forge
webencodings              0.5.1              pyhd8ed1ab_2    conda-forge
websocket-client          1.7.0              pyhd8ed1ab_0    conda-forge
wheel                     0.42.0             pyhd8ed1ab_0    conda-forge
widgetsnbextension        4.0.9              pyhd8ed1ab_0    conda-forge
xorg-libxau               1.0.11               hb547adb_0    conda-forge
xorg-libxdmcp             1.1.3                h27ca646_0    conda-forge
xz                        5.2.6                h57fd34a_0    conda-forge
yaml                      0.2.5                h3422bc3_2    conda-forge
zeromq                    4.3.5                h965bd2d_0    conda-forge
zipp                      3.17.0             pyhd8ed1ab_0    conda-forge
zlib                      1.2.13               h53f4e23_5    conda-forge
zstd                      1.5.5                h4f39d0f_0    conda-forge

Environment info

active environment : simulation
    active env location : /Users/jcapriot/miniforge3/envs/simulation
            shell level : 4
       user config file : /Users/jcapriot/.condarc
 populated config files : /Users/jcapriot/miniforge3/.condarc
          conda version : 23.3.1
    conda-build version : not installed
         python version : 3.10.12.final.0
       virtual packages : __archspec=1=arm64
                          __osx=14.1=0
                          __unix=0=0
       base environment : /Users/jcapriot/miniforge3  (writable)
      conda av data dir : /Users/jcapriot/miniforge3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/osx-arm64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /Users/jcapriot/miniforge3/pkgs
                          /Users/jcapriot/.conda/pkgs
       envs directories : /Users/jcapriot/miniforge3/envs
                          /Users/jcapriot/.conda/envs
               platform : osx-arm64
             user-agent : conda/23.3.1 requests/2.31.0 CPython/3.10.12 Darwin/23.1.0 OSX/14.1
                UID:GID : 502:20
             netrc file : None
           offline mode : False

Master branch is failing

Here is one error:

C:\Miniconda\Scripts\conda.exe install python=3.6 conda-build conda conda-forge::conda-forge-ci-setup=2 --quiet --yes -c conda-forge
(node:3812) Warning: Use Cipheriv for counter mode of aes-256-ctr
(node:3812) Warning: Use Cipheriv for counter mode of aes-256-ctr
(node:3812) Warning: Use Cipheriv for counter mode of aes-256-ctr
(node:3812) Warning: Use Cipheriv for counter mode of aes-256-ctr
(node:3812) Warning: Use Cipheriv for counter mode of aes-256-ctr
(node:3812) Warning: Use Cipheriv for counter mode of aes-256-ctr
(node:3812) Warning: Use Cipheriv for counter mode of aes-256-ctr
(node:3812) Warning: Use Cipheriv for counter mode of aes-256-ctr
(node:3812) Warning: Use Cipheriv for counter mode of aes-256-ctr
(node:3812) Warning: Use Cipheriv for counter mode of aes-256-ctr
Collecting package metadata: ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: C:\Miniconda

  added / updated specs:
    - conda
    - conda-build
    - conda-forge::conda-forge-ci-setup=2
    - python=3.6


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    anaconda-client-1.7.2      |             py_0          69 KB  conda-forge
    asn1crypto-1.3.0           |           py36_0         159 KB  conda-forge
    attrs-19.3.0               |             py_0          35 KB  conda-forge
    beautifulsoup4-4.8.2       |           py36_0         159 KB  conda-forge
    bzip2-1.0.8                |       hfa6e2cd_2         148 KB  conda-forge
Running `conda clean --packages` may resolve your problem.

##[error]Failed to install packages. Error: C:\Miniconda\Scripts\conda.exe failed with return code: 1
Finishing: Install conda-build and activate environment

Windows package installs .lib files in Library\bin\

On Windows, the mumps-seq package installs the files:

  • cmumps.lib
  • dmumps.lib
  • smumps.lib
  • zmumps.lib

in the Library\bin\ directory, instead of the Library\lib directory in which .lib files are usually installed.


Environment (conda list):
$ conda list
(ipopt-tests) C:\src\ipopt-tests\Ipopt\build-nmake>conda list
# packages in environment at C:\Users\STraversaro\Miniconda3\envs\ipopt-tests:
#
# Name                    Version                   Build  Channel
c-compiler                1.1.1                he774522_1    conda-forge
clangdev                  5.0.0                   flang_3  [flang]  conda-forge
cmake                     3.18.3               h39d44d4_0    conda-forge
compilers                 1.1.1                         1    conda-forge
cxx-compiler              1.1.1                h74a9793_1    conda-forge
flang                     5.0.0           he025d50_20180525    conda-forge
flang_win-64              5.0.0                  20180525    conda-forge
fortran-compiler          1.1.1                he67e8c7_1    conda-forge
gettext                   0.19.8.1          hfbb10ce_1004    conda-forge
intel-openmp              2020.2                      254
lapack                    3.9.0                    netlib    conda-forge
libblas                   3.9.0           2_h8933c1f_netlib    conda-forge
libffi                    3.2.1             ha925a31_1007    conda-forge
libflang                  5.0.0           h6538335_20180525    conda-forge
libglib                   2.66.2               h35efcdc_0    conda-forge
libiconv                  1.16                 he774522_0    conda-forge
liblapack                 3.9.0           2_h8933c1f_netlib    conda-forge
llvm-meta                 5.0.0                         0    conda-forge
m2w64-gcc-libgfortran     5.3.0                         6
m2w64-gcc-libs            5.3.0                         7
m2w64-gcc-libs-core       5.3.0                         7
m2w64-gmp                 6.1.0                         2
m2w64-libwinpthread-git   5.0.0.4634.697f757               2
mkl                       2020.2                      256
msys2-conda-epoch         20160418                      1
mumps-seq                 5.2.1                h0f4c095_9    conda-forge
ninja                     1.10.1               h587dcfd_2    conda-forge
openmp                    5.0.0                    vc14_1    conda-forge
pcre                      8.44                 ha925a31_0    conda-forge
pkg-config                0.29.2            h4a39e8b_1008    conda-forge
vc                        14.1                 h869be7e_1    conda-forge
vs2015_runtime            14.16.27012          h30e32a0_2    conda-forge
vs2017_win-64             19.16.27038          h2e3bad8_2    conda-forge
vswhere                   2.7.1                h21ff451_0
zlib                      1.2.11            h62dcd97_1010    conda-forge

(ipopt-tests) C:\src\ipopt-tests\Ipopt\build-nmake>

Details about conda and system ( conda info ):
$ conda info
(ipopt-tests) C:\src\ipopt-tests\Ipopt\build-nmake>conda info

     active environment : ipopt-tests
    active env location : C:\Users\STraversaro\Miniconda3\envs\ipopt-tests
            shell level : 2
       user config file : C:\Users\STraversaro\.condarc
 populated config files : C:\Users\STraversaro\.condarc
          conda version : 4.8.3
    conda-build version : not installed
         python version : 3.8.3.final.0
       virtual packages : __cuda=10.2
       base environment : C:\Users\STraversaro\Miniconda3  (writable)
           channel URLs : https://conda.anaconda.org/conda-forge/win-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : C:\Users\STraversaro\Miniconda3\pkgs
                          C:\Users\STraversaro\.conda\pkgs
                          C:\Users\STraversaro\AppData\Local\conda\conda\pkgs
       envs directories : C:\Users\STraversaro\Miniconda3\envs
                          C:\Users\STraversaro\.conda\envs
                          C:\Users\STraversaro\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/4.8.3 requests/2.23.0 CPython/3.8.3 Windows/10 Windows/10.0.19041
          administrator : False
             netrc file : None
           offline mode : False


(ipopt-tests) C:\src\ipopt-tests\Ipopt\build-nmake>

pkgconfig

Comment:

I would like to put in a request for installed pkgconfig files for the installed mumps. I don't imagine that the source code generates anything, but you could create some simple files for the libraries installed during the conda-forge building steps. As a simple example:

prefix= <-WRITE $PREFIX TO HERE DURING BUILD
exec_prefix=${prefix}
libdir=${prefix}/lib
sharedlibdir=${libdir}
includedir=${prefix}/include

Name: dmumps_seq
Description: The sequential double MUMPS library
Version: <- WRITE THE VERSION STRING TO HERE DURING BUILD
Cflags: -I${includedir}
Libs: -L${libdir} -ldmumps_seq

I also do not know what this would correspond to on windows machines.

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.