Compare commits
15 Commits
rawhide
...
main-riscv
Author | SHA1 | Date |
---|---|---|
David Abdurachmanov | b427135a4e | |
David Abdurachmanov | bcb71a69a4 | |
Jerry James | ca862bae90 | |
Jerry James | 950bb01657 | |
Orion Poplawski | 397f0d55b6 | |
Orion Poplawski | 3b15e43e57 | |
Orion Poplawski | e73e0544e8 | |
Fedora Release Engineering | 942e1b6a82 | |
Fedora Release Engineering | a0e8200510 | |
David Abdurachmanov | 94e6715adc | |
Antonio Trande | d7a51cf628 | |
Antonio Trande | 3fa107d2fe | |
Fedora Release Engineering | 810ce5d1a7 | |
Fedora Release Engineering | 9bc1591a1a | |
Florian Weimer | 2ced3af557 |
|
@ -1,12 +0,0 @@
|
|||
diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/src/ClpModel.cpp
|
||||
--- Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig 2020-02-03 06:32:17.000000000 -0700
|
||||
+++ Clp-releases-1.17.5/Clp/src/ClpModel.cpp 2020-02-20 09:50:46.973499354 -0700
|
||||
@@ -3720,7 +3720,7 @@ int ClpModel::emptyProblem(int *infeasNu
|
||||
numberDualInfeasibilities++;
|
||||
;
|
||||
sumDualInfeasibilities += fabs(objValue);
|
||||
- returnCode |= 2;
|
||||
+ returnCode |= 1;
|
||||
}
|
||||
status_[i] = 0;
|
||||
}
|
|
@ -1,19 +1,7 @@
|
|||
diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/src/ClpModel.cpp
|
||||
--- Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig 2020-02-20 09:50:46.973499354 -0700
|
||||
+++ Clp-releases-1.17.5/Clp/src/ClpModel.cpp 2020-02-20 09:54:26.138615175 -0700
|
||||
@@ -2892,7 +2892,7 @@ int ClpModel::readMps(const char *fileNa
|
||||
int status = 0;
|
||||
try {
|
||||
status = m.readMps(fileName, "");
|
||||
- } catch (CoinError e) {
|
||||
+ } catch (CoinError& e) {
|
||||
e.print();
|
||||
status = -1;
|
||||
}
|
||||
diff -up Clp-releases-1.17.5/Clp/src/ClpSolver.cpp.orig Clp-releases-1.17.5/Clp/src/ClpSolver.cpp
|
||||
--- Clp-releases-1.17.5/Clp/src/ClpSolver.cpp.orig 2020-02-20 09:53:29.722615016 -0700
|
||||
+++ Clp-releases-1.17.5/Clp/src/ClpSolver.cpp 2020-02-20 09:54:26.139615157 -0700
|
||||
@@ -1294,7 +1294,7 @@ int ClpMain1(int argc, const char *argv[
|
||||
diff -up Clp-releases-1.17.9/Clp/src/ClpSolver.cpp.orig Clp-releases-1.17.9/Clp/src/ClpSolver.cpp
|
||||
--- Clp-releases-1.17.9/Clp/src/ClpSolver.cpp.orig 2023-10-27 06:57:50.869164283 -0600
|
||||
+++ Clp-releases-1.17.9/Clp/src/ClpSolver.cpp 2023-10-27 06:58:31.230571780 -0600
|
||||
@@ -1293,7 +1293,7 @@ int ClpMain1(int argc, const char *argv[
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -22,21 +10,9 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpSolver.cpp.orig Clp-releases-1.17.5/Clp/
|
|||
e.print();
|
||||
status = -1;
|
||||
}
|
||||
diff -up Clp-releases-1.17.5/Clp/src/OsiClp/OsiClpSolverInterface.cpp.orig Clp-releases-1.17.5/Clp/src/OsiClp/OsiClpSolverInterface.cpp
|
||||
--- Clp-releases-1.17.5/Clp/src/OsiClp/OsiClpSolverInterface.cpp.orig 2020-02-03 06:32:17.000000000 -0700
|
||||
+++ Clp-releases-1.17.5/Clp/src/OsiClp/OsiClpSolverInterface.cpp 2020-02-20 09:54:26.141615122 -0700
|
||||
@@ -5790,7 +5790,7 @@ int OsiClpSolverInterface::readLp(const
|
||||
*m.messagesPointer() = modelPtr_->coinMessages();
|
||||
try {
|
||||
m.readLp(filename, epsilon);
|
||||
- } catch (CoinError e) {
|
||||
+ } catch (CoinError& e) {
|
||||
printf("ERROR: %s::%s, %s\n",
|
||||
e.className().c_str(), e.methodName().c_str(), e.message().c_str());
|
||||
return -1;
|
||||
diff -up Clp-releases-1.17.5/Clp/test/OsiClpSolverInterfaceTest.cpp.orig Clp-releases-1.17.5/Clp/test/OsiClpSolverInterfaceTest.cpp
|
||||
--- Clp-releases-1.17.5/Clp/test/OsiClpSolverInterfaceTest.cpp.orig 2020-02-03 06:32:17.000000000 -0700
|
||||
+++ Clp-releases-1.17.5/Clp/test/OsiClpSolverInterfaceTest.cpp 2020-02-20 09:54:26.141615122 -0700
|
||||
diff -up Clp-releases-1.17.9/Clp/test/OsiClpSolverInterfaceTest.cpp.orig Clp-releases-1.17.9/Clp/test/OsiClpSolverInterfaceTest.cpp
|
||||
--- Clp-releases-1.17.9/Clp/test/OsiClpSolverInterfaceTest.cpp.orig 2023-10-25 09:41:55.000000000 -0600
|
||||
+++ Clp-releases-1.17.9/Clp/test/OsiClpSolverInterfaceTest.cpp 2023-10-27 06:58:31.232571750 -0600
|
||||
@@ -143,7 +143,7 @@ OsiClpSolverInterfaceUnitTest(const std:
|
||||
solver.setObjCoeff(0,0.0);
|
||||
OSIUNITTEST_ADD_OUTCOME("clp", "setObjCoeff on empty model", "should throw exception", OsiUnitTest::TestOutcome::ERROR, false);
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
Avoid an implicit function declaration of amd_defaults, cholmod_start.
|
||||
Without this change, detection results change with compilers which do
|
||||
not support implicit function declarations. The fake prototypes match
|
||||
those that autoconf uses.
|
||||
|
||||
The source code for all the autoconf macros is not included here, so
|
||||
patch only the generated shell script.
|
||||
|
||||
This was solved upstream via:
|
||||
|
||||
commit fea612b2327ad347b6e8aba96ff33e87b98d10fb
|
||||
Author: Stefan Vigerske <svigerske@gams.com>
|
||||
Date: Fri Feb 26 06:08:27 2021 +0100
|
||||
|
||||
use CHK_LIBHDR macro for amd, cholesky, and (system-)mumps
|
||||
|
||||
diff --git a/Clp/configure b/Clp/configure
|
||||
index bdbfe60f2613c6c5..4d3a4b4f05a30b12 100755
|
||||
--- a/Clp/configure
|
||||
+++ b/Clp/configure
|
||||
@@ -23396,6 +23396,8 @@ cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
+char $fnm (void);
|
||||
+
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@@ -23589,6 +23591,8 @@ cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
+char $fnm (void);
|
||||
+
|
||||
int
|
||||
main ()
|
||||
{
|
|
@ -0,0 +1,28 @@
|
|||
Avoid an implicit function declaration of exit. This is required for
|
||||
improved C99 compatibility. This was fixed long ago in autoconf,
|
||||
so there is no need to upstream this patch.
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 67901384c6ef274c..edec9272070601a3 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -2534,7 +2534,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
for ac_declaration in \
|
||||
- '' \
|
||||
+ '#include <stdlib.h>' \
|
||||
'extern "C" void std::exit (int) throw (); using std::exit;' \
|
||||
'extern "C" void std::exit (int); using std::exit;' \
|
||||
'extern "C" void exit (int) throw ();' \
|
||||
@@ -6926,8 +6926,8 @@ main ()
|
||||
for (i = 0; i < 256; i++)
|
||||
if (XOR (islower (i), ISLOWER (i))
|
||||
|| toupper (i) != TOUPPER (i))
|
||||
- exit(2);
|
||||
- exit (0);
|
||||
+ return 2;
|
||||
+ return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest$ac_exeext
|
|
@ -1,7 +1,7 @@
|
|||
diff -up Clp-releases-1.17.5/Clp/configure.orig Clp-releases-1.17.5/Clp/configure
|
||||
--- Clp-releases-1.17.5/Clp/configure.orig 2020-02-03 06:32:17.000000000 -0700
|
||||
+++ Clp-releases-1.17.5/Clp/configure 2020-02-20 09:46:50.382716225 -0700
|
||||
@@ -32230,7 +32230,7 @@ echo "${ECHO_T}$doxysrcdir (src)" >&6
|
||||
diff -up Clp-releases-1.17.9/Clp/configure.orig Clp-releases-1.17.9/Clp/configure
|
||||
--- Clp-releases-1.17.9/Clp/configure.orig 2023-10-25 09:41:55.000000000 -0600
|
||||
+++ Clp-releases-1.17.9/Clp/configure 2023-10-27 06:55:42.922084151 -0600
|
||||
@@ -32239,7 +32239,7 @@ echo "${ECHO_T}$doxysrcdir (src)" >&6
|
||||
fi
|
||||
# Not built, fall back to installed tag file
|
||||
if test $doxyfound = no ; then
|
||||
|
@ -10,10 +10,10 @@ diff -up Clp-releases-1.17.5/Clp/configure.orig Clp-releases-1.17.5/Clp/configur
|
|||
# AC_MSG_NOTICE([Considering $doxydir (install)])
|
||||
# AC_MSG_NOTICE([Subdirs: $coin_subdirs)])
|
||||
coin_doxy_tagfiles="$coin_doxy_tagfiles $doxydir/$doxytag=$doxydir/html"
|
||||
diff -up Clp-releases-1.17.5/Clp/Makefile.in.orig Clp-releases-1.17.5/Clp/Makefile.in
|
||||
--- Clp-releases-1.17.5/Clp/Makefile.in.orig 2020-02-03 06:32:17.000000000 -0700
|
||||
+++ Clp-releases-1.17.5/Clp/Makefile.in 2020-02-20 09:46:50.398715939 -0700
|
||||
@@ -421,7 +421,7 @@ EXTRA_DIST = doc/authors.xml doc/basicmo
|
||||
diff -up Clp-releases-1.17.9/Clp/Makefile.in.orig Clp-releases-1.17.9/Clp/Makefile.in
|
||||
--- Clp-releases-1.17.9/Clp/Makefile.in.orig 2023-10-25 09:41:55.000000000 -0600
|
||||
+++ Clp-releases-1.17.9/Clp/Makefile.in 2023-10-27 06:55:42.922084151 -0600
|
||||
@@ -420,7 +420,7 @@ EXTRA_DIST = doc/authors.xml doc/basicmo
|
||||
########################################################################
|
||||
pkgconfiglibdir = $(libdir)/pkgconfig
|
||||
pkgconfiglib_DATA = clp.pc $(am__append_3)
|
||||
|
@ -22,10 +22,10 @@ diff -up Clp-releases-1.17.5/Clp/Makefile.in.orig Clp-releases-1.17.5/Clp/Makefi
|
|||
|
||||
########################################################################
|
||||
# Maintainer Stuff #
|
||||
@@ -431,7 +431,7 @@ CLEANFILES =
|
||||
@@ -430,7 +430,7 @@ CLEANFILES =
|
||||
# Files that are generated and should be cleaned with make distclean
|
||||
DISTCLEANFILES = $(am__append_5) $(VPATH_DISTCLEANFILES)
|
||||
DocFiles = README AUTHORS LICENSE
|
||||
DocFiles = README README.md AUTHORS AUTHORS.md LICENSE LICENSE.md
|
||||
-DocInstallDir = $(datadir)/coin/doc/$(PACKAGE_NAME)
|
||||
+DocInstallDir = $(datadir)/doc/coin-or-$(PACKAGE_NAME)
|
||||
COIN_HAS_DOXYGEN = @COIN_HAS_DOXYGEN_TRUE@TRUE
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/src/ClpModel.cpp
|
||||
--- Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig 2020-02-20 09:54:26.138615175 -0700
|
||||
+++ Clp-releases-1.17.5/Clp/src/ClpModel.cpp 2020-02-20 09:56:18.361626298 -0700
|
||||
@@ -1337,7 +1337,7 @@ void ClpModel::resize(int newNumberRows,
|
||||
diff -up Clp-releases-1.17.9/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.9/Clp/src/ClpModel.cpp
|
||||
--- Clp-releases-1.17.9/Clp/src/ClpModel.cpp.orig 2023-10-27 06:58:31.229571794 -0600
|
||||
+++ Clp-releases-1.17.9/Clp/src/ClpModel.cpp 2023-10-27 07:03:25.664684792 -0600
|
||||
@@ -1340,7 +1340,7 @@ void ClpModel::resize(int newNumberRows,
|
||||
if (numberRowNames < newNumberRows) {
|
||||
rowNames_.resize(newNumberRows);
|
||||
lengthNames_ = CoinMax(lengthNames_, 8);
|
||||
- char name[10];
|
||||
+ char name[12];
|
||||
+ char name[16];
|
||||
for (unsigned int iRow = numberRowNames; iRow < newNumberRows; iRow++) {
|
||||
sprintf(name, "R%7.7d", iRow);
|
||||
rowNames_[iRow] = name;
|
||||
@@ -1347,7 +1347,7 @@ void ClpModel::resize(int newNumberRows,
|
||||
@@ -1350,7 +1350,7 @@ void ClpModel::resize(int newNumberRows,
|
||||
if (numberColumnNames < newNumberColumns) {
|
||||
columnNames_.resize(newNumberColumns);
|
||||
lengthNames_ = CoinMax(lengthNames_, 8);
|
||||
- char name[10];
|
||||
+ char name[12];
|
||||
+ char name[16];
|
||||
for (unsigned int iColumn = numberColumnNames;
|
||||
iColumn < newNumberColumns; iColumn++) {
|
||||
sprintf(name, "C%7.7d", iColumn);
|
||||
@@ -3445,7 +3445,7 @@ ClpModel::getRowName(int iRow) const
|
||||
@@ -3453,7 +3453,7 @@ ClpModel::getRowName(int iRow) const
|
||||
if (size > iRow) {
|
||||
return rowNames_[iRow];
|
||||
} else {
|
||||
|
@ -28,7 +28,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
|
|||
sprintf(name, "R%7.7d", iRow);
|
||||
std::string rowName(name);
|
||||
return rowName;
|
||||
@@ -3481,7 +3481,7 @@ ClpModel::getColumnName(int iColumn) con
|
||||
@@ -3489,7 +3489,7 @@ ClpModel::getColumnName(int iColumn) con
|
||||
if (size > iColumn) {
|
||||
return columnNames_[iColumn];
|
||||
} else {
|
||||
|
@ -37,7 +37,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
|
|||
sprintf(name, "C%7.7d", iColumn);
|
||||
std::string columnName(name);
|
||||
return columnName;
|
||||
@@ -3563,7 +3563,7 @@ void ClpModel::copyRowNames(const char *
|
||||
@@ -3571,7 +3571,7 @@ void ClpModel::copyRowNames(const char *
|
||||
maxLength = CoinMax(maxLength, static_cast< unsigned int >(strlen(rowNames[iRow - first])));
|
||||
} else {
|
||||
maxLength = CoinMax(maxLength, static_cast< unsigned int >(8));
|
||||
|
@ -46,7 +46,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
|
|||
sprintf(name, "R%7.7d", iRow);
|
||||
rowNames_[iRow] = name;
|
||||
}
|
||||
@@ -3590,7 +3590,7 @@ void ClpModel::copyColumnNames(const cha
|
||||
@@ -3598,7 +3598,7 @@ void ClpModel::copyColumnNames(const cha
|
||||
maxLength = CoinMax(maxLength, static_cast< unsigned int >(strlen(columnNames[iColumn - first])));
|
||||
} else {
|
||||
maxLength = CoinMax(maxLength, static_cast< unsigned int >(8));
|
||||
|
@ -55,7 +55,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
|
|||
sprintf(name, "C%7.7d", iColumn);
|
||||
columnNames_[iColumn] = name;
|
||||
}
|
||||
@@ -3836,7 +3836,7 @@ ClpModel::rowNamesAsChar() const
|
||||
@@ -3843,7 +3843,7 @@ ClpModel::rowNamesAsChar() const
|
||||
if (rowName(iRow) != "") {
|
||||
rowNames[iRow] = CoinStrdup(rowName(iRow).c_str());
|
||||
} else {
|
||||
|
@ -64,7 +64,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
|
|||
sprintf(name, "R%7.7d", iRow);
|
||||
rowNames[iRow] = CoinStrdup(name);
|
||||
}
|
||||
@@ -3852,7 +3852,7 @@ ClpModel::rowNamesAsChar() const
|
||||
@@ -3859,7 +3859,7 @@ ClpModel::rowNamesAsChar() const
|
||||
xx[n] = '\0';
|
||||
#endif
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
|
|||
for (; iRow < numberRows_; iRow++) {
|
||||
sprintf(name, "R%7.7d", iRow);
|
||||
rowNames[iRow] = CoinStrdup(name);
|
||||
@@ -3875,7 +3875,7 @@ ClpModel::columnNamesAsChar() const
|
||||
@@ -3882,7 +3882,7 @@ ClpModel::columnNamesAsChar() const
|
||||
if (columnName(iColumn) != "") {
|
||||
columnNames[iColumn] = CoinStrdup(columnName(iColumn).c_str());
|
||||
} else {
|
||||
|
@ -82,7 +82,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
|
|||
sprintf(name, "C%7.7d", iColumn);
|
||||
columnNames[iColumn] = CoinStrdup(name);
|
||||
}
|
||||
@@ -3891,7 +3891,7 @@ ClpModel::columnNamesAsChar() const
|
||||
@@ -3898,7 +3898,7 @@ ClpModel::columnNamesAsChar() const
|
||||
xx[n] = '\0';
|
||||
#endif
|
||||
}
|
||||
|
@ -91,10 +91,10 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
|
|||
for (; iColumn < numberColumns_; iColumn++) {
|
||||
sprintf(name, "C%7.7d", iColumn);
|
||||
columnNames[iColumn] = CoinStrdup(name);
|
||||
diff -up Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp.orig Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp
|
||||
--- Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp.orig 2020-02-20 09:55:43.777239225 -0700
|
||||
+++ Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp 2020-02-20 09:56:18.363626263 -0700
|
||||
@@ -2276,7 +2276,7 @@ int ClpSimplexOther::parametrics(const c
|
||||
diff -up Clp-releases-1.17.9/Clp/src/ClpSimplexOther.cpp.orig Clp-releases-1.17.9/Clp/src/ClpSimplexOther.cpp
|
||||
--- Clp-releases-1.17.9/Clp/src/ClpSimplexOther.cpp.orig 2023-10-27 07:01:11.067416496 -0600
|
||||
+++ Clp-releases-1.17.9/Clp/src/ClpSimplexOther.cpp 2023-10-27 07:03:25.666684769 -0600
|
||||
@@ -2284,7 +2284,7 @@ int ClpSimplexOther::parametrics(const c
|
||||
{
|
||||
int returnCode = -2;
|
||||
FILE *fp = fopen(dataFile, "r");
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/src/ClpModel.cpp
|
||||
--- Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig 2020-02-20 09:56:18.361626298 -0700
|
||||
+++ Clp-releases-1.17.5/Clp/src/ClpModel.cpp 2020-02-20 09:56:58.777910020 -0700
|
||||
@@ -1338,7 +1338,7 @@ void ClpModel::resize(int newNumberRows,
|
||||
diff -up Clp-releases-1.17.9/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.9/Clp/src/ClpModel.cpp
|
||||
--- Clp-releases-1.17.9/Clp/src/ClpModel.cpp.orig 2023-10-27 07:03:25.664684792 -0600
|
||||
+++ Clp-releases-1.17.9/Clp/src/ClpModel.cpp 2023-10-27 07:03:58.104302324 -0600
|
||||
@@ -1341,7 +1341,7 @@ void ClpModel::resize(int newNumberRows,
|
||||
rowNames_.resize(newNumberRows);
|
||||
lengthNames_ = CoinMax(lengthNames_, 8);
|
||||
char name[12];
|
||||
char name[16];
|
||||
- for (unsigned int iRow = numberRowNames; iRow < newNumberRows; iRow++) {
|
||||
+ for (int iRow = numberRowNames; iRow < newNumberRows; iRow++) {
|
||||
sprintf(name, "R%7.7d", iRow);
|
||||
rowNames_[iRow] = name;
|
||||
}
|
||||
@@ -1348,7 +1348,7 @@ void ClpModel::resize(int newNumberRows,
|
||||
@@ -1351,7 +1351,7 @@ void ClpModel::resize(int newNumberRows,
|
||||
columnNames_.resize(newNumberColumns);
|
||||
lengthNames_ = CoinMax(lengthNames_, 8);
|
||||
char name[12];
|
||||
char name[16];
|
||||
- for (unsigned int iColumn = numberColumnNames;
|
||||
+ for (int iColumn = numberColumnNames;
|
||||
iColumn < newNumberColumns; iColumn++) {
|
||||
sprintf(name, "C%7.7d", iColumn);
|
||||
columnNames_[iColumn] = name;
|
||||
@@ -3556,7 +3556,7 @@ void ClpModel::copyRowNames(const char *
|
||||
@@ -3564,7 +3564,7 @@ void ClpModel::copyRowNames(const char *
|
||||
int size = static_cast< int >(rowNames_.size());
|
||||
if (size != numberRows_)
|
||||
rowNames_.resize(numberRows_);
|
||||
|
@ -28,7 +28,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
|
|||
for (iRow = first; iRow < last; iRow++) {
|
||||
if (rowNames && rowNames[iRow - first] && strlen(rowNames[iRow - first])) {
|
||||
rowNames_[iRow] = rowNames[iRow - first];
|
||||
@@ -3583,7 +3583,7 @@ void ClpModel::copyColumnNames(const cha
|
||||
@@ -3591,7 +3591,7 @@ void ClpModel::copyColumnNames(const cha
|
||||
int size = static_cast< int >(columnNames_.size());
|
||||
if (size != numberColumns_)
|
||||
columnNames_.resize(numberColumns_);
|
||||
|
@ -37,7 +37,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
|
|||
for (iColumn = first; iColumn < last; iColumn++) {
|
||||
if (columnNames && columnNames[iColumn - first] && strlen(columnNames[iColumn - first])) {
|
||||
columnNames_[iColumn] = columnNames[iColumn - first];
|
||||
@@ -3831,7 +3831,7 @@ ClpModel::rowNamesAsChar() const
|
||||
@@ -3838,7 +3838,7 @@ ClpModel::rowNamesAsChar() const
|
||||
rowNames = new char *[numberRows_ + 1];
|
||||
int numberNames = static_cast< int >(rowNames_.size());
|
||||
numberNames = CoinMin(numberRows_, numberNames);
|
||||
|
@ -46,7 +46,7 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
|
|||
for (iRow = 0; iRow < numberNames; iRow++) {
|
||||
if (rowName(iRow) != "") {
|
||||
rowNames[iRow] = CoinStrdup(rowName(iRow).c_str());
|
||||
@@ -3870,7 +3870,7 @@ ClpModel::columnNamesAsChar() const
|
||||
@@ -3877,7 +3877,7 @@ ClpModel::columnNamesAsChar() const
|
||||
columnNames = new char *[numberColumns_];
|
||||
int numberNames = static_cast< int >(columnNames_.size());
|
||||
numberNames = CoinMin(numberColumns_, numberNames);
|
||||
|
@ -55,10 +55,10 @@ diff -up Clp-releases-1.17.5/Clp/src/ClpModel.cpp.orig Clp-releases-1.17.5/Clp/s
|
|||
for (iColumn = 0; iColumn < numberNames; iColumn++) {
|
||||
if (columnName(iColumn) != "") {
|
||||
columnNames[iColumn] = CoinStrdup(columnName(iColumn).c_str());
|
||||
diff -up Clp-releases-1.17.5/Clp/src/ClpSolver.cpp.orig Clp-releases-1.17.5/Clp/src/ClpSolver.cpp
|
||||
--- Clp-releases-1.17.5/Clp/src/ClpSolver.cpp.orig 2020-02-20 09:54:26.139615157 -0700
|
||||
+++ Clp-releases-1.17.5/Clp/src/ClpSolver.cpp 2020-02-20 09:56:58.777910020 -0700
|
||||
@@ -3799,9 +3799,9 @@ static void statistics(ClpSimplex *origi
|
||||
diff -up Clp-releases-1.17.9/Clp/src/ClpSolver.cpp.orig Clp-releases-1.17.9/Clp/src/ClpSolver.cpp
|
||||
--- Clp-releases-1.17.9/Clp/src/ClpSolver.cpp.orig 2023-10-27 06:58:31.230571780 -0600
|
||||
+++ Clp-releases-1.17.9/Clp/src/ClpSolver.cpp 2023-10-27 07:03:58.105302312 -0600
|
||||
@@ -3798,9 +3798,9 @@ static void statistics(ClpSimplex *origi
|
||||
numberWritten = fwrite(stats, sizeof(int), 3, fpBlocks);
|
||||
assert(numberWritten == 3);
|
||||
numberWritten = fwrite(blockStart, sizeof(int), numberRows, fpBlocks);
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
diff -up Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp.orig Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp
|
||||
--- Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp.orig 2020-02-03 06:32:17.000000000 -0700
|
||||
+++ Clp-releases-1.17.5/Clp/src/ClpSimplexOther.cpp 2020-02-20 09:55:43.777239225 -0700
|
||||
@@ -2360,9 +2360,9 @@ int ClpSimplexOther::parametrics(const c
|
||||
if (intervalTheta >= endTheta)
|
||||
intervalTheta = 0.0;
|
||||
if (!good) {
|
||||
- sprintf(line, "Odd first line %s on file %s?", line, dataFile);
|
||||
handler_->message(CLP_GENERAL, messages_)
|
||||
- << line << CoinMessageEol;
|
||||
+ << "Odd first line " << line << " on file " << dataFile << "?"
|
||||
+ << CoinMessageEol;
|
||||
fclose(fp);
|
||||
return -2;
|
||||
}
|
102
coin-or-Clp.spec
102
coin-or-Clp.spec
|
@ -1,15 +1,28 @@
|
|||
%global module Clp
|
||||
|
||||
# Avoid circular dependencies on first build
|
||||
%bcond_with bootstrap
|
||||
# On a bootstrap build, without coin-or-Cbc in the buildroot, a number of
|
||||
# parameters are not defined. This leads to invalid vector accesses later
|
||||
# when we build packages that depend on coin-or-Cbc (such as coin-or-CoinMP).
|
||||
# We first build coin-or-Clp in bootstrap mode, then build coin-or-Cgl,
|
||||
# followed by coin-or-Cbc. At that point we can rebuild this package in
|
||||
# non-bootstrap mode to get the Cbc parameter definitions.
|
||||
#
|
||||
# Attempting to cheat by defining COIN_HAS_CBC while building this package
|
||||
# just leads to other compiler errors due to missing coin-or-Cbc headers.
|
||||
# As painful as it is, this really is the best approach.
|
||||
%bcond bootstrap 1
|
||||
|
||||
Name: coin-or-%{module}
|
||||
Summary: Coin-or linear programming
|
||||
Version: 1.17.6
|
||||
Release: 10%{?dist}
|
||||
License: EPL-1.0
|
||||
Version: 1.17.9
|
||||
Release: 1.0.riscv64%{?dist}
|
||||
|
||||
# The project as a whole is licensed EPL-2.0. However, many source files still
|
||||
# claim to be licensed EPL-1.0. This is probably an upstream oversight.
|
||||
License: EPL-2.0 AND EPL-1.0
|
||||
URL: https://github.com/coin-or/%{module}
|
||||
Source0: %{url}/archive/releases/%{version}/%{module}-%{version}.tar.gz
|
||||
BuildRequires: asl-devel
|
||||
BuildRequires: coin-or-Data-Netlib
|
||||
BuildRequires: coin-or-Osi-doc
|
||||
BuildRequires: gcc-c++
|
||||
|
@ -35,17 +48,17 @@ Patch2: %{name}-param.patch
|
|||
# Catch polymorphic errors by reference rathern than by value
|
||||
Patch3: %{name}-catch.patch
|
||||
|
||||
# Fix a bad sprintf that overwrites its own output
|
||||
Patch4: %{name}-sprintf.patch
|
||||
|
||||
# Increase buffer sizes to avoid sprintf overflow
|
||||
Patch5: %{name}-overflow.patch
|
||||
Patch4: %{name}-overflow.patch
|
||||
|
||||
# Fix mixed signed-unsigned comparisons
|
||||
Patch6: %{name}-signed.patch
|
||||
Patch5: %{name}-signed.patch
|
||||
|
||||
# Do not use the AVX2 instructions
|
||||
Patch7: %{name}-no-avx.patch
|
||||
Patch6: %{name}-no-avx.patch
|
||||
|
||||
Patch7: coin-or-Clp-configure-c99.patch
|
||||
Patch8: coin-or-Clp-configure-amd_defaults-c99.patch
|
||||
|
||||
%description
|
||||
Clp (Coin-or linear programming) is an open-source linear programming
|
||||
|
@ -75,25 +88,23 @@ BuildArch: noarch
|
|||
This package contains the documentation for %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{module}-releases-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%if %{without bootstrap}
|
||||
%patch2 -p1
|
||||
%endif
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%autosetup -p1 -n %{module}-releases-%{version}
|
||||
|
||||
# The pkgconfig file lists transitive dependencies. Those are necessary when
|
||||
# using static libraries, but not with shared libraries.
|
||||
sed -i 's/ @CLPLIB_PCLIBS@/\nLibs.private:&/' Clp/clp.pc.in
|
||||
|
||||
%build
|
||||
# Make sure Cbc parameters are initialized too
|
||||
export CPPFLAGS='-DNDEBUG -DCOIN_HAS_NTY'
|
||||
%if %{without bootstrap}
|
||||
export CPPFLAGS="-DCOIN_HAS_CBC -DCOIN_HAS_NTY -I$PWD/src/OsiClp"
|
||||
export CPPFLAGS="$CPPFLAGS -DCOIN_HAS_CBC -DCBC_THREAD -I$PWD/src/OsiClp"
|
||||
%endif
|
||||
%configure \
|
||||
--with-amd-incdir=%{_includedir}/suitesparse \
|
||||
--with-amd-lib=-lamd \
|
||||
--with-asl-incdir=%{_includedir}/asl \
|
||||
--with-asl-lib=-lasl \
|
||||
--with-cholmod-incdir=%{_includedir}/suitesparse \
|
||||
--with-cholmod-lib=-lcholmod \
|
||||
--with-glpk_incdir=%{_includedir} \
|
||||
|
@ -117,22 +128,16 @@ sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
|
|||
%make_install
|
||||
rm -f %{buildroot}%{_libdir}/*.la
|
||||
rm -f %{buildroot}%{_docdir}/%{name}/{LICENSE,clp_addlibs.txt}
|
||||
cp -a doxydoc/{html,*.tag} %{buildroot}%{_docdir}/%{name}
|
||||
|
||||
# The pkgconfig file lists transitive dependencies. Those are necessary when
|
||||
# using static libraries, but not with shared libraries.
|
||||
sed -i 's/ -ldmumps.*//' %{buildroot}%{_libdir}/pkgconfig/clp.pc
|
||||
cp -a README.md doxydoc/{html,*.tag} %{buildroot}%{_docdir}/%{name}
|
||||
|
||||
%check
|
||||
LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%dir %{_docdir}/%{name}
|
||||
%{_docdir}/%{name}/AUTHORS
|
||||
%{_docdir}/%{name}/README
|
||||
%{_docdir}/%{name}/README.md
|
||||
%{_bindir}/clp
|
||||
%{_libdir}/libClp.so.1
|
||||
%{_libdir}/libClp.so.1.*
|
||||
|
@ -154,6 +159,41 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test
|
|||
%{_docdir}/%{name}/clp_doxy.tag
|
||||
|
||||
%changelog
|
||||
* Wed Mar 6 2024 David Abdurachmanov <davidlt@rivosinc.com> - 1.17.9-1.0.riscv64
|
||||
- Bootstrap (riscv64)
|
||||
|
||||
* Mon Feb 5 2024 Jerry James <loganjerry@gmail.com> - 1.17.9-1
|
||||
- Version 1.17.9
|
||||
- Update License from EPL-1.0 to EPL-2.0 AND EPL-1.0
|
||||
- Verify the license is valid SPDX
|
||||
- BR asl-devel
|
||||
- Drop upstreamed badcolumn and sprintf patches
|
||||
- Remove transitive dependencies from the pkgconfig file
|
||||
|
||||
* Sun Feb 04 2024 Orion Poplawski <orion@nwra.com> - 1.17.6-18
|
||||
- Rebuild with suitesparse 7.6.0
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.6-17
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.6-16
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sat Jan 06 2024 Antonio Trande <sagitter@fedoraproject.org> - 1.17.6-15
|
||||
- Rebuild for MUMPS-5.6.2 (disable bootstrap)
|
||||
|
||||
* Sat Jan 06 2024 Antonio Trande <sagitter@fedoraproject.org> - 1.17.6-14
|
||||
- Rebuild for MUMPS-5.6.2
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.6-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.6-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Jan 13 2023 Florian Weimer <fweimer@redhat.com> - 1.17.6-11
|
||||
- Port configure script to C99
|
||||
|
||||
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.6-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
|
|
2
sources
2
sources
|
@ -1 +1 @@
|
|||
SHA512 (Clp-1.17.6.tar.gz) = 8a799d87ba988a27e3ba526ded65425979b4364e374db4e943f41a523f3743efb88a9964eb575c058151e47f58be6ba0ac1b368177f0322850be3704be6f24d1
|
||||
SHA512 (Clp-1.17.9.tar.gz) = addd41c12e90c7d6ed2c3a7133f64a848255a00dcda1a996ccff5415f42fb9a16d9b9e429d7928020dc90cad0266cf58a1a269fc0ed87ccfecc5eb4173376a0a
|
||||
|
|
Loading…
Reference in New Issue