Code Monkey home page Code Monkey logo

pycutest's Introduction

PyCUTEst: A Python interface to the CUTEst Optimization Test Environment GNU GPL v3 License Build status PyPI version Total downloads JOSS Paper

PyCUTEst is a Python interface to CUTEst, a Fortran package for testing optimization software. It is based on the interface originally developed for CUTEr by Prof. Arpad Buermen.

Full details on how to use PyCUTEst are available in the documentation, and a brief summary of the package's goals is available in the PyCUTEst journal article.

Requirements

PyCUTEst requires the following software to be installed:

  • Python 3 (http://www.python.org/)
  • Python 3 Headers (apt install python3-dev on Ubuntu, already included on macOS)
  • CUTEst (see below)

Please Note: Currently PyCUTEst only supports Mac and Linux. For Windows 10 (or later), PyCUTEst can be used through the Windows Subsystem for Linux, following the Linux installation instructions.

Installing CUTEst on Linux

These instructions do not include installation of the MATLAB interface. You will need to install four packages: archdefs, SIFDecode, CUTEst and MASTSIF. To keep things simple, install all four packages in the same directory:

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

Note that mastsif contains all the test problem definitions and is therefore quite large. If you're short on space you may want to copy only the *.SIF files for the problems you wish to test on.

Next set the following environment variables in your ~/.bashrc to point to the installation directories used above:

# CUTEst
export ARCHDEFS=/path/to/cutest/archdefs/
export SIFDECODE=/path/to/cutest/sifdecode/
export MASTSIF=/path/to/cutest/mastsif/
export CUTEST=/path/to/cutest/cutest/
export MYARCH="pc64.lnx.gfo"

Now we are ready to install CUTEst in double precision (requires gfortran and gcc):

$ source ~/.bashrc # load above environment variables
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/jfowkes/pycutest/master/.install_cutest.sh)"

And CUTEst should run from here. To test that the installation works, issue the commands:

$ cd $SIFDECODE/src ; make -f $SIFDECODE/makefiles/$MYARCH test
$ cd $CUTEST/src ; make -f $CUTEST/makefiles/$MYARCH test

Please Note: currently PyCUTEst only supports gfortran and uses the default version on your path (as returned by gfortran -v ). Please ensure this is the same version that you install CUTEst with above otherwise you may experience segmentation faults.

Installing CUTEst on Mac

Install CUTEst using Homebrew as detailed below (installing CUTEst manually on Mac is not supported). First it is important to ensure that you have the latest version of Xcode Command Line Tools installed (or the latest version of Xcode), please ensure this is the case by following this guide. Now install the Homebrew package manager:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Then you can easily install CUTEst:

$ brew tap optimizers/cutest
$ brew install cutest --without-single --with-matlab # if using Matlab interface
$ brew install mastsif  # if you want all the test problems
$ for f in "archdefs" "mastsif" "sifdecode" "cutest"; do \
$   echo ". $(brew --prefix $f)/$f.bashrc" >> ~/.bashrc; \
$ done

Anaconda Users: please ensure that ~/.bashrc is sourced in your conda environment (you can do this with the command source ~/.bashrc ) otherwise you may encounter errors using PyCUTEst.

Please Note: you may see warnings such as ld: warning: object file (RANGE.o) was built for newer macOS version (11.5) than being linked (10.15) . To suppress these warnings please set the environment variable MACOSX_DEPLOYMENT_TARGET to your current macOS version (e.g. export MACOSX_DEPLOYMENT_TARGET=11.5 in this example, you can make this permanent by adding it to your ~/.bashrc file).

Installing PyCUTEst

For easy installation, use pip:

$ pip install pycutest

Note that if an older install of PyCUTEst is present on your system you can use:

$ pip install --upgrade pycutest

to upgrade PyCUTEst to the latest version.

You will then need to create a folder which will store all your compiled problems:

$ mkdir pycutest_cache

And set an environment variable to tell PyCUTEst about this directory, by adding to your ~/.bashrc file:

export PYCUTEST_CACHE="/path/to/pycutest_cache"

If you do not set this environment variable, then PyCUTEst will create a cache folder of compiled problems inside your current working directory.

Note that you can uninstall PyCUTEst as follows:

$ pip uninstall pycutest

Support

Please ask any questions or report problems using GitHub's issue tracker.

Bugs

Please report any bugs using GitHub's issue tracker.

Citing

To cite PyCUTEst, please use the following reference:

J. Fowkes, L. Roberts, and Á. Bűrmen, (2022). PyCUTEst: an open source Python package of optimization test problems. Journal of Open Source Software, 7(78), 4377, https://doi.org/10.21105/joss.04377

In BibTeX, the citation is:

@article{PyCUTEst2022,
    doi = {10.21105/joss.04377},
    url = {https://doi.org/10.21105/joss.04377},
    year = {2022},
    publisher = {The Open Journal},
    volume = {7},
    number = {78},
    pages = {4377},
    author = {Jaroslav Fowkes and Lindon Roberts and Árpád Bűrmen},
    title = {PyCUTEst: an open source Python package of optimization test problems},
    journal = {Journal of Open Source Software}
}

Contributing

We welcome contributions to PyCUTEst, please see CONTRIBUTING.md.

License

This package is released under the GNU GPL license.

pycutest's People

Contributors

chrhansk avatar danielskatz avatar jfowkes avatar lindonroberts avatar ragonneau avatar stsievert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

pycutest's Issues

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


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.

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!

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)

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.

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!

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

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.

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!

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).

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!

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!

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.

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.

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.

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!

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

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).

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.

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'

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

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'

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.

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

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

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

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?

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.

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?

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()

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

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!

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!

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.

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.

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

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.

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!

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.

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).

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

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

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)

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

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.