Skip to content

Latest commit

 

History

History
56 lines (46 loc) · 4.58 KB

install_Ipopt_CppAD.md

File metadata and controls

56 lines (46 loc) · 4.58 KB

Intalling Ipopt and CppAD

Dependencies

At this point in the curriculum students will have set up their SDC Term 2 environment and dependencies, with the exception of Ipopt, Fortran, and CppAD. If you are setting up a fresh environment please refer to setup instructions starting here.

Installation Process

  1. Clone this repository and navigate to the cloned directory
  2. Download the appropriate version of Ipopt (3.12.7 or higher) from the link below. You may also use wget or a similiar command to download the source from the command line (see Linux instructions).
  3. Follow the instructions for your environment
  • Ipopt
    • Mac: The homebrew/science repository was recently deprecated, leading to the updated versions of homebrew being unable to appropriately install ipopt. Therefore, you may need to revert homebrew/science prior to installing ipopt.
      • First, navigate to the director containing homebrew/science, e.g. /usr/local/Homebrew/Library/Taps/homebrew/homebrew-science (this may differ depending on your machine).
      • Next, git checkout 19f75951641d3a5e70ea105f76a6a77bc0553d07. This should also work with git revert. This is the last commit prior to the repository being deprecated.
      • Then, you'll want to enter export HOMEBREW_NO_AUTO_UPDATE=1 to freeze homebrew/science at the current commit, or else the below instructions will update homebrew, and the installation will not work.
      • Lastly, run the below:
        brew tap homebrew/science
        brew install ipopt --with-openblas
      
  • For Linux and Windows Ubuntu BASH Please note that for any particular command, including execution of .sh scripts, it may be necessary to add sudo prior to the command. It is also a good practice to run sudo apt-get update prior to installation of new libraries.
  • Linux:

    • sudo apt-get install gfortran
    • apt-get install unzip
    • wget https://www.coin-or.org/download/source/Ipopt/Ipopt-3.12.7.zip && unzip Ipopt-3.12.7.zip && rm Ipopt-3.12.7.zip
    • Call install_ipopt.sh with the source directory as the first argument, ex: ./install_ipopt.sh Ipopt-3.12.7 or bash install_ipopt.sh Ipopt-3.12.7
  • Windows: For Windows environments there are two main options

    • Follow Linux instructions in the Ubuntu Bash environment. Please not that install instructions should be executed from the repository directory. Changing to a Windows directory (ie cd /mnt/c .....) can result in installation issues, particularly for Windows directories that contain spaces.
    • Use the docker container described here, which comes pre-configured with Ipopt.
  • CppAD

    • Mac: brew install cppad
    • Linux sudo apt-get install cppad or equivalent.
    • Windows: For Windows environments there are two main options
      • Follow Linux instructions in the Ubuntu Bash environment
      • Use the docker container described here, which comes pre-configured with CppAD.

Troubleshooting

  • If challenges to installation are encountered (install script fails). Please consult the forums. Please feel free to submit additional tips or forum threads to the issue reports repo, for potential inclusion in this document.
  • Some Mac users have experienced the following error:
    Listening to port 4567
    Connected!!!
    mpc(4561,0x7ffff1eed3c0) malloc: *** error for object 0x7f911e007600: incorrect checksum for freed object
    - object was probably modified after being freed.
    *** set a breakpoint in malloc_error_break to debug
    
    This error has been resolved by updrading ipopt with brew upgrade ipopt --with-openblas per this forum post