Debian Patches
Status for coinor-csdp/6.2.0-8
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| include-stdio.patch | Include <stdio.h> to avoid declaring printf implicitly | no | https://github.com/coin-or/Csdp/commit/a346b2f | 2026-08-16 | ||
| makefile.patch | Make the build configurable instead of hardcoded What changed and why -------------------- . The top level Makefile hardcodes CFLAGS and LIBS with "export", which cannot be overridden usefully: a makefile assignment beats the environment, so "CFLAGS=... make" is silently ignored, while "make CFLAGS=..." replaces the whole line, taking -I../include and the feature macros with it. There is no LDFLAGS at all. . The flags the build itself requires are now kept apart from the ones the user owns (CPPFLAGS, CFLAGS, LDFLAGS, BLAS_LIBS, LIBS), so that neither can clobber the other. The feature macros are detected rather than asserted, and -m64, -march=native, -Ofast, -ansi and -static are gone from the defaults; -std=gnu99 replaces -ansi, since the sources use K&R definitions that C23 removed. GNU rather than strict mode, because the code calls POSIX interfaces that a strict mode is not obliged to declare. GNU make is now required. . Configuring the build --------------------- . Every variable below can be set in the environment or on the make command line: . make CC=clang CFLAGS="-O3 -g" BLAS_LIBS="-lopenblas" . CC The C compiler. Default: cc CFLAGS Optimization and warning flags. Default: -O2 -Wall. CSDP is a numerical code, so -Ofast is not recommended. CPPFLAGS Additional preprocessor flags. LDFLAGS Additional linker flags. BLAS_LIBS The BLAS and LAPACK libraries, plus any Fortran run time library they need. Default: -llapack -lblas LIBS Anything else to link against. Additive, with no default, so that a build system exporting an empty LIBS -- as FreeBSD's bsd.port.mk does -- cannot knock out the BLAS. OPENMP_CFLAGS The flag that enables OpenMP. Default: -fopenmp OPENMP_LIBS The corresponding link flag. Default: empty prefix Installation prefix. Default: /usr/local exec_prefix Default: $(prefix) bindir Where the programs go. Default: $(exec_prefix)/bin DESTDIR Staging directory prepended to the install paths. TOOL_PREFIX A prefix for the installed names of theta, complement, graphtoprob and rand_graph, whose names are generic. TOOL_PREFIX=csdp- installs csdp-theta and so on. The solver is always installed as csdp. . With OpenBLAS, which supplies both BLAS and LAPACK: . make BLAS_LIBS="-L/opt/OpenBLAS/lib -lopenblas" . On macOS, with Accelerate and Homebrew's libomp: . make BLAS_LIBS="-framework Accelerate" \ OPENMP_CFLAGS="-Xpreprocessor -fopenmp -I$(brew --prefix libomp)/include" \ OPENMP_LIBS="-L$(brew --prefix libomp)/lib -lomp" . Without OpenMP at all: . make OPENMP_CFLAGS= . To install into a staging directory: . make install DESTDIR=/tmp/stage prefix=/usr TOOL_PREFIX=csdp- . Finally, -DCAPSBLAS, -DCAPSLAPACK, -DNOUNDERBLAS, -DNOUNDERLAPACK and -DHIDDENSTRLEN may rarely be needed, if the BLAS or LAPACK symbols are capitalized, lack a trailing underscore, or take hidden Fortran string lengths. Pass them in CPPFLAGS. diff --git a/Makefile b/Makefile index 3430806..6190dd6 100644 |
Claude Opus 5 <noreply@anthropic.com> | yes | 2026-08-16 | ||
| shared-library.patch | Add support for building a shared library diff --git a/Makefile b/Makefile index 6190dd6..8c7af3f 100644 |
Claude Opus 5 <noreply@anthropic.com> | yes | 2026-08-16 |
