NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.64k stars 13.79k forks source link

cplex: download url for source package is outdated, package not compatible with newer versions #194585

Closed maralorn closed 1 month ago

maralorn commented 2 years ago

Steps To Reproduce

Steps to reproduce the behavior:

  1. Install pkgs.cplex.
  2. Read error message.
  3. Try to download https://developer.ibm.com/docloud/blog/2017/12/20/cplex-optimization-studio-12-8-now-available/
  4. not reachable
  5. Find different cplex version on IBM page, 22.1.0.
  6. Try to build package with that cplex version

Build log

building '/nix/store/918fqvjh5kx6bnq4wm5f2hd3m76q2wnr-cplex-128.drv'...
unpacking sources
patching sources
configuring
no configure script, doing nothing
building
JRE libraries are missing or not compatible....
Exiting....
glibPreInstallPhase
installing
dropIconThemeCache
glibPreFixupPhase
post-installation fixup
patchelf: getting info about '/nix/store/ax58hfnrw0wh11knmxbx4mgsfv3hdpxp-cplex-128/opl/bin/x86-64_linux/oplrun': No such file or directory
builder for '/nix/store/918fqvjh5kx6bnq4wm5f2hd3m76q2wnr-cplex-128.drv' failed with exit code 1

Notify maintainers

Dear @bfortz I notice this package hasn’t been touched in a while, maybe you have moved on. But any hints how you would approach getting a working cplex, no matter the version, would be greatly appreciated.

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
system: "x86_64-linux"
host os: Linux 5.10.126, NixOS, 21.11 (Porcupine)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.16
channels(root): "nixos-21.11.337967.573603b7fdb, unstable-22.05pre379159.dfd82985c27"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos
bfortz commented 2 years ago

Last version I checked was 12.10 and it was still working. I will look into it when I find some time.

maralorn commented 2 years ago

Thanks for the reply.

For our specific situation we settled on a docker based solution, which works better for the usecase anyway, so there is no hurry.

mobergmann commented 3 months ago

I am currently experiencing the same error. When using the latest version of CPLEX (which is, to my knowledge, 22.11), I get the following error:

~ nix-shell -p cplex                                               
this derivation will be built:
  /nix/store/74rblwrqb245kkm4p525rahnzapfj6pl-cplex-128.drv
building '/nix/store/74rblwrqb245kkm4p525rahnzapfj6pl-cplex-128.drv'...
Running phase: unpackPhase
Running phase: patchPhase
Running phase: updateAutotoolsGnuConfigScriptsPhase
Running phase: configurePhase
no configure script, doing nothing
Running phase: buildPhase
JRE libraries are missing or not compatible....
Exiting....
Running phase: glibPreInstallPhase
Running phase: installPhase
Running phase: dropIconThemeCache
Running phase: glibPreFixupPhase
Running phase: fixupPhase
patchelf: getting info about '/nix/store/ipr15pyg66wngwc88rrvlysq3w2mznm9-cplex-128/opl/bin/x86-64_linux/oplrun': No such file or directory
error: builder for '/nix/store/74rblwrqb245kkm4p525rahnzapfj6pl-cplex-128.drv' failed with exit code 1;
       last 10 log lines:
       > no configure script, doing nothing
       > Running phase: buildPhase
       > JRE libraries are missing or not compatible....
       > Exiting....
       > Running phase: glibPreInstallPhase
       > Running phase: installPhase
       > Running phase: dropIconThemeCache
       > Running phase: glibPreFixupPhase
       > Running phase: fixupPhase
       > patchelf: getting info about '/nix/store/ipr15pyg66wngwc88rrvlysq3w2mznm9-cplex-128/opl/bin/x86-64_linux/oplrun': No such file or directory
       For full logs, run 'nix log /nix/store/74rblwrqb245kkm4p525rahnzapfj6pl-cplex-128.drv'.

~ nix log /nix/store/74rblwrqb245kkm4p525rahnzapfj6pl-cplex-128.drv
@nix { "action": "setPhase", "phase": "unpackPhase" }
Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "configurePhase" }
Running phase: configurePhase
no configure script, doing nothing
@nix { "action": "setPhase", "phase": "buildPhase" }
Running phase: buildPhase
JRE libraries are missing or not compatible....
Exiting....
@nix { "action": "setPhase", "phase": "glibPreInstallPhase" }
Running phase: glibPreInstallPhase
@nix { "action": "setPhase", "phase": "installPhase" }
Running phase: installPhase
@nix { "action": "setPhase", "phase": "dropIconThemeCache" }
Running phase: dropIconThemeCache
@nix { "action": "setPhase", "phase": "glibPreFixupPhase" }
Running phase: glibPreFixupPhase
@nix { "action": "setPhase", "phase": "fixupPhase" }
Running phase: fixupPhase
patchelf: getting info about '/nix/store/ipr15pyg66wngwc88rrvlysq3w2mznm9-cplex-128/opl/bin/x86-64_linux/oplrun': No such file or directory

It was working with CPLEX Version 20.10 on NixOS 23.11, but with the update to NixOS 24.05 I now get the below error. I guess this is due to an updated java dependency, which is incompatible with the CPLEX Version.

~ nix-shell -p cplex                                               
this derivation will be built:
  /nix/store/mxf2wi28qvv61pr6b0ipssr884mzz6gc-cplex-128.drv
building '/nix/store/mxf2wi28qvv61pr6b0ipssr884mzz6gc-cplex-128.drv'...
Running phase: unpackPhase
Running phase: patchPhase
Running phase: updateAutotoolsGnuConfigScriptsPhase
Running phase: configurePhase
no configure script, doing nothing
Running phase: buildPhase
Error: Could not find or load main class com.zerog.lax.LAX
Caused by: java.lang.ClassNotFoundException: com.zerog.lax.LAX
error: builder for '/nix/store/mxf2wi28qvv61pr6b0ipssr884mzz6gc-cplex-128.drv' failed with exit code 1;
       last 8 log lines:
       > Running phase: unpackPhase
       > Running phase: patchPhase
       > Running phase: updateAutotoolsGnuConfigScriptsPhase
       > Running phase: configurePhase
       > no configure script, doing nothing
       > Running phase: buildPhase
       > Error: Could not find or load main class com.zerog.lax.LAX
       > Caused by: java.lang.ClassNotFoundException: com.zerog.lax.LAX
       For full logs, run 'nix log /nix/store/mxf2wi28qvv61pr6b0ipssr884mzz6gc-cplex-128.drv'.

~ nix log /nix/store/mxf2wi28qvv61pr6b0ipssr884mzz6gc-cplex-128.drv
@nix { "action": "setPhase", "phase": "unpackPhase" }
Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "configurePhase" }
Running phase: configurePhase
no configure script, doing nothing
@nix { "action": "setPhase", "phase": "buildPhase" }
Running phase: buildPhase
Error: Could not find or load main class com.zerog.lax.LAX
Caused by: java.lang.ClassNotFoundException: com.zerog.lax.LAX