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

[Package]: Coinor CBC and CGL #19777

Closed
1 task done
natebragg opened this issue Apr 15, 2024 · 4 comments · Fixed by #20240
Closed
1 task done

[Package]: Coinor CBC and CGL #19777

natebragg opened this issue Apr 15, 2024 · 4 comments · Fixed by #20240
Labels
package request A new package was requested.

Comments

@natebragg
Copy link

Why is it worth to add this package?

Currently, Coinor's CLP is available (pkg install coinor-clp). CBC is a powerful solver that adds MILP (the CGL library is just a dependency).

It would also warm my heart if this were available, since my motivation is that I need it for a project I'm working on.

Home page URL

No response

Source code URL

https://github.com/coin-or/Cbc/

Packaging policy acknowledgement

  • I certify that I have read Termux Packaging Policy and understand that my request will be denied in case of violation.

Additional information

While trying to add this myself, I got the following error. I was unable to try to build CBC because the error prevented me from building CGL:

*** Warning: Linking the shared library libCgl.la against the
*** static library /data/data/com.termux/files/usr/lib/clang/18/lib/linux/libclang_rt.builtins-aarch64-android.a is not portable!
aarch64-linux-android-clang++ -shared -nostdlib /data/data/com.termux/files/usr/lib/crtbegin_so.o  .libs/CglCutGenerator.o .libs/CglMessage.o .libs/CglStored.o .libs/CglParam.o .libs/CglTreeInfo.o -Wl,--whole-archive CglAllDifferent/.libs/libCglAllDifferent.a CglClique/.libs/libCglClique.a CglDuplicateRow/.libs/libCglDuplicateRow.a CglFlowCover/.libs/libCglFlowCover.a CglGMI/.libs/libCglGMI.a CglGomory/.libs/libCglGomory.a CglKnapsackCover/.libs/libCglKnapsackCover.a CglLandP/.libs/libCglLandP.a CglLiftAndProject/.libs/libCglLiftAndProject.a CglMixedIntegerRounding/.libs/libCglMixedIntegerRounding.a CglMixedIntegerRounding2/.libs/libCglMixedIntegerRounding2.a CglOddHole/.libs/libCglOddHole.a CglPreProcess/.libs/libCglPreProcess.a CglProbing/.libs/libCglProbing.a CglRedSplit/.libs/libCglRedSplit.a CglRedSplit2/.libs/libCglRedSplit2.a CglResidualCapacity/.libs/libCglResidualCapacity.a CglSimpleRounding/.libs/libCglSimpleRounding.a CglTwomir/.libs/libCglTwomir.a CglZeroHalf/.libs/libCglZeroHalf.a -Wl,--no-whole-archive  -Wl,--rpath -Wl,/data/data/com.termux/files/usr/lib -Wl,--rpath -Wl,/data/data/com.termux/files/usr/lib -L/data/data/com.termux/files/usr/lib /data/data/com.termux/files/usr/lib/clang/18/lib/linux/libclang_rt.builtins-aarch64-android.a /data/data/com.termux/files/usr/lib/libOsiClp.so /data/data/com.termux/files/usr/lib/libClpSolver.so /data/data/com.termux/files/usr/lib/libClp.so /data/data/com.termux/files/usr/lib/libOsi.so /data/data/com.termux/files/usr/lib/libCoinUtils.so -lbz2 -lz -L/system/lib64 -lc++_shared -lm -lc -l:libunwind.a -ldl /data/data/com.termux/files/usr/lib/crtend_so.o  -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,-soname -Wl,libCgl.so.1 -o .libs/libCgl.so.1.10.8
ld.lld: error: CglAllDifferent/.libs/libCglAllDifferent.a(libclang_rt.builtins-aarch64-android.a): not an ELF file

Here's my libcoinor-cgl/build.sh:

TERMUX_PKG_HOMEPAGE=https://github.com/coin-or/Cgl
TERMUX_PKG_DESCRIPTION="An open-source cut generation library for COIN-OR projects"
TERMUX_PKG_LICENSE="EPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=1:0.60.8
TERMUX_PKG_SRCURL=https://github.com/coin-or/Cgl/archive/refs/tags/releases/${TERMUX_PKG_VERSION#*:}.tar.gz
TERMUX_PKG_SHA256=1482ba38afb783d124df8d5392337f79fdd507716e9f1fb6b98fc090acd1ad96
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_UPDATE_METHOD=repology
TERMUX_PKG_DEPENDS="libc++, libcoinor-osi, libcoinor-utils"
termux_step_pre_configure() {
    LDFLAGS+=" $($CC -print-libgcc-file-name)"
}

This was my coinor-cbc/build.sh:

TERMUX_PKG_HOMEPAGE=https://github.com/coin-or/Cbc
TERMUX_PKG_DESCRIPTION="An open-source mixed integer linear programming solver"
TERMUX_PKG_LICENSE="EPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=1:2.10.11
TERMUX_PKG_SRCURL=https://github.com/coin-or/Cbc/archive/refs/tags/releases/${TERMUX_PKG_VERSION#*:}.tar.gz
TERMUX_PKG_SHA256=1fb591dd88336fdaf096b8e42e46111e41671a5eb85d4ee36e45baff1678bd33
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_UPDATE_METHOD=repology
TERMUX_PKG_DEPENDS="libc++, libcoinor-osi, libcoinor-utils, libcoinor-cgl"
termux_step_pre_configure() {
    LDFLAGS+=" $($CC -print-libgcc-file-name)"
}
@natebragg natebragg added the package request A new package was requested. label Apr 15, 2024
This was referenced May 17, 2024
@Biswa96
Copy link
Contributor

Biswa96 commented May 17, 2024

I have added a pull request to add the package. Would you like to test the packages from GitHub Actions artifacts of that pull request? Link https://github.com/termux/termux-packages/actions/runs/9124510644

@natebragg
Copy link
Author

Great, thanks! I went to that link, and didn't seem to be able to download the package... it says the upload step was skipped, and the artifacts don't seem to be links. Am I missing something?

@Biswa96
Copy link
Contributor

Biswa96 commented May 18, 2024

Just scroll down in that page and download the debs-something files.

@natebragg
Copy link
Author

Forgive me if I'm a bit dim, but I click on those and nothing happens, as they appear to just be text, not links. I tried a different browser, and got the same thing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package request A new package was requested.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants