Code Monkey home page Code Monkey logo

pycutest's Issues

Symbol not found: __intel_fast_memcpy

I tried to run the code "p = pycutest.import_problem('ROSENBR')", it raised an error:

ImportError Traceback (most recent call last)
in
----> 1 p = pycutest.import_problem('ROSENBR')

/anaconda3/lib/python3.7/site-packages/pycutest/build_interface.py in import_problem(problemName, destination, sifParams, sifOptions, efirst, lfirst, nvfirst, quiet, drop_fixed_variables)
334 problemDir = destination
335 # Import the module CACHE_SUBFOLDER.problemDir, and return a wrapper
--> 336 return CUTEstProblem(import('%s.%s' % (CACHE_SUBFOLDER, problemDir), globals(), locals(), [str(problemDir)]),
337 drop_fixed_variables=drop_fixed_variables)
338

~/Documents/pycutest_cache/pycutest_cache_holder/ROSENBR/init.py in
37 from future import absolute_import, division, print_function, unicode_literals
38
---> 39 from ._pycutestitf import *
40 from . import _pycutestitf
41 import os

ImportError: dlopen(/Users/ziyan/Documents/pycutest_cache/pycutest_cache_holder/ROSENBR/_pycutestitf.cpython-37m-darwin.so, 2): Symbol not found: __intel_fast_memcpy
Referenced from: /Users/ziyan/Documents/pycutest_cache/pycutest_cache_holder/ROSENBR/_pycutestitf.cpython-37m-darwin.so
Expected in: flat namespace
in /Users/ziyan/Documents/pycutest_cache/pycutest_cache_holder/ROSENBR/_pycutestitf.cpython-37m-darwin.so

It seems that there is something wrong with __intel_fast_memcpy. Does anyone know how to fix it? Thanks in advance.

Cannot make it work in Ubuntu 18.10 and Anaconda Python

Hi,

I tried to installed it both using pip and manually but when trying to load any problem I get the error:

Python 3.7.1 (default, Dec 14 2018, 19:28:38) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pycutest
>>> p = pycutest.import_problem('ROSENBR')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/continuum/anaconda3/lib/python3.7/site-packages/pycutest/build_interface.py", line 336, in import_problem
    return CUTEstProblem(__import__('%s.%s' % (CACHE_SUBFOLDER, problemDir), globals(), locals(), [str(problemDir)]),
  File "/tmp/pycutestcache/pycutest_cache_holder/ROSENBR/__init__.py", line 63, in <module>
    (n, m)=_pycutestitf._dims()
Exception: Failed to open data file

If I go the the directory where the $PYCUTEST_CACHE/pycutest_cache_holder/ROSENBR directory and look for its contents I get:

AUTOMAT.d  build  cutestitf.c  ELFUN.f  ELFUN.o  EXTER.f  EXTER.o  GROUP.f  GROUP.o  __init__.py  OUTSDIF.d  __pycache__  PyCUTEst_automatic_test_function_interface_builder-1.0-py3.7.egg-info  _pycutestitf.cpython-37m-x86_64-linux-gnu.so  RANGE.f  RANGE.o  setup.py

Problem with PyCUTEst.find_problems()

Describe the bug
When I tried to find problems as the tutorial using
probs = pycutest.find_problems(constraints='unconstrained', userN=True), I got the following error message.

Traceback (most recent call last):
File "", line 1, in
File "/local/scratch/szhao89/optim/lib/python3.8/site-packages/pycutest/sifdecode_extras.py", line 294, in find_problems
data=problem_properties(name)
File "/local/scratch/szhao89/optim/lib/python3.8/site-packages/pycutest/sifdecode_extras.py", line 234, in problem_properties
'origin': cfDict['origin'][cfString[5].upper()],
KeyError: 'S'

However, other functions work. For example, I can run
p = pycutest.import_problem('ROSENBR').

Information about your installation:
I just followed the instruction to install cutest and compile it.

Thanks for your help!

Clean up documentation

The main page with all the interface functions is hard to navigate - needs cleaning up (including links between list of available functions and definition, or entries on the LHS index sidebar, etc).

Needs some work because doc generation was automated with Sphinx autodoc extension (not sure how to modify). Alternatively, migrate everything into the rst files directly (not as nice, but at least it's fully configurable).

Release of memory

Hi, it seems that the pycutest still occupy much CPU memory and will not release if we didn't terminate the python program.

problems_name = ["HS7", "HS6", "HS56", "HS48", "HS60"]
tracemalloc.start()
for name in problems_name:
    prob = pycutest.import_problem(name, drop_fixed_variables=True)
    for i in range(2000):
        x = prob.x0
        g = prob.objcons(x)

    del prob
    gc.collect()

    snapshot = tracemalloc.take_snapshot()
    display_top(snapshot)

It is reported that the CPU memory is increasing...
Looking forward to your help, thanks!

import_problem

Hi, when i use pycutest.import_prolem(), i get the following error:

from ._pycutestitf import *
ImportError: dlopen(/Users/username/pycutest_cache/pycutest_cache_holder/BT9/_pycutestitf.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace 'cutest_cdh'

May i ask how to solve it? Thanks very much!

Add access to gradient only

Is your feature request related to a problem? Please describe
Currently, the gradient for an unconstrained problem can only be accessed along with either the objective or Hessian:

_, g = prob.obj(x, gradient = True)
g, _ = prob.gradhess(x)

A similar issue is true with constrained problems.

Describe the solution you'd like
Ideally, I'd like to have access to the gradient alone, i.e.,

g = prob.grad(x)

Describe alternatives you've considered
This isn't a blocking change for my work since accessing the gradient through the objective is sufficiently cheap, but this approach is aesthetically unpleasing.

Inconsistency in problem dimensions between description and problem

Describe the bug

There are two ways to determine the dimensions of a CUTest problem using pycutest: The problem properties and the problem itself. In some instances, these ways disagree.

To Reproduce

The following snippet

import pycutest

print("pycutest version:", pycutest.__version__)

name = "HATFLDBNE"

props = pycutest.problem_properties(name)

print(props)

print(f"Props: n = {props['n']}, m = {props['m']}")

problem = pycutest.import_problem(name)

print(problem)
print(f"Problem: n = {problem.n}, m = {problem.m}")

yields the following output:

pycutest version: 1.7.0
{'objective': 'none', 'constraints': 'other', 'regular': True, 'degree': 2, 'origin': 'academic', 'internal': False, 'n': 4, 'm': 0}
Props: n = 4, m = 0
CUTEst problem HATFLDBNE (default params) with 4 variables and 4 constraints
Problem: n = 4, m = 4

As can be seen, there is some ambiguity as to whether the problem has constraints (is m = 0 or m = 4?). It is possible to evaluate the constraints at the provided x0, so I guess m = 4 is correct?

Information about your installation:

  • Linux
  • Python 3.12.3
  • PyCUTEst Version: 1.7.0

Check system path

In build_interface.import_problem(), check that cache is in the Python path. Easiest way would be to add an ImportError catch to lines 341-342:
return CUTEstProblem(__import__('%s.%s' % (CACHE_SUBFOLDER, problemDir), globals(), locals(), [str(problemDir)]), drop_fixed_variables=drop_fixed_variables)

If this throws an ImportError, just try to import CACHE_SUBFOLDER - an ImportError here indicates the Python path can't see it. This will hopefully avoid issues when using IDEs, etc.

Segmentation Fault and Failed to open data file exceptions

Amazing work @jfowkes.
I would like to use the package in Ubuntu 20.04, with GCC 9.3 and gfortran 9.3 with default python 3.8.
Upon running the

python3 setup.py test

I get:

running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
writing pycutest.egg-info/PKG-INFO
writing dependency_links to pycutest.egg-info/dependency_links.txt
writing requirements to pycutest.egg-info/requires.txt
writing top-level names to pycutest.egg-info/top_level.txt
reading manifest file 'pycutest.egg-info/SOURCES.txt'
writing manifest file 'pycutest.egg-info/SOURCES.txt'
running build_ext
runTest (pycutest.tests.test_basic_functionality.TestALLINITC_with_fixed) ... ERROR
runTest (pycutest.tests.test_basic_functionality.TestALLINITC_with_free) ... ERROR
runTest (pycutest.tests.test_basic_functionality.TestALLINITU) ... ERROR
runTest (pycutest.tests.test_basic_functionality.TestParamError) ... ok
runTest (pycutest.tests.test_basic_functionality.TestRemoval) ... ok
runTest (pycutest.tests.test_sifdecode_extras.TestAvailableParamsARGLALE) ... ok
runTest (pycutest.tests.test_sifdecode_extras.TestAvailableParamsBRATU) ... ok
runTest (pycutest.tests.test_sifdecode_extras.TestAvailableParamsROSENBR) ... ok
runTest (pycutest.tests.test_sifdecode_extras.TestClassification) ... ok
runTest (pycutest.tests.test_sifdecode_extras.TestFindProblems) ... ok
runTest (pycutest.tests.test_sifparam_chars.TestSROSENBR) ... ERROR
runTest (pycutest.tests.test_sparse_functionality.TestSparseConstrained) ... ERROR
runTest (pycutest.tests.test_sparse_functionality.TestSparseUnconstrained) ... ERROR

======================================================================
ERROR: runTest (pycutest.tests.test_basic_functionality.TestALLINITC_with_fixed)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/yaser/pycutest/pycutest/tests/test_basic_functionality.py", line 174, in runTest
    p = pycutest.import_problem('ALLINITC', drop_fixed_variables=False)
  File "/home/yaser/pycutest/pycutest/build_interface.py", line 349, in import_problem
    return CUTEstProblem(__import__('%s.%s' % (CACHE_SUBFOLDER, problemDir), globals(), locals(), [str(problemDir)]),
  File "/home/yaser/pycutest/pycutest_cache/pycutest_cache_holder/ALLINITC/__init__.py", line 63, in <module>
    (n, m)=_pycutestitf._dims()
Exception: Failed to open data file

For installation, I used the following

cd $HOME
git clone https://github.com/jfowkes/pycutest.git
export TRAVIS_BUILD_DIR=$HOME/pycutest ##example:$HOME/pycutest
cd $TRAVIS_BUILD_DIR
mkdir cutest

git clone https://github.com/ralna/ARCHDefs ./cutest/archdefs &&
git clone https://github.com/ralna/SIFDecode ./cutest/sifdecode &&
git clone https://github.com/ralna/CUTEst ./cutest/cutest &&
git clone https://bitbucket.org/optrove/sif ./cutest/mastsif

export ARCHDEFS="$HOME/pycutest/cutest/archdefs/"
export SIFDECODE="$HOME/pycutest/cutest/sifdecode"
export CUTEST="$HOME/pycutest/cutest/cutest"
export MASTSIF="$HOME/pycutest/cutest/mastsif/"
export MYARCH="pc64.lnx.gfo"

${ARCHDEFS}/install_optrove

#Manual says choose (5) GNU gfortran compiler but I chose (6)
#        (5) GNU gfortran 7 compiler
#        (6) GNU gfortran compiler



export PATH="${SIFDECODE}/bin:${PATH}"
export PATH="${CUTEST}/bin:${PATH}"
export MANPATH="${SIFDECODE}/man:${MANPATH}"
export MANPATH="${CUTEST}/man:${MANPATH}"
export MYARCH="pc64.lnx.gfo"

mkdir $TRAVIS_BUILD_DIR/pycutest_cache
export PYCUTEST_CACHE="$TRAVIS_BUILD_DIR/pycutest_cache"
export PYTHONPATH="${PYCUTEST_CACHE}:${PYTHONPATH}"

python3 setup.py install
python3 setup.py test


System state isn't restored after loading failure (`FileNotFoundError`)

Describe the bug
Failures may happen when loading problems. However, the previous state of the system, and in particular the current working directory, is not restored. See the example below

To Reproduce

import os, pycutest

try:
    prob = pycutest.import_problem('SCURLY20', sifParams={'N': 10})
except RuntimeError:
    print("Loading failed.")
print(os.getcwd())

This code returns the following error.

 Problem name: SCURLY20

 Double precision version will be formed

 ** Exit from INTERPRET_gpsmps - index parameter name S-9        not recognised 

 From within do loop ending on line    68, current line is 
  ZN Q-9       X-9         0.0000D+00   S-9         0.0000D+00

 Return from INTERPRET_gpsmps, status = 3
 Decoding failure, status = 3

 ERROR: Error exit from decoding stage. terminating execution.


Loading failed.
Traceback (most recent call last):
  File "mytest.py", line 8, in <module>
    print(os.getcwd())
FileNotFoundError: [Errno 2] No such file or directory
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 76, in apport_excepthook
    binary = os.path.realpath(os.path.join(os.getcwd(), sys.argv[0]))
FileNotFoundError: [Errno 2] No such file or directory

Original exception was:
Traceback (most recent call last):
  File "mytest.py", line 8, in <module>
    print(os.getcwd())
FileNotFoundError: [Errno 2] No such file or directory

Information about your installation:

  • Operating System: Ubuntu 20.04.6 LTS
  • Python Version / Distribution: Python 3.8.10
  • PyCUTEst Version: 1.5

Using mac, install pycutest, there is a bug

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behaviour, including a code snippet showing how the error occurred
and any relevant Python output messages.

Information about your installation:

  • Operating System
  • Python Version / Distribution
  • PyCUTEst Version
    test1.txt

I use macos BugSur 11.7.1, the pycutest version is 1.4.Use the test file for the following test file and the following error appears in the screenshot.
Please instruct me how to correct it.I'd appreciate it if you could help me
image

Conversion of an array with ndim > 0 to a scalar is deprecated and will error in future

The latest version of NumPy has a deprecation warning:

pycutest/problem_class.py:673: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)

  ci = float(ci)  # convert from 1x1 NumPy array to float

We should fix this sooner rather than later or there will be inevitable breakage.

Suggested upstream fix is to simply extract the first element (cf https://numpy.org/doc/stable/release/1.25.0-notes.html#deprecations):

float(a)  # better: a[0] to get the numpy.float or a.item()

Unclosed file warnings when calling sifdecode

Currently on Python 3 we get the following warnings whenever sifdecode is called:

test_sifdecode_extras.py:21: ResourceWarning: unclosed file <_io.TextIOWrapper name=3 encoding='UTF-8'>
build_interface.py:333: ResourceWarning: unclosed file <_io.TextIOWrapper name=3 encoding='UTF-8'>

I've traced it to the p = subprocess.Popen(...) lines in sifdecode_extras.py and build_interface.py, however doing the sensible thing and using with subprocess.Popen(...) as p: fixes the warnings on Python 3 but breaks sifdecode on Python 2:
https://travis-ci.org/github/jfowkes/pycutest/jobs/673033735

Any thoughts on this? I'm confused.

Add new CUTEst routines for the John function

CUTEst 2.2 added routines for the (Fritz) John function, defined as

$$ \mathcal{J}(x,\lambda_0,\lambda) = \lambda_0 f(x) + \langle \lambda, c(x) \rangle $$

(for more details please see https://en.wikipedia.org/wiki/Fritz_John_conditions)

The following new routines have been added to CUTEst 2.2:

  • cdimohp
  • cdimsg
  • cdhj
  • cshj
  • cshj_threaded
  • chjprod
  • chjprod_threaded
  • cisgrp
  • cohprods
  • cohprodsp
  • cohprods_threaded
  • timings_threaded

We should add support for these in PyCUTEst as appropriate.

GCC error on ARM-based architecture

Bug description

After installing PyCUTEst as detailed in the documentation, I cannot compile CUTEst problems via PyCUTEst. The tests of the Fortran source files (both sifdecode and cutest) succeed, but not the import_problem function.

I ran the following code:

# Example: building problem
import pycutest

# Find unconstrained, variable-dimension problems
probs = pycutest.find_problems(constraints='U', userN=True)
print(sorted(probs)[:5])

# Properties of problem ROSENBR
print(pycuttest.problem_properties('ROSENBR'))

# Print parameters for problem ARGLALE
pycutest.print_available_sif_params('ARGLALE')

# Build this problem with N=100, M=200
problem = pycutest.import_problem('ARGLALE', sifParams={'N':100, 'M':200})
print(problem)

I got the following result:

['ARGLINA', 'ARGLINB', 'ARGLINC', 'ARGTRIGLS', 'ARWHEAD']
{'objective': 'S', 'constraints': 'U', 'regular': True, 'degree': 2, 'origin': 'A', 'internal': False, 'n': 2, 'm': 0}
Parameters available for problem ARGLALE:
N = 10 (int) 
N = 50 (int) 
N = 100 (int) 
N = 200 (int) [default]
M = 20 (int, .ge. N) 
M = 100 (int, .ge. N) 
M = 200 (int, .ge. N) 
M = 400 (int, .ge. N) [default]
End of parameters for problem ARGLALE
gcc: error: .2-a+fp16+rcpc+dotprod+crypto: No such file or directory
gcc: error: .2-a+fp16+rcpc+dotprod+crypto: No such file or directory
gcc: error: unrecognized command line option ‘-n1’; did you mean ‘-n’?
gcc: error: unrecognized command line option ‘-n1’; did you mean ‘-n’?
error: command '/usr/bin/gcc' failed with exit code 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/tmr/anaconda3/envs/py39/lib/python3.9/site-packages/pycutest/build_interface.py", line 341, in import_problem
    compile_and_install_interface(problemName, destination, sifParams, sifOptions, efirst, lfirst, nvfirst, quiet)
  File "/home/tmr/anaconda3/envs/py39/lib/python3.9/site-packages/pycutest/build_interface.py", line 300, in compile_and_install_interface
    raise RuntimeError("Failed to build the Python interface module")
RuntimeError: Failed to build the Python interface module

To install CUTEst, I choose the options advocated in the documentation.

System settings

I am running PyCUTEst on the following ARM-based infrastructure.

  • Python: 3.9.7 (default, Sep 16 2021, 16:31:42) [GCC 10.2.0]
  • Platform: Linux-4.15.0-166-generic-aarch64-with-glibc2.27

Details on the architecture:

Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           0x48
Model:               0
Stepping:            0x1
BogoMIPS:            200.00
L1d cache:           64K
L1i cache:           64K
L2 cache:            512K
L3 cache:            32768K
NUMA node0 CPU(s):   0,1
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

Version of GCC used:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/7/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 7.5.0-3ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu
Thread model: posix
gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)

Version of GFortran used:

Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/7/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 7.5.0-3ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu
Thread model: posix
gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)

Use of pycutest with virtual environments

A very nice package for using CUTEst, thanks a lot for the work.

Issue

I can get the package to work, but I find the ${PYCUTEST_CACHE} environment variable a pain point
when working with multiple environments that use pycutest. It makes sense that this would be separate as you might want to manage a global CUTEst function cache but having to manually add it to the python path is a pain, especially when trying to replicate an install on someone else's computer.

Proposed solution(s)

  • Add a fallback if the environment variable is not defined in the sites-packages/pycutest/ folder.
  • Add the ${PYCUTEST_CACHE} environment variable to the python path when pycutest is imported.

These changes seem to superficially have the benefit of being backwards compatible.

I'm happy to do a PR with either or both of those things if you're interested but thought I'd bring it up first.

Hessian for constrained problems

As mentioned in the JOSS pull request: the error message when using hess (or sphess) and not passing in a Lagrange multiplier vector v for a constrained problem is not very friendly:

Traceback (most recent call last):
  File "/Users/jari/s_matrix.py", line 20, in <module>
    H = prob.sphess(x0)  # Sparse Hessian (COO)
  File "/usr/local/lib/python3.9/site-packages/pycutest/problem_class.py", line 667, in sphess
    self.check_input_v(v)
  File "/usr/local/lib/python3.9/site-packages/pycutest/problem_class.py", line 225, in check_input_v
    elif v.shape != (self.m,):
AttributeError: 'NoneType' object has no attribute 'shape'

My suggestion here is:

  • For all problems, prob.hess(x), prob.ihess(x), prob.sphess(x) and prob.isphess(x) all return the Hessian of the objective
  • For constrained problems, prob.hess(x, v) and prob.sphess(x, v) return the Hessian of the Lagrangian

@jfowkes - it seems that your instinct was that hess(x) returns the Hessian of the objective even for constrained problems, hence the issue.

Potential issue with problem import and objective function call

Hello!

First I would sincerely thank you for developing such a great interface, however, while using pyCUTEst, I noticed some issue related to problem import and objective function call for some problem instances.

Namely, problems 'WAYSEA1NE' and 'HIMMELBA' triggers AttributeError: module 'pycutest_cache_holder.WAYSEA1NE' has no attribute 'info' when I import them via pycutest.import_problem().

Also, for some problems, the function value and gradient are evaluated to 0.0, array([0.0, 0.0]), respectively, at the initial point for that problem, via calling problem.obj(problem.x0, gradient=True). I also tried obtaining the function value for a few points close to the initial point, which also gives the function value and gradient being all 0. I'm wondering if this is an issue related to my usage or the interface itself.

Here's the list of problems with the issue mentioned above: ['BEALENE','BOXBOD','BROWNBSNE','CLUSTER', 'DANIWOOD','DANWOOD','DENSCHNCNE','ELATVIDUNE', 'EXPFITNE','FBRAIN','FBRAINNE','GBRAIN','GOTTFR', 'HIMMELBC','HIMMELBD','HS1NE','HS8','HYPCIR', 'JENSMPNE','JUDGENE','MISRA1A','MISRA1B','MISRA1C', 'MISRA1D','POWELLBS','POWELLSQ','PRICE3NE', 'PRICE4NE','RSNBRNE','S308NE','SINVALNE','WAYSEA2NE']

I attached a pdf file illustrating the two issues I mentioned above.

I sincerely appreciate your time taking a look into my issue.

Best wishes,
Yihe
pyCUTEst issue.pdf

macOS CI runners have stopped working

Something changed when the macos-latest (macos-12) GitHub Actions runners got updated from version 20221204.1 to version 20221215.1 and we now get the error:

dyld[8848]: Library not loaded: '@rpath/libgcc_s.1.1.dylib'
Referenced from: '/usr/local/Cellar/gcc@11/11.3.0/lib/gcc/11/libgcc_s.1.dylib'
Reason: tried: '/usr/local/lib/libgcc_s.1.1.dylib' (no such file), '/usr/lib/libgcc_s.1.1.dylib' (no such file)

The main change seems to be an update from macOS 12.6.1 to macOS 12.6.2 (the macOS-11 runner images have the same issue).

How to find problems with equality constraints only?

Hi everyone, I am a new user to pycutest package. I used the function probs = pycutest.find_problems(constraints='equality') to find test problems with equality constraints only. I found 19 problems in total. However, as I typed the command probs.m, for all of them, the output is 0, which implies that all test problem I found have no constraints. I had no idea where I did wrong. Thank you for any suggestions.

RuntimeError: Could not find CUTEST installation - have CUTEST and MYARCH environment variables been set correctly?

Hi there, I met above error after installing cutest and pycutest. I hope to get some help on this! Thank you!

Here is more details:
I tried brew test cutest, brew test sifdecode, brew test mastsif, it all pass with no error reported.

The detailed error message:

Traceback (most recent call last):
  File "/Users/zhengy/Documents/src/pdProj.py", line 1707, in <module>
    main()
  File "/Users/zhengy/Documents/src/pdProj.py", line 1682, in main
    import pycutest
  File "/Users/zhengy/opt/miniconda3/envs/env3.10/lib/python3.10/site-packages/pycutest/__init__.py", line 9, in <module>
    from .build_interface import import_problem, clear_cache, all_cached_problems
  File "/Users/zhengy/opt/miniconda3/envs/env3.10/lib/python3.10/site-packages/pycutest/build_interface.py", line 16, in <module>
    from .install_scripts import get_setup_script
  File "/Users/zhengy/opt/miniconda3/envs/env3.10/lib/python3.10/site-packages/pycutest/install_scripts.py", line 97, in <module>
    """ % get_cutest_path()  # will probably get the homebrew location, but may revert to environment variables
  File "/Users/zhengy/opt/miniconda3/envs/env3.10/lib/python3.10/site-packages/pycutest/system_paths.py", line 40, in get_cutest_path
    raise RuntimeError('Could not find CUTEST installation - have CUTEST and MYARCH environment variables been set correctly?')
RuntimeError: Could not find CUTEST installation - have CUTEST and MYARCH environment variables been set correctly?

I note that in the error message, the get_cutest_path() function in File "/Users/zhengy/opt/miniconda3/envs/env3.10/lib/python3.10/site-packages/pycutest/system_paths.py" raise this error, so I went into it. Here is the relavent codes: (I'm using Mac)

def get_cutest_path():
    if sys.platform == 'darwin':  # Mac
        # First try environment variables, otherwise use default homebrew location
        if 'CUTEST' in os.environ and 'MYARCH' in os.environ:
            cutest_path = os.path.join(os.environ['CUTEST'], 'objects', os.environ['MYARCH'], 'double', 'libcutest.a')
            if os.path.isfile(cutest_path):
                return cutest_path
        homebrew_path = os.path.join('usr', 'local', 'opt', 'cutest', 'lib', 'libcutest.a')  # /usr/local/opt/cutest/lib/libcutest.a
        if os.path.isfile(homebrew_path):
            return homebrew_path
        else:
            raise RuntimeError('Could not find CUTEST installation - have CUTEST and MYARCH environment variables been set correctly?')

I'm confused bc I notices that "/usr/local/opt/cutest/lib/libcutest.a" is a valid file on my end.

$ pwd
/usr/local/opt/cutest/lib
$ ls
libcutest.a		libcutest_double.a	libcutest_single.a
libcutest.dylib		libcutest_double.dylib	libcutest_single.dylib

Thus, I don't know why it raises the RuntimeError and how to fix it. From my understanding, homebrew_path = os.path.join('usr', 'local', 'opt', 'cutest', 'lib', 'libcutest.a') is a valid file and should be returned.
Please let me know if I need to provide further information. Thank you so much for the help!

Local gfortran linker path warning

At the moment we have in install_scripts.py on line 94 a hardcoded '/usr/local/gfortran/lib/' path for Mac, however this is causing an ugly linker warning to show up if not used:

ld: warning: directory not found for option '-L/usr/local/gfortran/lib/'

I'm thinking that instead we could add an optional environment variable that gets picked up in system_paths.py if it is defined? That way we could avoid the potentially confusing warning.

module 'pycutest_cache_holder.X' has no attribute 'setup'

Regrettably PyCUTEst v1.5.0 breaks existing cached problems (we had to fix a memory leak).

When upgrading to PyCUTEst v1.5.0, please clear out your cache by deleting the $PYCUTEST_CACHE/pycutest_cache_holder directory:

rm -r $PYCUTEST_CACHE/pycutest_cache_holder/

Failure to do so will result in errors of the form:

>>> pycutest.import_problem('ROSENBR')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/jari/Code/pycutest/pycutest/build_interface.py", line 345, in import_problem
    return CUTEstProblem(importlib.import_module('%s.%s' % (CACHE_SUBFOLDER, problemDir)),
  File "/home/jari/Code/pycutest/pycutest/problem_class.py", line 52, in __new__
    module.info = module.setup() # setup CUTEst problem
AttributeError: module 'pycutest_cache_holder.ROSENBR' has no attribute 'setup'

How to release RAM

When I test an unconstrained optimization algorithm ,I found that reuse pycutest.import_problem will lead the RAM increase fastly.

import pycutest

uncon = pycutest.find_problems(constraints='unconstrained', userN=True)
for prob in uncon:
    p = pycutest.import_problem(prob)

Only exit Python can release RAM

Setuptools not installed by default

When installing PyCUTEst via pip install pycutest, the required dependency setuptools is not installed alongside. This is important because setuptools is no longer shipped by default with Python starting from Python 3.12.

I see it appears in requirements.txt, but I suppose setup.py should be modified to add setuptools somewhere.

Cheers,
Tom.

Add missing sparse routines (sobj, sgrad)

The official CUTEst MATLAB interface has the sparse routines:

Tool    CUTEst function   Purpose
--------------------------------------------------------------------------
sobj    uofg / cofsg      Evaluate objective function value
                          and its sparse gradient if requested
sgrad   ugr / cisgr       Evaluate objective function or
                          constraint gradient as a sparse vector

These are the sparse equivalents of our existing obj and grad routines.

We should probably implement these in a similar way as done there:
https://github.com/ralna/CUTEst/blob/master/src/matlab/mcutest.c

Encountering error when importing problem on Mac OS X 10.13

First and foremost, thank you for implementing this Python CUTEst interface! I am very excited to use it. Unfortunately, my kernel dies and I receive the following error when trying to import a problem in Spyder (Python 3.6):

An error ocurred while starting the kernel
ld: warning: object file (RANGE.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (EXTER.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (ELFUN.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (GROUP.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimen.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimsj.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cfn.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cidh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccfg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccfsg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccifg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccifsg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cgr.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cgrdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(chprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cjprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cofg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csetup.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csgr.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csgrsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uhprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uofg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cish.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(connames.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(creport.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cvartype.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(probname.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(udh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(udimsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ugrdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ugrsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ureport.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(usetup.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ush.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uvartype.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(varnames.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(fortran_ops.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cutest.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (RANGE.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (EXTER.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (ELFUN.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (GROUP.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimen.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimsj.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cfn.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cidh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccfg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccfsg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccifg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccifsg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cgr.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cgrdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(chprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cjprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cofg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csetup.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csgr.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csgrsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uhprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uofg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cish.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(connames.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(creport.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cvartype.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(probname.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(udh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(udimsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ugrdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ugrsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ureport.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(usetup.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ush.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uvartype.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(varnames.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(fortran_ops.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cutest.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (RANGE.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (EXTER.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (ELFUN.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (GROUP.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimen.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimsj.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cfn.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cidh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccfg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccfsg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccifg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccifsg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cgr.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cgrdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(chprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cjprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cofg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csetup.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csgr.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csgrsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uhprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uofg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cish.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(connames.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(creport.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cvartype.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(probname.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(udh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(udimsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ugrdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ugrsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ureport.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(usetup.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ush.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uvartype.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(varnames.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(fortran_ops.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cutest.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (RANGE.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (EXTER.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (ELFUN.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (GROUP.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimen.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimsj.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cfn.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cidh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccfg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccfsg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccifg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccifsg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cgr.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cgrdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(chprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cjprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cofg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csetup.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csgr.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csgrsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uhprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uofg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cish.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(connames.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(creport.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cvartype.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(probname.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(udh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(udimsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ugrdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ugrsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ureport.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(usetup.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ush.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uvartype.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(varnames.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(fortran_ops.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cutest.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (RANGE.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (EXTER.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (ELFUN.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (GROUP.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimen.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimsj.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cfn.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cidh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccfg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccfsg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccifg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccifsg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cgr.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cgrdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(chprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cjprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cofg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csetup.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csgr.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csgrsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uhprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uofg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cish.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(connames.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(creport.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cvartype.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(probname.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(udh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(udimsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ugrdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ugrsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ureport.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(usetup.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ush.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uvartype.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(varnames.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(fortran_ops.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cutest.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (RANGE.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (EXTER.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (ELFUN.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (GROUP.o) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimen.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cdimsj.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cfn.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cidh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccfg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccfsg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccifg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ccifsg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cgr.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cgrdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(chprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cjprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cofg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csetup.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csgr.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csgrsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uhprod.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uofg.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cish.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(connames.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(creport.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(csh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cvartype.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(probname.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(udh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(udimsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ugrdh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ugrsh.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ureport.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(usetup.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(ush.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(uvartype.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(varnames.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(fortran_ops.o)) was built for newer OSX version (10.13) than being linked (10.7)
ld: warning: object file (/usr/local/Cellar/cutest/2.0.0/libexec/objects/mac64.osx.gfo/double/libcutest.a(cutest.o)) was built for newer OSX version (10.13) than being linked (10.7)

Trying to debug this, I found that this error occurs at line 319 of build_interface.py:

return CUTEstProblem(__import__('%s.%s' % (CACHE_SUBFOLDER, problemDir), globals(), locals(), [str(problemDir)]), drop_fixed_variables=drop_fixed_variables)

Do you know by any chance why these warnings and error may be occurring and how it can be fixed?

I installed CUTEst and PyCUTEst using brew and pip following your instructions and am using Mac OS X 10.13.6 and CUTEst 2.0.0. Thanks in advance!

CI macOS Test Faling

The macOS CI tests have started failing, it looks like the gfortran library can no longer be found:

dyld: Library not loaded: /usr/local/opt/gcc/lib/gcc/11/libgfortran.5.dylib
  Reason: image not found

Segmentation fault: 11

Hi,

I updated my Mac OS system several days ago. When I run the PyCUTEst today, it returns some warnings and a Segmentation fault:

ld: warning: directory not found for option '-L/usr/local/gfortran/lib/'
ld: warning: object file (RANGE.o) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (EXTER.o) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (ELFUN.o) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (GROUP.o) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cdh.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cdimen.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cdimsh.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cdimsj.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cfn.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cidh.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(ccfg.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(ccfsg.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(ccifg.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(ccifsg.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cgr.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cgrdh.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(chprod.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cjprod.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cofg.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(csetup.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(csgr.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(csgrsh.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(uhprod.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(uofg.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cish.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(connames.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(creport.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(csh.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cvartype.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(probname.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(udh.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(udimsh.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(ugrdh.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(ugrsh.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(ureport.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(usetup.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(ush.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(uvartype.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(varnames.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(fortran_ops.o)) was built for newer OSX version (10.14) than being linked (10.9)
ld: warning: object file (/Users/ziyan/Documents/Github/cutest/cutest/objects/mac64.osx.gfo/double/libcutest.a(cutest.o)) was built for newer OSX version (10.14) than being linked (10.9)
Segmentation fault: 11

Do you know why it happens and how to fix it? Many thanks!

Support for ARM-based Mac

Does this interface support ARM-based computers? I didn't read anything like that in the README, so hopefully I'm not missing something obvious. CUTEst itself seems to be working properly at first glance, although I couldn't do much testing.

I get the following output, when I try to run the example for building problems available at https://jfowkes.github.io/pycutest/_build/html/building.html#building-problems:

Parameters available for problem ARGLALE:
N = 10 (int)
N = 50 (int)
N = 100 (int)
N = 200 (int) [default]
M = 20 (int, .ge. N)
M = 100 (int, .ge. N)
M = 200 (int, .ge. N)
M = 400 (int, .ge. N) [default]
End of parameters for problem ARGLALE
ld: warning: ignoring file RANGE.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file /opt/homebrew/opt/cutest/libexec/objects/mac64.osx.gfo/double/libcutest.a, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
ld: warning: ignoring file GROUP.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file EXTER.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
ld: warning: ignoring file ELFUN.o, building for macOS-x86_64 but attempting to link with file built for unknown-arm64
Traceback (most recent call last):
File "/Users/uni/Desktop/cutest/building_problems.py", line 8, in
problem = pycutest.import_problem('ARGLALE', sifParams={'N':100, 'M':200})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/cutest/lib/python3.11/site-packages/pycutest/build_interface.py", line 354, in import_problem
raise error
File "/opt/anaconda3/envs/cutest/lib/python3.11/site-packages/pycutest/build_interface.py", line 345, in import_problem
return CUTEstProblem(importlib.import_module('%s.%s' % (CACHE_SUBFOLDER, problemDir)),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/cutest/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1206, in _gcd_import
File "", line 1178, in _find_and_load
File "", line 1149, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "/Users/uni/pycutest_cache/pycutest_cache_holder/ARGLALE_M200_N100/init.py", line 38, in
from ._pycutestitf import *
ImportError: dlopen(/Users/uni/pycutest_cache/pycutest_cache_holder/ARGLALE_M200_N100/_pycutestitf.cpython-311-darwin.so, 0x0002): symbol not found in flat namespace 'cutest_cdh'

Any feedback or tips to guide me in the right direction would be greatly appreciated.

PyCUTEst v1.5.0 breaks existing cached problems

Regrettably PyCUTEst v1.5.0 breaks existing cached problems (we had to fix a memory leak).

When upgrading to PyCUTEst v1.5.0, please clear out your cache by deleting the $PYCUTEST_CACHE/pycutest_cache_holder directory:

rm -r $PYCUTEST_CACHE/pycutest_cache_holder/

Failure to do so will result in errors of the form:

>>> pycutest.import_problem('ROSENBR')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/jari/Code/pycutest/pycutest/build_interface.py", line 345, in import_problem
    return CUTEstProblem(importlib.import_module('%s.%s' % (CACHE_SUBFOLDER, problemDir)),
  File "/home/jari/Code/pycutest/pycutest/problem_class.py", line 52, in __new__
    module.info = module.setup() # setup CUTEst problem
AttributeError: module 'pycutest_cache_holder.ROSENBR' has no attribute 'setup'

SIFDECODE failed

Hi,

I was able to install the pycutest on my Mac and import it in python. However, when I try to run:

[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

import pycutest
p=pycutest.import_problem("ROSENBR")"

it returned the following:

=========================================================================================
dyld: Library not loaded: /usr/local/opt/gcc/lib/gcc/9/libgfortran.5.dylib
Referenced from: /usr/local/opt/sifdecode/libexec/objects/mac64.osx.gfo/double/run_sifdecode
Reason: image not found
/usr/local/opt/sifdecode/libexec/bin/sifdecoder: line 451: 2582 Abort trap: 6 $DECODER

ERROR: Error exit from decoding stage. terminating execution.

Traceback (most recent call last):
File "", line 1, in
File "/Users/melody/anaconda3/lib/python3.6/site-packages/pycutest/build_interface.py", line 340, in import_problem
objList = decode_and_compile_problem(problemName, destination, sifParams, sifOptions, quiet)
File "/Users/melody/anaconda3/lib/python3.6/site-packages/pycutest/build_interface.py", line 215, in decode_and_compile_problem
raise RuntimeError('SIFDECODE failed, check output printed above')
RuntimeError: SIFDECODE failed, check output printed above

I'm wondering if you can help me with this issue. Many thanks!

Problem compilation issue when pycutest.importing_problem(string) is called.

When trying to import a problem

probname = "ROSENBR"
ct = pycutest.import_problem(probname, quiet=False)

the following exception gets thrown. It looks like something is wrong with the resulting .so module file. The module file exists after the exception was thrown.

Problem name: ROSENBR

 Double precision version will be formed

 The objective function uses 1 linear group
 The objective function uses 1 nonlinear group
 
 There are 2 free variables
 
 
 File successfully decoded
gfortran -fPIC -c GROUP.f 
gfortran -fPIC -c EXTER.f 
gfortran -fPIC -c RANGE.f 
gfortran -fPIC -c ELFUN.f 
pydev debugger: process 36500 is connecting

pydev debugger: warning: trying to add breakpoint to file that does not exist: /usr/lib/python3.7/site-packages/sympy/matrices/matrices.py (will have no effect)
pydev debugger: warning: trying to add breakpoint to file that does not exist: /usr/lib/python3.7/site-packages/sympy/matrices/matrices.py (will have no effect)
running build
running build_ext
building '_pycutestitf' extension
creating build
creating build/temp.linux-x86_64-3.7
gcc-9.1.0 -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DLINUX -I/PATH/python-374/lib/python3.7/site-packages/numpy/core/include/numpy -I/system/PATH/cutest/cutest/include/ -I/PATH/python-374/include/python3.7m -c cutestitf.c -o build/temp.linux-x86_64-3.7/cutestitf.o
pydev debugger: warning: trying to add breakpoint to file that does not exist: /usr/lib/python3.7/site-packages/sympy/matrices/matrices.py (will have no effect)
pydev debugger: warning: trying to add breakpoint to file that does not exist: /usr/lib/python3.7/site-packages/sympy/matrices/matrices.py (will have no effect)
pydev debugger: warning: trying to add breakpoint to file that does not exist: /usr/lib/python3.7/site-packages/sympy/matrices/matrices.py (will have no effect)
creating build/lib.linux-x86_64-3.7
gcc-9.1.0 -pthread -shared build/temp.linux-x86_64-3.7/cutestitf.o GROUP.o RANGE.o EXTER.o ELFUN.o /PATH/cutest/cutest/objects/pc64.lnx.gfo/double/libcutest.a -lgfortran -o build/lib.linux-x86_64-3.7/_pycutestitf.cpython-37m-x86_64-linux-gnu.so
pydev debugger: warning: trying to add breakpoint to file that does not exist: /usr/lib/python3.7/site-packages/sympy/matrices/matrices.py (will have no effect)
pydev debugger: warning: trying to add breakpoint to file that does not exist: /usr/lib/python3.7/site-packages/sympy/matrices/matrices.py (will have no effect)
pydev debugger: warning: trying to add breakpoint to file that does not exist: /usr/lib/python3.7/site-packages/sympy/matrices/matrices.py (will have no effect)
pydev debugger: process 36623 is connecting

pydev debugger: warning: trying to add breakpoint to file that does not exist: /usr/lib/python3.7/site-packages/sympy/matrices/matrices.py (will have no effect)
pydev debugger: warning: trying to add breakpoint to file that does not exist: /usr/lib/python3.7/site-packages/sympy/matrices/matrices.py (will have no effect)
running install
running build
running build_ext
running install_lib
copying build/lib.linux-x86_64-3.7/_pycutestitf.cpython-37m-x86_64-linux-gnu.so -> .
running install_egg_info
Writing ./PyCUTEst_automatic_test_function_interface_builder-1.0-py3.7.egg-info
Traceback (most recent call last):
  File "/system/PATH/.pycharm_helpers/pydev/pydevd.py", line 1741, in <module>
    main()
  File "/system/PATH/.pycharm_helpers/pydev/pydevd.py", line 1735, in main
    globals = debugger.run(setup['file'], None, None, is_module)
  File "/system/PATH/.pycharm_helpers/pydev/pydevd.py", line 1135, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/system/PATH/.pycharm_helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/system/PATH2/cutest_test.py", line 14, in <module>
    ct = pycutest.import_problem(probname, quiet=False)
  File "/system/PATHS/python-374/lib/python3.7/site-packages/pycutest/build_interface.py", line 336, in import_problem
    return CUTEstProblem(__import__('%s.%s' % (CACHE_SUBFOLDER, problemDir), globals(), locals(), [str(problemDir)]),
  File "/PATH/pycutest_cache_folder/pycutest_cache_holder/ROSENBR/__init__.py", line 63, in <module>
    (n, m)=_pycutestitf._dims()
Exception: Failed to open data file

Somethings is odd here. Can you help me?

Add citation information

Is your feature request related to a problem? Please describe
n/a

Describe the solution you'd like
We should add citation information to the README and documentation (beyond just the badge), to make it easy for everyone to see the citation info.

(I'm quite busy with other things right now, so putting this here mostly as a reminder to myself!)

Describe alternatives you've considered
n/a

Better handling of incompatible Fortran compilers

A common error amongst our users is when CUTEst is compiled with a different compiler to that which the Python environment is using (see e.g. #2, #7, #14).

By default our automatic shell script installer should pick up the shell default gfortran:

$ gofrtran --version

but for some users this is not the same as that picked up by their Python interpreter:

python3 -c 'import subprocess; subprocess.call(["gfortran", "--version"])’ 

which is what PyCUTEst uses by default.

This situation then leads to the dreaded and very user-unfriendly error:

Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File ".../python3.6/site-packages/pycutest/build_interface.py", line 347, in import_problem
   drop_fixed_variables=drop_fixed_variables)
 File ".../python3.6/site-packages/pycutest/problem_class.py", line 52, in __new__
   [module.info](http://module.info/) = module.setup() # setup CUTEst problem
 File ".../CUTEST/pycutest_cache/pycutest_cache_holder/ARGLALE_M200_N100/__init__.py", line 69, in setup
   (n, m)=_pycutestitf.dims()
Exception: Failed to open data file

The question is, can we handle this error more gracefully than at present?

Should we change the shell script to automatically detect the python gfortran?

error when Installing on Linux

Hi,

I was following the documentation "Installing CUTEst on Linux", and I ran the command

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/jfowkes/pycutest/master/.install_cutest.sh)"

And I got the error below:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/jfowkes/pycutest/master/.install_cutest.sh)"

Build schedule:
 - SIFDecode from
    /home/cutest/sifdecode/
 - CUTEst from
 -  /home/cutest/cutest/

 Version for architecture pc64.lnx.gfo will be installed

 Installing SIFDecode ...

Installing the double precision version
 compiling in /home/cutest/sifdecode//src with the comand
 /usr/bin/make -s -f /home/cutest/sifdecode//makefiles/pc64.lnx.gfo all
 Compiling sifdecode                /bin/sh: gfortran-12: command not found
 => Disabling optimization /bin/sh: line 2: gfortran-12: command not found
make[1]: *** [/home/cutest/sifdecode//objects/pc64.lnx.gfo/double/libsifdecode.a(sifdecode.o)] Error 127
make: *** [all_double] Error 2

Could you please give some advice? Thanks a lot!

By the way, gfortran -v gives me gcc version 6.2.0 (GCC).

Compilation in parallel on macOS does not work

Describe the bug
Although things work smoothly on Ubuntu, the compilation of problems cannot be done in parallel on macOS.

To Reproduce
I tried to run the following code:

import logging

import pycutest
from joblib import Parallel, delayed


def get_logger(name):
    logger = logging.getLogger(__name__)
    if len(logger.handlers) == 0:
        logger.setLevel(logging.INFO)

        # Attach a console handler (thread-safe).
        handler = logging.StreamHandler()
        handler.setFormatter(logging.Formatter('[%(levelname)-8s] %(message)s'))
        logger.addHandler(handler)
    return logger


@delayed
def load_problem(problem_name):
    logger = get_logger(__name__)
    logger.info(f'Loading {problem_name}')
    try:
        pycutest.import_problem(problem_name)
        logger.info(f'{problem_name} successfully loaded')
    except Exception as exc:
        logger.warning(f'{problem_name} failed to load: {exc}')


if __name__ == '__main__':
    problem_names = pycutest.find_problems(constraints='unconstrained', n=[1, 10])
    Parallel(n_jobs=-1)(load_problem(problem_name) for problem_name in problem_names[:5])

This code attempts to load five problems. I assume here that PYCUTEST_CACHE is set to a location where the problems have not already been compiled. I get the following output:

[INFO    ] Loading SISSER
[INFO    ] Loading PALMER5C
[INFO    ] Loading CHWIRUT2LS
[INFO    ] Loading BOXPOWER
[INFO    ] Loading DENSCHNB
Fatal Python error: init_sys_streams: can't initialize sys standard streams
Python runtime state: core initialized
OSError: [Errno 9] Bad file descriptor

Current thread 0x00007ff8541ebb80 (most recent call first):
  <no Python frame>
[WARNING ] SISSER failed to load: Failed to build the Python interface module
Fatal Python error: init_sys_streams: can't initialize sys standard streams
Python runtime state: core initialized
OSError: [Errno 9] Bad file descriptor

Current thread 0x00007ff8541ebb80 (most recent call first):
  <no Python frame>
Fatal Python error: init_sys_streams: can't initialize sys standard streams
Python runtime state: core initialized
OSError: [Errno 9] Bad file descriptor

Current thread 0x00007ff8541ebb80 (most recent call first):
  <no Python frame>
[WARNING ] DENSCHNB failed to load: Failed to build the Python interface module
[WARNING ] CHWIRUT2LS failed to load: Failed to build the Python interface module
Fatal Python error: init_sys_streams: can't initialize sys standard streams
Python runtime state: core initialized
OSError: [Errno 9] Bad file descriptor

Current thread 0x00007ff8541ebb80 (most recent call first):
  <no Python frame>
[WARNING ] PALMER5C failed to load: Failed to build the Python interface module
Fatal Python error: init_sys_streams: can't initialize sys standard streams
Python runtime state: core initialized
OSError: [Errno 9] Bad file descriptor

Current thread 0x00007ff8541ebb80 (most recent call first):
  <no Python frame>
[WARNING ] BOXPOWER failed to load: Failed to build the Python interface module

What is strange to me is that this code works correctly on Ubuntu.

Information about your installation:

  • machine: macOS-14.2.1-x86_64-i386-64bit
  • python: 3.10.13 (main, Aug 24 2023, 12:59:26) [Clang 15.0.0 (clang-1500.0.40.1)]
  • pycutest: 1.6.0 (also with 1.5.1)

Python Headers on Ubuntu

Hello,

I'm using the Ubntu system. After I followed the instructions to install cutest and pycutest, it gives me the following error message. Any help would be greatly appreciated.
question

An option or function to get all the problems compiled and saved, so that they do not need to be compiled on the fly

Hello, Jaroslav and Lindon (and anyone else who is maintaining PyCUTEst),

First of all, thank you very much for making CUTEst available under Python. It has been playing an essential role during our development of COBYQA @ragonneau . I know it takes a huge effort to make this happen.

Is your feature request related to a problem? Please describe

Sorry if I overlooked something and this feature is already available. Is there an option/function that allows us to get all the problems compiled and saved, so that they do not need to be compiled again later? This question is relevant for two reasons. First, some difficult problems take a significant amount of time and computing power to compile. Second, the compilation may fail (due to various reasons, e.g., limited resources, or some uncovered bug somewhere) from time to time. It would be great if all the problems can be prepared beforehand (for only once), and users never need to worry about the compilation when using these problems for testing.

Describe the solution you'd like

Make it possible to get all the problems compiled and saved, so that they do not need to be compiled a second time. Sure, some problems accept some options when being compiled (e.g., dimension). In that case, we may only compile the problem with the default option.

Describe alternatives you've considered

You may see my package MatCUTEst, which is the MATLAB counterpart of PyCUTEst (sure, CUTEst already provides a MATLAB interface; MatCUTEst makes it easier to use). When MatCUTEst is installed, all the problems will be compiled (it may take some time). After that, all problems are available via the function macup (an analog of pycutest.import_problem), which does nothing more than locate the compiled problem without doing any compilation. This saves enormous time during the testing.

In addition, I also made a compiled version of MatCUTEst, which can be used without any compilation (of course, if works only for limited combinations of OS and MATLAB). With MatCUTEst, it is easy to use CUTEst in GitHub Actions, particularly with GitHub hosted runners, which would be rather time/resource-consuming if problems need to be compiled on the fly. It would be great if the same can be done for PyCUTEst. Anyone who wants to use PyCUTEst in CI would benefit.

Thank you very much for your attention.

Best regards,
Zaikun

Issues with setting problem dimension

I'm currently not able to set the problem dimension in the sifParams option for some of the CUTEst problems. When trying to set N to be 500 for the SROSENBR problem, I receive the following error:

Traceback (most recent call last):
  File "main.py", line 35, in <module>
    problem = utils.CUTEstProblem(args.problem_name, args.N, args.print_sif, args.eps_f, args.eps_g)
  File "/home/hjmshi/BFGS_with_Errors/utils.py", line 46, in __init__
    self.problem = pycutest.import_problem(problem_name, sifParams=self.sif_params)
  File "/home/hjmshi/anaconda3/lib/python3.6/site-packages/pycutest/build_interface.py", line 328, in import_problem
    objList = decode_and_compile_problem(problemName, destination, sifParams, sifOptions, quiet)
  File "/home/hjmshi/anaconda3/lib/python3.6/site-packages/pycutest/build_interface.py", line 206, in decode_and_compile_problem
    raise RuntimeError('SIFDECODE error: %s' % param_error)
RuntimeError: SIFDECODE error:  Failed setting N to 500

I've tried clearing the cache but it doesn't help. I've checked to make sure that this is an sifParams option using the print_available_sif_params function, which gives this:

Parameters available for problem SROSENBR:
N/2 = 5 (int, n = 10 original value)
N/2 = 25 (int, n = 50)
N/2 = 50 (int, n = 100)
N/2 = 250 (int, n = 500)
N/2 = 500 (int, n = 1000)
N/2 = 2500 (int, n = 5000) [default]
N/2 = 5000 (int, n = 10000)
End of parameters for problem SROSENBR

Could I get some help on where to start debugging this? Thanks in advance!

Error in using pycutest

Hi,

I follow the instruction in https://jfowkes.github.io/pycutest/_build/html/install.html to install cutest on Mac.
My mac version is Monterey 12.5. I use Pycharm with python 3.8 and gfortran 12.1

Then I run the tests in "Building Test Problem" of https://jfowkes.github.io/pycutest/_build/html/install.html
the first one "Find Problems", my output is fine
but the second one "Building Problems", my output is

Parameters available for problem ARGLALE:
N = 10 (int)
N = 50 (int)
N = 100 (int)
N = 200 (int) [default]
M = 20 (int, .ge. N)
M = 100 (int, .ge. N)
M = 200 (int, .ge. N)
M = 400 (int, .ge. N) [default]
End of parameters for problem ARGLALE
Traceback (most recent call last):
File "", line 8, in
File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile
pydev_imports.execfile(filename, global_vars, local_vars) # execute the script
File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "/Users/cengzhe/Documents/pythonproject/test.py", line 53, in
problem = pycutest.import_problem('ARGLALE', sifParams={'N':100, 'M':200})
File "/usr/local/anaconda3/envs/pythonProject/lib/python3.8/site-packages/pycutest/build_interface.py", line 348, in import_problem
return CUTEstProblem(import('%s.%s' % (CACHE_SUBFOLDER, problemDir), globals(), locals(), [str(problemDir)]),
File "/usr/local/anaconda3/envs/pythonProject/lib/python3.8/site-packages/pycutest/problem_class.py", line 82, in init
self.name = self._module.info['name']
AttributeError: module 'pycutest_cache_holder.ARGLALE_M200_N100' has no attribute 'info'

I check the ''ARGLALE_M200_N100' folder in 'pycutest_cache_holder' folder, there is indeed no such 'info' file. Why does this happen? Looking forward to your reply!

Pycutest with Knitro solver

Hello, please can you help me with the following issue:

Does the package support an interface to solve cutest problems with Knitro solver?

Thank you.

Migrate to GitHub Actions

As the free Travis CI is now deprecated and not running, we should switch our CI over to GitHub Actions. This should be relatively straightforward and largely a case of migrating the travis.yml file over to the GitHub Actions syntax.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.