sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.33k stars 453 forks source link

some gentoo distro info missing #29656

Closed dimpase closed 4 years ago

dimpase commented 4 years ago

There is no build/pkgs/X/distros/gentoo.txt for X in {m4rie, eclib} - which are otherwise perfectly OK.

Also, gentoo's cbc (i.e. coinor-cbc) package is present, but outdated, so Sage can't use it. Perhaps, update?

CC: @orlitzky @kiwifb

Component: build: configure

Author: Michael Orlitzky

Branch/Commit: 85045bc

Reviewer: Dima Pasechnik

Issue created by migration from https://trac.sagemath.org/ticket/29656

dimpase commented 4 years ago

Description changed:

--- 
+++ 
@@ -1,3 +1,3 @@
 There is no `build/pkgs/X/distros/gentoo.txt` for `X in {m4rie, eclib}` - which are otherwise perfectly OK.

-Also, gentoo's cbc package is present, but outdated, so Sage can't use it. Perhaps, update? 
+Also, gentoo's cbc (i.e. `coinor-cbc`) package is present, but outdated, so Sage can't use it. Perhaps, update? 
mkoeppe commented 4 years ago
comment:2

See also #29105 - Extend dockerfile generator to gentoo, add more gentoo packages

orlitzky commented 4 years ago
comment:3

I'm working on CoinOR in Gentoo, but there are several packages I have to update at the same time, all with bugs open, and all sharing the same dumpster fire build system.

Our package for m4rie is sci-libs/m4rie and eclib is sci-mathematics/eclib[flint]. You can just add those and make this positive review on my behalf if you want. It's a trivial change.

kiwifb commented 4 years ago
comment:4

Replying to @orlitzky:

I'm working on CoinOR in Gentoo, but there are several packages I have to update at the same time, all with bugs open, and all sharing the same dumpster fire build system.

I had a go 6 months ago but ended up in a big mess. I unfortunately didn't put it on git and have nothing to show for my efforts.

Our package for m4rie is sci-libs/m4rie and eclib is sci-mathematics/eclib[flint]. You can just add those and make this positive review on my behalf if you want. It's a trivial change.

I don't remember you doing m4rie, I have to update the overlay.

orlitzky commented 4 years ago

Commit: 85045bc

orlitzky commented 4 years ago

Branch: u/mjo/ticket/29656

orlitzky commented 4 years ago
comment:5

coinor-cbc is finally up-to-date in Gentoo.


New commits:

930743bTrac #29656: add Gentoo package information for m4rie.
85045bcTrac #29656: add Gentoo package information for eclib.
orlitzky commented 4 years ago

Author: Michael Orlitzky

dimpase commented 4 years ago
comment:6

new gentoo's cbc is broken for me:

# emerge --ask coinor-cbc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sci-libs/coinor-cbc-2.10.5 [2.8.9]

...

/bin/sh ../libtool --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I`echo .` -I../src  -I/usr/include/coin -I/usr/include/coin     -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG   -march=native -O3 -fomit-frame-pointer -pipe   -DCBC_BUILD -c -o CbcCutModifier.lo CbcCutModifier.cpp
 x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../src -I/usr/include/coin -I/usr/include/coin -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG -march=native -O3 -fomit-frame-pointer -pipe -DCBC_BUILD -c CbcCutGenerator.cpp  -fPIC -DPIC -o .libs/CbcCutGenerator.o
 x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../src -I/usr/include/coin -I/usr/include/coin -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG -march=native -O3 -fomit-frame-pointer -pipe -DCBC_BUILD -c CbcCutModifier.cpp  -fPIC -DPIC -o .libs/CbcCutModifier.o
CbcCutGenerator.cpp: In member function 'bool CbcCutGenerator::generateCuts(OsiCuts&, int, OsiSolverInterface*, CbcNode*)':
CbcCutGenerator.cpp:306:12: error: 'class CglTreeInfo' has no member named 'parentSolver'
       info.parentSolver = model_->parentModel()->continuousSolver();
            ^~~~~~~~~~~~
CbcCutGenerator.cpp:308:12: error: 'class CglTreeInfo' has no member named 'hasParent'
       info.hasParent = ((model_->specialOptions() & 67108864) == 0) ? 1 : 2;
            ^~~~~~~~~
CbcCutGenerator.cpp:310:12: error: 'class CglTreeInfo' has no member named 'hasParent'
       info.hasParent = 0;
            ^~~~~~~~~
CbcCutGenerator.cpp:311:12: error: 'class CglTreeInfo' has no member named 'parentSolver'
       info.parentSolver = NULL;
            ^~~~~~~~~~~~
CbcCutGenerator.cpp:313:10: error: 'class CglTreeInfo' has no member named 'originalColumns'
     info.originalColumns = model_->originalColumns();
          ^~~~~~~~~~~~~~~
CbcCutGenerator.cpp:351:18: error: 'class CglTreeProbingInfo' has no member named 'parentSolver'
           info2->parentSolver = model_->parentModel()->continuousSolver();
                  ^~~~~~~~~~~~
CbcCutGenerator.cpp:353:18: error: 'class CglTreeProbingInfo' has no member named 'hasParent'
           info2->hasParent = ((model_->specialOptions() & 67108864) == 0) ? 1 : 2;
                  ^~~~~~~~~
CbcCutGenerator.cpp:355:18: error: 'class CglTreeProbingInfo' has no member named 'hasParent'
           info2->hasParent = 0;
                  ^~~~~~~~~
CbcCutGenerator.cpp:356:18: error: 'class CglTreeProbingInfo' has no member named 'parentSolver'
           info2->parentSolver = NULL;
                  ^~~~~~~~~~~~
CbcCutGenerator.cpp:358:16: error: 'class CglTreeProbingInfo' has no member named 'originalColumns'; did you mean 'fixColumns'?
         info2->originalColumns = model_->originalColumns();
                ^~~~~~~~~~~~~~~
                fixColumns

This is with Gentoo g++8.3.1-r2 p4 (in case it matters)

perhaps I must learn/get properly set up to properly report gentoo bugs...

dimpase commented 4 years ago

Reviewer: Dima Pasechnik

dimpase commented 4 years ago
comment:7

otherwise, lgtm

kiwifb commented 4 years ago
comment:8

Replying to @dimpase:

new gentoo's cbc is broken for me:

# emerge --ask coinor-cbc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sci-libs/coinor-cbc-2.10.5 [2.8.9]

...

/bin/sh ../libtool --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I`echo .` -I../src  -I/usr/include/coin -I/usr/include/coin     -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG   -march=native -O3 -fomit-frame-pointer -pipe   -DCBC_BUILD -c -o CbcCutModifier.lo CbcCutModifier.cpp
 x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../src -I/usr/include/coin -I/usr/include/coin -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG -march=native -O3 -fomit-frame-pointer -pipe -DCBC_BUILD -c CbcCutGenerator.cpp  -fPIC -DPIC -o .libs/CbcCutGenerator.o
 x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../src -I/usr/include/coin -I/usr/include/coin -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG -march=native -O3 -fomit-frame-pointer -pipe -DCBC_BUILD -c CbcCutModifier.cpp  -fPIC -DPIC -o .libs/CbcCutModifier.o
CbcCutGenerator.cpp: In member function 'bool CbcCutGenerator::generateCuts(OsiCuts&, int, OsiSolverInterface*, CbcNode*)':
CbcCutGenerator.cpp:306:12: error: 'class CglTreeInfo' has no member named 'parentSolver'
       info.parentSolver = model_->parentModel()->continuousSolver();
            ^~~~~~~~~~~~
CbcCutGenerator.cpp:308:12: error: 'class CglTreeInfo' has no member named 'hasParent'
       info.hasParent = ((model_->specialOptions() & 67108864) == 0) ? 1 : 2;
            ^~~~~~~~~
CbcCutGenerator.cpp:310:12: error: 'class CglTreeInfo' has no member named 'hasParent'
       info.hasParent = 0;
            ^~~~~~~~~
CbcCutGenerator.cpp:311:12: error: 'class CglTreeInfo' has no member named 'parentSolver'
       info.parentSolver = NULL;
            ^~~~~~~~~~~~
CbcCutGenerator.cpp:313:10: error: 'class CglTreeInfo' has no member named 'originalColumns'
     info.originalColumns = model_->originalColumns();
          ^~~~~~~~~~~~~~~
CbcCutGenerator.cpp:351:18: error: 'class CglTreeProbingInfo' has no member named 'parentSolver'
           info2->parentSolver = model_->parentModel()->continuousSolver();
                  ^~~~~~~~~~~~
CbcCutGenerator.cpp:353:18: error: 'class CglTreeProbingInfo' has no member named 'hasParent'
           info2->hasParent = ((model_->specialOptions() & 67108864) == 0) ? 1 : 2;
                  ^~~~~~~~~
CbcCutGenerator.cpp:355:18: error: 'class CglTreeProbingInfo' has no member named 'hasParent'
           info2->hasParent = 0;
                  ^~~~~~~~~
CbcCutGenerator.cpp:356:18: error: 'class CglTreeProbingInfo' has no member named 'parentSolver'
           info2->parentSolver = NULL;
                  ^~~~~~~~~~~~
CbcCutGenerator.cpp:358:16: error: 'class CglTreeProbingInfo' has no member named 'originalColumns'; did you mean 'fixColumns'?
         info2->originalColumns = model_->originalColumns();
                ^~~~~~~~~~~~~~~
                fixColumns

This is with Gentoo g++8.3.1-r2 p4 (in case it matters)

perhaps I must learn/get properly set up to properly report gentoo bugs...

I am fairly sure that's because the dependencies of coinor-cbc haven't been updated. Dependencies haven't been pulled because the ebuild doesn't ask for minimum versions of the dependencies. I'd recommend you update all ebuilds returned by the command eix -Ic coinor, all in one emerge command so portage can sort out the dependencies.

kiwifb commented 4 years ago
comment:9

From scratch I need the following to be installed, and you probably need to update all of them

[ebuild  N    ~] sci-libs/coinor-utils-2.9.11:0/3::gentoo  USE="blas bzip2 zlib -doc -glpk -lapack -static-libs -test" 1700 KiB
[ebuild  N    ~] sci-libs/coinor-osi-0.106.6:0/1::gentoo  USE="-doc -examples -glpk -static-libs -test" 7315 KiB
[ebuild  N    ~] sci-libs/coinor-clp-1.15.6-r1:0/1::gentoo  USE="-doc -examples -glpk -metis -mumps -sparse -static-libs -test" 5513 KiB
[ebuild  N    ~] sci-libs/coinor-dylp-1.9.4:0/1::gentoo  USE="-doc -examples -static-libs -test" 4932 KiB
[ebuild  N    ~] sci-libs/coinor-vol-1.4.4:0/1::gentoo  USE="-doc -examples -static-libs -test" 3131 KiB
[ebuild  N    ~] sci-libs/coinor-cgl-0.58.6::gentoo  USE="-doc -examples -static-libs -test" 5207 KiB
[ebuild  N    ~] sci-libs/coinor-cbc-2.8.9:0/3::gentoo  USE="-doc -examples -static-libs -test" 8039 KiB
orlitzky commented 4 years ago
comment:10

Replying to @kiwifb:

I am fairly sure that's because the dependencies of coinor-cbc haven't been updated. Dependencies haven't been pulled because the ebuild doesn't ask for minimum versions of the dependencies.

emerge -uD coinor-cbc will update the dependencies as well. It's an ebuild problem. I didn't notice that new version bounds were necessary.

vbraun commented 4 years ago

Changed branch from u/mjo/ticket/29656 to 85045bc