Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

coin-utils: add v2.11.11, apply autoreconf, use OpenBLAS, add GLPK support #23532

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

valgur
Copy link
Contributor

@valgur valgur commented Apr 15, 2024

Also sets --enable-coinutils-threads on systems where it is supported.

I did not make BLAS and LAPACK support optional as using COIN-OR libraries without them barely makes sense, really. Can be added later, if necessary.

GLPK is used in most of the COIN-OR packages, but is GPL-licensed, so I included an option to disable it.

Requires

@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 2 (3b13c2feb837b75553f58136c8a52c36123073e8):

  • coin-utils/2.11.9:
    Error running command conan info coin-utils/2.11.9@#0b464a07065b71fdd89c3afd9a373bbd --json {jsonName} -pr {profileName}:

    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=5
    os=Linux
    [options]
    coin-utils:shared=False
    
    ...
    ERROR: Failed requirement 'glpk/4.48' from 'coin-utils/2.11.9'
    ERROR: Unable to find 'glpk/4.48' in remotes
    
  • coin-utils/2.11.11:
    Didn't run or was cancelled before finishing

  • coin-utils/2.11.6:
    Didn't run or was cancelled before finishing

  • coin-utils/2.11.10:
    Didn't run or was cancelled before finishing

  • coin-utils/2.11.4:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline ❌

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

See details:

Failure in build 2 (3b13c2feb837b75553f58136c8a52c36123073e8):

  • coin-utils/2.11.11:
    Error running command conan graph info --requires coin-utils/2.11.11@#a764e3aeefef42885965cb346244241c -f json -pr:h /home/conan/workspace/prod-v2/bsr/23512/beecb/profile_linux_11_libstdcpp11_17_gcc_release_64.-shared-False.txt -pr:b /home/conan/workspace/prod-v2/bsr/23512/beecb/profile_linux_11_libstdcpp11_17_gcc_release_64..txt:

    ======== Computing dependency graph ========
    bzip2/1.0.8: Not found in local cache, looking in remotes...
    bzip2/1.0.8: Checking remote: conan-center
    bzip2/1.0.8: Downloaded recipe revision 457c272f7da34cb9c67456dd217d36c4
    zlib/1.3.1: Not found in local cache, looking in remotes...
    zlib/1.3.1: Checking remote: conan-center
    zlib/1.3.1: Downloaded recipe revision f52e03ae3d251dec704634230cd806a2
    openblas/0.3.26: Not found in local cache, looking in remotes...
    openblas/0.3.26: Checking remote: conan-center
    openblas/0.3.26: Downloaded recipe revision efb7501e3059ca4f35cafc365a199c29
    glpk/4.48: Not found in local cache, looking in remotes...
    glpk/4.48: Checking remote: conan-center
    glpk/4.48: Checking remote: c3i_PR-v2-23532
    Graph root
        cli
    Requirements
        bzip2/1.0.8#457c272f7da34cb9c67456dd217d36c4 - Downloaded (conan-center)
        coin-utils/2.11.11#a764e3aeefef42885965cb346244241c - Cache
        openblas/0.3.26#efb7501e3059ca4f35cafc365a199c29 - Downloaded (conan-center)
        zlib/1.3.1#f52e03ae3d251dec704634230cd806a2 - Downloaded (conan-center)
    Resolved version ranges
        zlib/[>=1.2.11 <2]: zlib/1.3.1
    Graph error
        Package 'glpk/4.48' not resolved: Unable to find 'glpk/4.48' in remotes.
    ERROR: Package 'glpk/4.48' not resolved: Unable to find 'glpk/4.48' in remotes.
    
  • coin-utils/2.11.9:
    Didn't run or was cancelled before finishing

  • coin-utils/2.11.6:
    Didn't run or was cancelled before finishing

  • coin-utils/2.11.4:
    Didn't run or was cancelled before finishing

  • coin-utils/2.11.10:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

# should be packaged and added to build requirements.
if hasattr(self, "settings_build") and cross_building(self) and self.options.shared:
raise ConanInvalidConfiguration("coin-utils shared not supported yet when cross-building")
self.requires("openblas/0.3.26")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
self.requires("openblas/0.3.26")
self.requires("openblas/0.3.27")

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll handle this once the two prerequisite PRs have been merged.

Copy link
Contributor

@EstebanDugueperoux2 EstebanDugueperoux2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a requirement bump

@EstebanDugueperoux2
Copy link
Contributor

Hi @valgur,

When building coin-clp (#23534) locally with coin-utils (this PR) previously built to be existing in my conan cache, I got following error:

libtool: link: g++ -std=gnu++14 -m64 -fPIC -O3 -DCLP_BUILD -m64 -fuse-ld=gold -fuse-ld=gold -o clp ClpMain.o ./.libs/libClpSolver.a -L/root/.conan2/p/b/coin-38059e6d0c8ec/p/lib -L/root/.conan2/p/b/bzip2c9eab09a3ceb0/p/lib -L/root/.conan2/p/b/zlibc456311b7cbca/p/lib -L/root/.conan2/p/b/glpk59fe11f78e575/p/lib -L/root/.conan2/p/b/gmp6e77438befa5a/p/lib -L/root/.conan2/p/b/openb2392ba7ee2666/p/lib /root/.conan2/p/b/coin-f5ee5a012cd0d/b/build-release/Clp/src/.libs/libClp.a ./.libs/libClp.a -lCoinUtils -lrt -lbz2 -lz -lglpk -lgmpxx -lgmp -lopenblas -lm -lpthread /root/.conan2/p/b/coin-38059e6d0c8ec/p/lib/libCoinUtils.a(CoinFactorization2.o):CoinFactorization2.cpp:function CoinFactorization::factorDense(): error: undefined reference to 'DGETRF' /root/.conan2/p/b/coin-38059e6d0c8ec/p/lib/libCoinUtils.a(CoinFactorization3.o):CoinFactorization3.cpp:function CoinFactorization::updateColumnL(CoinIndexedVector*, int*) const: error: undefined reference to 'DGETRS' /root/.conan2/p/b/coin-38059e6d0c8ec/p/lib/libCoinUtils.a(CoinFactorization3.o):CoinFactorization3.cpp:function CoinFactorization::updateColumnL(CoinIndexedVector*, int*) const: error: undefined reference to 'DGETRS' /root/.conan2/p/b/coin-38059e6d0c8ec/p/lib/libCoinUtils.a(CoinFactorization4.o):CoinFactorization4.cpp:function CoinFactorization::updateColumnTransposeL(CoinIndexedVector*) const: error: undefined reference to 'DGETRS' /root/.conan2/p/b/coin-38059e6d0c8ec/p/lib/libCoinUtils.a(CoinFactorization4.o):CoinFactorization4.cpp:function CoinFactorization::updateColumnTransposeL(CoinIndexedVector*) const: error: undefined reference to 'DGETRS' /root/.conan2/p/b/coin-38059e6d0c8ec/p/lib/libCoinUtils.a(CoinDenseFactorization.o):CoinDenseFactorization.cpp:function CoinDenseFactorization::factor(): error: undefined reference to 'DGETRF'

This issue seems related to the addition of the openblas requirement.
Does it means that this requirement should enable transitive_libs?

Regards.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants