.. _spkg_glpk: glpk: GNU Linear Programming Kit ================================ Description ----------- The GLPK (GNU Linear Programming Kit) package is intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in the form of a callable library. GLPK supports the GNU MathProg modelling language, which is a subset of the AMPL language. The GLPK package includes the following main components: - primal and dual simplex methods - primal-dual interior-point method - branch-and-cut method - translator for GNU MathProg - application program interface (API) - stand-alone LP/MIP solver License ------- The GLPK package is GPL version 3. Upstream Contact ---------------- GLPK is currently being maintained by: - Andrew Makhorin (mao@gnu.org, mao@mai2.rcnet.ru) http://www.gnu.org/software/glpk/#maintainer Dependencies ------------ - GMP/MPIR - zlib Special Update/Build Instructions --------------------------------- - ``configure`` doesn't support specifying the location of the GMP library to use; only ``--with-gmp[=yes]`` or ``--with-gmp=no`` are valid options. (So we \*have to\* add Sage's include and library directories to ``CPPFLAGS`` and ``LDFLAGS``, respectively.) - Do we need the ``--disable-static``? The stand-alone solver presumably runs faster when built with a static library; also other (stand-alone) programs using it would. (Instead, we should perhaps use ``--enable-static --enable-shared`` to go safe.) Patches ~~~~~~~ - All patches below are currently used by spkg-src - src/01-zlib.patch: don't build the included zlib library. - src/02-cygwin_sharedlib.patch: Let a shared library be built on Cygwin by passing the -no-undefined flag to libtool. The numbering reflect the order in which they have been created from glpk pristine's sources Type ---- standard Version Information ------------------- package-version.txt:: 5.0.p0 Equivalent System Packages -------------------------- arch: .. CODE-BLOCK:: bash $ sudo pacman -S glpk-devel conda: .. CODE-BLOCK:: bash $ conda install glpk-devel cygwin: .. CODE-BLOCK:: bash $ apt-cyg install glpk-devel Debian/Ubuntu: .. CODE-BLOCK:: bash $ sudo apt-get install glpk-devel Fedora/Redhat/CentOS: .. CODE-BLOCK:: bash $ sudo yum install glpk-devel freebsd: .. CODE-BLOCK:: bash $ sudo pkg install glpk-devel gentoo: .. CODE-BLOCK:: bash $ sudo emerge glpk-devel homebrew: .. CODE-BLOCK:: bash $ brew install glpk-devel nix: .. CODE-BLOCK:: bash $ nix-env --install glpk-devel opensuse: .. CODE-BLOCK:: bash $ sudo zypper install glpk-devel void: .. CODE-BLOCK:: bash $ sudo xbps-install glpk-devel See https://repology.org/project/glpk-devel/versions If the system package is installed, ./configure will check whether it can be used.