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

Commit f4e74eb broke NLopt.jl (and any wrappers which do not pull in a fresh .h) #584

Open
odow opened this issue Jan 5, 2025 · 4 comments
Labels

Comments

@odow
Copy link

odow commented Jan 5, 2025

What happened?

This commit f4e74eb dropped the NLOPT_LD_LBFGS_NOCEDAL enum.

This broke NLopt.jl because we hard-code the enums in Julia code:
https://github.com/jump-dev/NLopt.jl/blob/bdaa35d626b2168a77251224a5d1d7a2a9677358/src/libnlopt.jl#L19-L31

We can fix in our code with a conditional that check the version of NLopt, but I wonder if you would consider re-adding the (admittedly, unused) enum as a bug fix.

How to reproduce the issue?

N/A.

Version

2.9.0

Operating System

all

Installation media

other

Additional Context

No response

@jschueller
Copy link
Collaborator

I'd prefer not to, it can be misleading for users to be able to select an algorithm that's not actually available

@odow
Copy link
Author

odow commented Jan 6, 2025

Here's the fix I needed: https://github.com/jump-dev/NLopt.jl/pull/251/files

I assume other third-party wrappers will need to do something similar?

@jschueller
Copy link
Collaborator

I guess it depends if they have to explicit all the enum values

@stevengj
Copy link
Owner

stevengj commented Jan 6, 2025

(The reason that NLOPT_LD_LBFGS_NOCEDAL exists is that a very early version of NLopt included support for Nocedal's LBFGS implementation. I removed it because it was under the restrictive ACM TOMS copyright terms. Subsequently, at Nocedal's request, ACM relaxed the terms for that code to be open source BSD-like, IIRC, so potentially we could add it back. Here is Nocedal's page on their code.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants