libprima / prima

PRIMA is a package for solving general nonlinear optimization problems without using derivatives. It provides the reference implementation for Powell's derivative-free optimization methods, i.e., COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA. PRIMA means Reference Implementation for Powell's methods with Modernization and Amelioration, P for Powell.
http://libprima.net
BSD 3-Clause "New" or "Revised" License
290 stars 35 forks source link

Update compile.m to fix https://github.com/libprima/prima/issues/161 #162

Closed zaikunzhang closed 4 months ago

zaikunzhang commented 4 months ago

This is a workaround for https://github.com/libprima/prima/issues/161, where MEX fails due to incompatibility between the new linker of Xcode 15 on macOS and Intel oneAPI 2023. The fix is to replace the linker option "-undefined error" with "-undefined dynamic_lookup". See also https://github.com/libprima/prima/issues/158. Note that we have to modify LDFLAGSVER. Setting LDFLAGS or LINKFLAGS does not work, although the latter is suggested at https://www.mathworks.com/help/matlab/ref/mex.html.

github-actions[bot] commented 4 months ago

@check-spelling-bot Report

:red_circle: Please review

See the :open_file_folder: files view, the :scroll:action log, or :memo: job summary for details.

Unrecognized words (2)

LDFLAGSVER LINKFLAGS

To accept these unrecognized words as correct, you could run the following commands ... in a clone of the [git@github.com:libprima/prima.git](https://github.com/libprima/prima.git) repository on the `zaikunzhang-fix-macos-13-mex-failure` branch ([:information_source: how do I use this?]( https://github.com/check-spelling/check-spelling/wiki/Accepting-Suggestions)): ``` sh curl -s -S -L 'https://raw.githubusercontent.com/check-spelling/check-spelling/main/apply.pl' | perl - 'https://github.com/libprima/prima/actions/runs/7933597922/attempts/1' ```

OR

To have the bot accept them for you, reply quoting the following line: @check-spelling-bot apply updates.

If the flagged items are :exploding_head: false positives If items relate to a ... * binary file (or some other file you wouldn't want to check at all). Please add a file path to the `excludes.txt` file matching the containing file. File paths are Perl 5 Regular Expressions - you can [test]( https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your files. `^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude [README.md]( ../tree/HEAD/README.md) (on whichever branch you're using). * well-formed pattern. If you can write a [pattern](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) that would match it, try adding it to the `patterns.txt` file. Patterns are Perl 5 Regular Expressions - you can [test]( https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines. Note that patterns can't match multiline strings.