Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update installation instructions for Windows #321

Closed
dzalkind opened this issue Feb 20, 2024 · 7 comments
Closed

Update installation instructions for Windows #321

dzalkind opened this issue Feb 20, 2024 · 7 comments
Assignees

Comments

@dzalkind
Copy link
Collaborator

This route seems slightly more robust. I got an error about installing nlopt via pip on kestrel the other day, so maybe we need the --no-deps flag there.

@dzalkind dzalkind changed the title Share conda-based installation instructions on docs Update installation instructions for Windows Feb 27, 2024
@dzalkind
Copy link
Collaborator Author

dzalkind commented Feb 27, 2024

The current best installation method for ROSCO 2.9, from the ROSCO base directory:

conda env update --file environment.yml
pip install -e . --no-deps

@dzalkind
Copy link
Collaborator Author

Another helpful conda command in Windows:

conda config --set ssl_verify no

@dzalkind
Copy link
Collaborator Author

Fortran compilers should be installed using:
conda install -y m2w64-toolchain libpython

@dzalkind
Copy link
Collaborator Author

Based on feedback from users, be sure to execute commands in the anaconda terminal rather than the windows command prompt.

@dzalkind dzalkind self-assigned this May 10, 2024
@BaconTrack
Copy link

Dear,

I'm trying to install the ROSCO toolset by following the instruction from https://rosco.readthedocs.io/en/latest/source/install.html, combined with the tips proposed in this issue #321.

It fails and I don't understand the error's description:

 [29/29] Linking Fortran shared library libdiscon.dll
      FAILED: libdiscon.dll libdiscon.dll.a
      C:\Windows\system32\cmd.exe /C "cd . && C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env\Library\mingw-w64\bin\gfortran.exe -ffree-line-length-0 -ffree-line-length-0 -static-libgcc -static-libgfortran -static -fdefault-real-8 -fdefault-double-8 -cpp -LC:/Users/jdae/AppData/Local/anaconda3/envs/rosco-env/Library/lib -lzmq -O3   -shared -o libdiscon.dll -Wl,--out-implib,libdiscon.dll.a -Wl,--major-image-version,0,--minor-image-version,0 CMakeFiles/zmq_client.dir/src/zmq_client.c.obj CMakeFiles/discon.dir/src/Constants.f90.obj CMakeFiles/discon.dir/src/ControllerBlocks.f90.obj CMakeFiles/discon.dir/src/Controllers.f90.obj CMakeFiles/discon.dir/src/DISCON.F90.obj CMakeFiles/discon.dir/src/ROSCO_Types.f90.obj CMakeFiles/discon.dir/src/Filters.f90.obj CMakeFiles/discon.dir/src/Functions.f90.obj CMakeFiles/discon.dir/src/ReadSetParameters.f90.obj CMakeFiles/discon.dir/src/ROSCO_Helpers.f90.obj CMakeFiles/discon.dir/src/ROSCO_IO.f90.obj CMakeFiles/discon.dir/src/ZeroMQInterface.f90.obj CMakeFiles/discon.dir/src/ExtControl.f90.obj CMakeFiles/discon.dir/src/SysFiles/SysGnuWin.f90.obj  C:/Users/jdae/AppData/Local/anaconda3/envs/rosco-env/Library/lib/libzmq.lib && cd ."
      C:/Users/jdae/AppData/Local/anaconda3/envs/rosco-env/Library/mingw-w64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lzmq

      collect2.exe: error: ld returned 1 exit status

      ninja: build stopped: subcommand failed.

Please see below a log of all the steps I'm going through in the Anaconda prompt. I'm on Windows.
May I ask for some help please?

(base) C:\Users\jdae>conda create -y --name rosco-env python=3.10
Channels:
 - conda-forge
 - defaults
Platform: win-64
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env

  added / updated specs:
    - python=3.10


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    bzip2-1.0.8                |       h2466b09_7          54 KB  conda-forge
    libffi-3.4.2               |       h8ffe710_5          41 KB  conda-forge
    libzlib-1.3.1              |       h2466b09_1          55 KB  conda-forge
    pip-24.2                   |     pyhd8ed1ab_0         1.2 MB  conda-forge
    python-3.10.14             |h4de0772_0_cpython        15.1 MB  conda-forge
    setuptools-72.1.0          |     pyhd8ed1ab_0         1.4 MB  conda-forge
    tk-8.6.13                  |       h5226925_1         3.3 MB  conda-forge
    tzdata-2024a               |       h0c530f3_0         117 KB  conda-forge
    vc-14.3                    |      h8a93ad2_20          17 KB  conda-forge
    vs2015_runtime-14.40.33810 |      h3bf8584_20          17 KB  conda-forge
    wheel-0.44.0               |     pyhd8ed1ab_0          57 KB  conda-forge
    xz-5.2.6                   |       h8d14728_0         213 KB  conda-forge
    ------------------------------------------------------------
                                           Total:        21.6 MB

The following NEW packages will be INSTALLED:

  bzip2              conda-forge/win-64::bzip2-1.0.8-h2466b09_7
  ca-certificates    conda-forge/win-64::ca-certificates-2024.7.4-h56e8100_0
  libffi             conda-forge/win-64::libffi-3.4.2-h8ffe710_5
  libsqlite          conda-forge/win-64::libsqlite-3.46.0-h2466b09_0
  libzlib            conda-forge/win-64::libzlib-1.3.1-h2466b09_1
  openssl            conda-forge/win-64::openssl-3.3.1-h2466b09_2
  pip                conda-forge/noarch::pip-24.2-pyhd8ed1ab_0
  python             conda-forge/win-64::python-3.10.14-h4de0772_0_cpython
  setuptools         conda-forge/noarch::setuptools-72.1.0-pyhd8ed1ab_0
  tk                 conda-forge/win-64::tk-8.6.13-h5226925_1
  tzdata             conda-forge/noarch::tzdata-2024a-h0c530f3_0
  ucrt               conda-forge/win-64::ucrt-10.0.22621.0-h57928b3_0
  vc                 conda-forge/win-64::vc-14.3-h8a93ad2_20
  vc14_runtime       conda-forge/win-64::vc14_runtime-14.40.33810-ha82c5b3_20
  vs2015_runtime     conda-forge/win-64::vs2015_runtime-14.40.33810-h3bf8584_20
  wheel              conda-forge/noarch::wheel-0.44.0-pyhd8ed1ab_0
  xz                 conda-forge/win-64::xz-5.2.6-h8d14728_0



Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate rosco-env
#
# To deactivate an active environment, use
#
#     $ conda deactivate


(base) C:\Users\jdae>conda activate rosco-env

(rosco-env) C:\Users\jdae>cd C:\Apps\OpenFAST

(rosco-env) C:\Apps\OpenFAST>git clone https://github.com/NREL/ROSCO.git
Cloning into 'ROSCO'...
remote: Enumerating objects: 7164, done.
remote: Counting objects: 100% (1683/1683), done.
remote: Compressing objects: 100% (767/767), done.
Receiving objects: 100% (7164/7164), 14.43 MiB | 2.60 MiB/s, done.
remote: Total 7164 (delta 1155), reused 1341 (delta 915), pack-reused 5481 (from 1)
Resolving deltas: 100% (4805/4805), done.
Updating files: 100% (774/774), done.

(rosco-env) C:\Apps\OpenFAST>cd ROSCO

(rosco-env) C:\Apps\OpenFAST\ROSCO>conda list
# packages in environment at C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env:
#
# Name                    Version                   Build  Channel
bzip2                     1.0.8                h2466b09_7    conda-forge
ca-certificates           2024.7.4             h56e8100_0    conda-forge
libffi                    3.4.2                h8ffe710_5    conda-forge
libsqlite                 3.46.0               h2466b09_0    conda-forge
libzlib                   1.3.1                h2466b09_1    conda-forge
openssl                   3.3.1                h2466b09_2    conda-forge
pip                       24.2               pyhd8ed1ab_0    conda-forge
python                    3.10.14         h4de0772_0_cpython    conda-forge
setuptools                72.1.0             pyhd8ed1ab_0    conda-forge
tk                        8.6.13               h5226925_1    conda-forge
tzdata                    2024a                h0c530f3_0    conda-forge
ucrt                      10.0.22621.0         h57928b3_0    conda-forge
vc                        14.3                h8a93ad2_20    conda-forge
vc14_runtime              14.40.33810         ha82c5b3_20    conda-forge
vs2015_runtime            14.40.33810         h3bf8584_20    conda-forge
wheel                     0.44.0             pyhd8ed1ab_0    conda-forge
xz                        5.2.6                h8d14728_0    conda-forge

(rosco-env) C:\Apps\OpenFAST\ROSCO>conda env update --file environment.yml
Channels:
 - conda-forge
 - defaults
Platform: win-64
Collecting package metadata (repodata.json): done
Solving environment: done

Downloading and Extracting Packages:
mkl-2024.1.0         | 104.3 MB  | ###############################################################################################################################################################################################9  |  99%
qt6-main-6.7.2       | 84.5 MB   | ################################################################################################################################################################################################# | 100%
pillow-10.4.0        | 40.1 MB   | ################################################################################################################################################################################################# | 100%
libclang13-18.1.8    | 24.2 MB   | ################################################################################################################################################################################################# | 100%
pandoc-3.3           | 24.0 MB   | ################################################################################################################################################################################################# | 100%
scipy-1.14.0         | 14.3 MB   | ################################################################################################################################################################################################# | 100%
icu-75.1             | 13.9 MB   | ################################################################################################################################################################################################# | 100%
cmake-3.30.2         | 13.7 MB   | ################################################################################################################################################################################################# | 100%
pandas-2.2.2         | 11.3 MB   | ################################################################################################################################################################################################# | 100%
openmdao-3.34.2      | 10.9 MB   | ################################################################################################################################################################################################# | 100%
statsmodels-0.14.2   | 9.9 MB    | ################################################################################################################################################################################################# | 100%
pyside6-6.7.2        | 8.8 MB    | ################################################################################################################################################################################################# | 100%
jupyterlab-4.2.4     | 7.8 MB    | ################################################################################################################################################################################################# | 100%
babel-2.14.0         | 7.3 MB    | ################################################################################################################################################################################################# | 100%

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env
#
# To deactivate an active environment, use
#
#     $ conda deactivate


(rosco-env) C:\Apps\OpenFAST\ROSCO>conda activate C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env

(rosco-env) C:\Apps\OpenFAST\ROSCO>conda install -y m2w64-toolchain libpython
Channels:
 - conda-forge
 - defaults
Platform: win-64
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env

  added / updated specs:
    - libpython
    - m2w64-toolchain


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    libpython-2.2              |  py310h5588dad_3          52 KB  conda-forge
    m2w64-binutils-2.25.1      |                5        44.3 MB  conda-forge
    m2w64-bzip2-1.0.6          |                6         102 KB  conda-forge
    m2w64-crt-git-5.0.0.4636.2595836|                2         3.4 MB  conda-forge
    m2w64-gcc-5.3.0            |                6        40.8 MB  conda-forge
    m2w64-gcc-ada-5.3.0        |                6        33.3 MB  conda-forge
    m2w64-gcc-fortran-5.3.0    |                6        10.2 MB  conda-forge
    m2w64-gcc-objc-5.3.0       |                6        15.2 MB  conda-forge
    m2w64-headers-git-5.0.0.4636.c0ad18a|                2         5.6 MB  conda-forge
    m2w64-isl-0.16.1           |                2         655 KB  conda-forge
    m2w64-libiconv-1.14        |                6         1.5 MB  conda-forge
    m2w64-libmangle-git-5.0.0.4509.2e5a9a2|                2          23 KB  conda-forge
    m2w64-make-4.1.2351.a80a8b8|                2         117 KB  conda-forge
    m2w64-mpc-1.0.3            |                3          71 KB  conda-forge
    m2w64-mpfr-3.1.4           |                4         294 KB  conda-forge
    m2w64-pkg-config-0.29.1    |                2         467 KB  conda-forge
    m2w64-toolchain-5.3.0      |                7           3 KB  conda-forge
    m2w64-tools-git-5.0.0.4592.90b8472|                2         320 KB  conda-forge
    m2w64-windows-default-manifest-6.4|                3           5 KB  conda-forge
    m2w64-winpthreads-git-5.0.0.4634.697f757|                2          47 KB  conda-forge
    m2w64-zlib-1.2.8           |               10         199 KB  conda-forge
    ------------------------------------------------------------
                                           Total:       156.4 MB

The following NEW packages will be INSTALLED:

  libpython          conda-forge/win-64::libpython-2.2-py310h5588dad_3
  m2w64-binutils     conda-forge/win-64::m2w64-binutils-2.25.1-5
  m2w64-bzip2        conda-forge/win-64::m2w64-bzip2-1.0.6-6
  m2w64-crt-git      conda-forge/win-64::m2w64-crt-git-5.0.0.4636.2595836-2
  m2w64-gcc          conda-forge/win-64::m2w64-gcc-5.3.0-6
  m2w64-gcc-ada      conda-forge/win-64::m2w64-gcc-ada-5.3.0-6
  m2w64-gcc-fortran  conda-forge/win-64::m2w64-gcc-fortran-5.3.0-6
  m2w64-gcc-objc     conda-forge/win-64::m2w64-gcc-objc-5.3.0-6
  m2w64-headers-git  conda-forge/win-64::m2w64-headers-git-5.0.0.4636.c0ad18a-2
  m2w64-isl          conda-forge/win-64::m2w64-isl-0.16.1-2
  m2w64-libiconv     conda-forge/win-64::m2w64-libiconv-1.14-6
  m2w64-libmangle-g~ conda-forge/win-64::m2w64-libmangle-git-5.0.0.4509.2e5a9a2-2
  m2w64-make         conda-forge/win-64::m2w64-make-4.1.2351.a80a8b8-2
  m2w64-mpc          conda-forge/win-64::m2w64-mpc-1.0.3-3
  m2w64-mpfr         conda-forge/win-64::m2w64-mpfr-3.1.4-4
  m2w64-pkg-config   conda-forge/win-64::m2w64-pkg-config-0.29.1-2
  m2w64-toolchain    conda-forge/win-64::m2w64-toolchain-5.3.0-7
  m2w64-tools-git    conda-forge/win-64::m2w64-tools-git-5.0.0.4592.90b8472-2
  m2w64-windows-def~ conda-forge/win-64::m2w64-windows-default-manifest-6.4-3
  m2w64-winpthreads~ conda-forge/win-64::m2w64-winpthreads-git-5.0.0.4634.697f757-2
  m2w64-zlib         conda-forge/win-64::m2w64-zlib-1.2.8-10



Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(rosco-env) C:\Apps\OpenFAST\ROSCO>pip install -e . --no-deps
Obtaining file:///C:/Apps/OpenFAST/ROSCO
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Preparing editable metadata (pyproject.toml) ... done
Building wheels for collected packages: rosco
  Building editable for rosco (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building editable for rosco (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [661 lines of output]
      running editable_wheel
      creating C:\Users\jdae\AppData\Local\Temp\1\pip-wheel-espkumqj\.tmp-_uq9e4nf\rosco.egg-info
      writing C:\Users\jdae\AppData\Local\Temp\1\pip-wheel-espkumqj\.tmp-_uq9e4nf\rosco.egg-info\PKG-INFO
      writing dependency_links to C:\Users\jdae\AppData\Local\Temp\1\pip-wheel-espkumqj\.tmp-_uq9e4nf\rosco.egg-info\dependency_links.txt
      writing requirements to C:\Users\jdae\AppData\Local\Temp\1\pip-wheel-espkumqj\.tmp-_uq9e4nf\rosco.egg-info\requires.txt
      writing top-level names to C:\Users\jdae\AppData\Local\Temp\1\pip-wheel-espkumqj\.tmp-_uq9e4nf\rosco.egg-info\top_level.txt
      writing manifest file 'C:\Users\jdae\AppData\Local\Temp\1\pip-wheel-espkumqj\.tmp-_uq9e4nf\rosco.egg-info\SOURCES.txt'
      adding license file 'LICENSE'
      writing manifest file 'C:\Users\jdae\AppData\Local\Temp\1\pip-wheel-espkumqj\.tmp-_uq9e4nf\rosco.egg-info\SOURCES.txt'
      creating 'C:\Users\jdae\AppData\Local\Temp\1\pip-wheel-espkumqj\.tmp-_uq9e4nf\rosco-2.9.5.dist-info'
      C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\command\bdist_wheel.py:112: RuntimeWarning: Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
        if get_flag("Py_DEBUG", hasattr(sys, "gettotalrefcount"), warn=(impl == "cp")):
      creating C:\Users\jdae\AppData\Local\Temp\1\pip-wheel-espkumqj\.tmp-_uq9e4nf\rosco-2.9.5.dist-info\WHEEL
      running build_py
      running build_ext
      -- The Fortran compiler identification is GNU 5.3.0
      -- The C compiler identification is GNU 5.3.0
      -- Detecting Fortran compiler ABI info
      -- Detecting Fortran compiler ABI info - done
      -- Check for working Fortran compiler: C:/Users/jdae/AppData/Local/anaconda3/envs/rosco-env/Library/mingw-w64/bin/gfortran.exe - skipped
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: C:/Users/jdae/AppData/Local/anaconda3/envs/rosco-env/Library/mingw-w64/bin/cc.exe - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- CMAKE_Fortran_COMPILER_ID = GNU
      -- Setting system file as: src/SysFiles/SysGnuWin.f90
      -- Found PkgConfig: C:/Users/jdae/AppData/Local/anaconda3/envs/rosco-env/Library/mingw-w64/bin/pkg-config.exe (found version "0.29.1")
      -- Checking for module 'libzmq'
      --   Found libzmq, version 4.3.5
      -- Configuring done (7.8s)
      -- Generating done (0.2s)
      CMake Warning:
        Manually-specified variables were not used by the project:

          CALL_FROM_SETUP_PY
          Python3_ROOT_DIR


      -- Build files have been written to: C:/Users/jdae/AppData/Local/Temp/1/tmpu61t9rci.build-temp/Release_rosco
      [1/29] Building C object CMakeFiles/zmq_client.dir/src/zmq_client.c.obj
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/zmq_client.c:1:0: warning: -fPIC ignored for target (all code is position independent)
       #include <stdio.h>
       ^
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/zmq_client.c: In function 'delete_blank_spaces_in_string':
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/zmq_client.c:13:16: warning: comparison between pointer and integer
               if(s[i]==" "|| s[i]=="\t") {
                      ^
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/zmq_client.c:13:28: warning: comparison between pointer and integer

               if(s[i]==" "|| s[i]=="\t") {

                                  ^

      [2/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/DISCON.F90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)

      [3/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/Controllers.f90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)

      [4/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/ControllerBlocks.f90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)

      [5/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/Constants.f90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)

      [6/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/Functions.f90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)

      [7/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/Filters.f90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)

      [8/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/ROSCO_Types.f90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)

      [9/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/ReadSetParameters.f90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)

      [10/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/ZeroMQInterface.f90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)

      [11/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/ROSCO_IO.f90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)

      [12/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/ROSCO_Helpers.f90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)

      [13/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/ExtControl.f90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      [14/29] Building Fortran preprocessed CMakeFiles/discon.dir/src/SysFiles/SysGnuWin.f90-pp.f90
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      [15/29] Generating Fortran dyndep file CMakeFiles/discon.dir/Fortran.dd
      [16/29] Building Fortran object CMakeFiles/discon.dir/src/Constants.f90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      [17/29] Building Fortran object CMakeFiles/discon.dir/src/ROSCO_Types.f90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:346:107:

           REAL(DbKi)                    :: PtfmTDX                     ! Platform motion -- Displacement TDX (m)')
                                                                                                                 ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:347:107:

           REAL(DbKi)                    :: PtfmTDY                     ! Platform motion -- Displacement TDY (m)')
                                                                                                                 ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:348:107:

           REAL(DbKi)                    :: PtfmTDZ                     ! Platform motion -- Displacement TDZ (m)')
                                                                                                                 ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:349:109:

           REAL(DbKi)                    :: PtfmRDX                     ! Platform motion -- Displacement RDX (rad)')
                                                                                                                   ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:350:109:

           REAL(DbKi)                    :: PtfmRDY                     ! Platform motion -- Displacement RDY (rad)')
                                                                                                                   ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:351:109:

           REAL(DbKi)                    :: PtfmRDZ                     ! Platform motion -- Displacement RDZ (rad)')
                                                                                                                   ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:352:109:

           REAL(DbKi)                    :: PtfmTVX                     ! Platform motion -- Velocity     TVX (m/s)')
                                                                                                                   ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:353:109:

           REAL(DbKi)                    :: PtfmTVY                     ! Platform motion -- Velocity     TVY (m/s)')
                                                                                                                   ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:354:109:

           REAL(DbKi)                    :: PtfmTVZ                     ! Platform motion -- Velocity     TVZ (m/s)')
                                                                                                                   ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:355:111:

           REAL(DbKi)                    :: PtfmRVX                     ! Platform motion -- Velocity     RVX (rad/s)')
                                                                                                                     ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:356:111:

           REAL(DbKi)                    :: PtfmRVY                     ! Platform motion -- Velocity     RVY (rad/s)')
                                                                                                                     ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:357:111:

           REAL(DbKi)                    :: PtfmRVZ                     ! Platform motion -- Velocity     RVZ (rad/s)')
                                                                                                                     ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:358:111:

           REAL(DbKi)                    :: PtfmTAX                     ! Platform motion -- Acceleration TAX (m/s^2)')
                                                                                                                     ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:359:111:

           REAL(DbKi)                    :: PtfmTAY                     ! Platform motion -- Acceleration TAY (m/s^2)')
                                                                                                                     ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:360:111:

           REAL(DbKi)                    :: PtfmTAZ                     ! Platform motion -- Acceleration TAZ (m/s^2)')
                                                                                                                     ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:361:113:

           REAL(DbKi)                    :: PtfmRAX                     ! Platform motion -- Acceleration RAX (rad/s^2)')
                                                                                                                       ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:362:113:

           REAL(DbKi)                    :: PtfmRAY                     ! Platform motion -- Acceleration RAY (rad/s^2)')
                                                                                                                       ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Types.f90:363:113:

           REAL(DbKi)                    :: PtfmRAZ                     ! Platform motion -- Acceleration RAZ (rad/s^2)')
                                                                                                                       ^
      Warning: missing terminating ' character
      [18/29] Building Fortran object CMakeFiles/discon.dir/src/ZeroMQInterface.f90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      [19/29] Building Fortran object CMakeFiles/discon.dir/src/SysFiles/SysGnuWin.f90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/SysFiles/SysGnuWin.f90:41:52:

           CHARACTER( 1), PARAMETER      :: PathSep     = '\'                               ! The path separator.
                                                          ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/SysFiles/SysGnuWin.f90:170:62:

               IF ( Success == FALSE ) THEN !BJJ: note that this isn't the same as the Fortran LOGICAL .FALSE.
                                                                    ^
      Warning: missing terminating ' character
      [20/29] Building Fortran object CMakeFiles/discon.dir/src/Filters.f90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Filters.f90:41:183:

               INTEGER(IntKi), INTENT(INOUT)   :: inst                     ! Instance number. Every instance of this function needs to have an unique instance number to ensure instances don't influence each other.
                                                                                                                                                                                             ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Filters.f90:84:183:

               INTEGER(IntKi), INTENT(INOUT)   :: inst                     ! Instance number. Every instance of this function needs to have an unique instance number to ensure instances don't influence each other.
                                                                                                                                                                                             ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Filters.f90:135:183:

               INTEGER(IntKi), INTENT(INOUT)   :: inst                     ! Instance number. Every instance of this function needs to have an unique instance number to ensure instances don't influence each other.
                                                                                                                                                                                             ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Filters.f90:184:182:

               INTEGER(IntKi), INTENT(INOUT)  :: inst                     ! Instance number. Every instance of this function needs to have an unique instance number to ensure instances don't influence each other.
                                                                                                                                                                                            ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Filters.f90:223:183:

               INTEGER(IntKi), INTENT(INOUT)           :: inst             ! Instance number. Every instance of this function needs to have an unique instance number to ensure instances don't influence each other.
                                                                                                                                                                                             ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Filters.f90:287:182:

               INTEGER(IntKi), INTENT(INOUT)  :: inst                     ! Instance number. Every instance of this function needs to have an unique instance number to ensure instances don't influence each other.
                                                                                                                                                                                            ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Filters.f90:390:67:

               ! FA acc for ForeAft damping, condition matches whether it's used in Controllers.f90
                                                                         ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Filters.f90:408:66:

                       ! Use same as generator speed signal because that's how it was before
                                                                        ^
      Warning: missing terminating ' character
      [21/29] Building Fortran object CMakeFiles/discon.dir/src/Functions.f90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      [22/29] Building Fortran object CMakeFiles/discon.dir/src/ExtControl.f90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ExtControl.f90:99:64:

                   ! Load dynamic library, but first make sure that it's free
                                                                      ^
      Warning: missing terminating ' character
      [23/29] Building Fortran object CMakeFiles/discon.dir/src/ControllerBlocks.f90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ControllerBlocks.f90:139:55:

               IF (LocalVar%iStatus == 0) THEN ! .TRUE. if we're on the first call to the DLL
                                                             ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ControllerBlocks.f90:289:67:

                       Cp_op   = 0.25  ! initialize so debug output doesn't give *****
                                                                         ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ControllerBlocks.f90:324:92:

                       S = MATMUL(H,MATMUL(LocalVar%WE%P,TRANSPOSE(H))) + R_m        ! NJA: (H*T*H') \approx 0
                                                                                                  ^
      Warning: missing terminating ' character
      [24/29] Building Fortran object CMakeFiles/discon.dir/src/ROSCO_Helpers.f90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:68:27:

               ! Figure out if we're checking the name, default to .TRUE.
                                 ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:81:35:

                   ! Debugging: show what's being read, turn into Echo later
                                         ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:91:26:

                   ! IF We haven't failed already
                                ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:165:35:

                   ! Debugging: show what's being read, turn into Echo later
                                         ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:170:26:

                   ! IF We haven't failed already
                                ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:247:35:

                   ! Debugging: show what's being read, turn into Echo later
                                         ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:252:26:

                   ! IF We haven't failed already
                                ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:328:35:

                   ! Debugging: show what's being read, turn into Echo later
                                         ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:376:27:

               ! Figure out if we're checking the name, default to .TRUE.
                                 ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:389:35:

                   ! Debugging: show what's being read, turn into Echo later
                                         ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:399:26:

                   ! IF We haven't failed already
                                ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:440:27:

               ! Figure out if we're checking the name, default to .TRUE.
                                 ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:453:35:

                   ! Debugging: show what's being read, turn into Echo later
                                         ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:463:26:

                   ! IF We haven't failed already
                                ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:521:27:

               ! Figure out if we're checking the name, default to .TRUE.
                                 ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:644:23:

           ! Figure out if we're checking the name, default to .TRUE.
                             ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1148:37:

       !! as word separators. If there aren't NumWords in the line, the remaining array elements will remain empty.
                                           ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1169:14:

               ! Let's prefill the array with blanks.
                    ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1176:14:

               ! Let's make sure we have text on this line.
                    ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1218:7:

       !> Let's parse the path name from the name of the given file.
             ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1219:6:

       !! We'll count everything before (and including) the last "\" or "/".
            ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1235:23:

        I = INDEX( GivenFil, '\', BACK=.TRUE. )
                             ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1239:48:

           ! we don't have a path specified, return '.'
                                                      ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1249:7:

       !> Let's parse the root file name from the name of the given file.
             ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1250:6:

       !! We'll count everything after the last period as the extension.
            ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1284:83:

                   IF ( INDEX( '\/', GivenFil(I+1:I+1)) == 0 ) THEN    ! Make sure we don't have the RootName in a different directory
                                                                                         ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1312:23:

       !!     2. It contains ":\"
                             ^
      Warning: missing terminating " character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1314:26:

       !!     4. It starts with "\"
                                ^
      Warning: missing terminating " character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1332:125:

        IF ( ( INDEX( GivenFil, ":/") == 0 ) .AND. ( INDEX( GivenFil, ":\") == 0 ) ) THEN   ! No drive is specified (by ":\" or ":/")
                                                                                                                                   ^
      Warning: missing terminating " character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1334:130:

           IF ( INDEX( "/\", GivenFil(1:1) ) == 0 ) THEN                                    ! The file name doesn't start with "\" or "/"
                                                                                                                                        ^
      Warning: missing terminating " character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1404:96:

                   NumComments = -1                    ! the last line we read is not a comment, so we'll initialize this to -1 instead of 0
                                                                                                      ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1411:63:

                       ! NWTC_IO has some error catching here that we'll skip for now
                                                                     ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1421:138:

                   READ(LINE,*,IOSTAT=IOS) ( TmpData(I), I=1,NumChannels ) ! this line was read when we were figuring out the comment lines; let's make sure it contains
                                                                                                                                                ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_Helpers.f90:1661:67:

           !> This function returns a character string encoded with today's date in the form dd-mmm-ccyy.
                                                                         ^
      Warning: missing terminating ' character
      [25/29] Building Fortran object CMakeFiles/discon.dir/src/Controllers.f90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Controllers.f90:173:64:

               ! call to the controller (See Appendix A of Bladed User's Guide):
                                                                      ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Controllers.f90:175:49:

               avrSWAP(43) = LocalVar%PitComAct(2)   ! "
                                                       ^
      Warning: missing terminating " character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Controllers.f90:176:49:

               avrSWAP(44) = LocalVar%PitComAct(3)   ! "
                                                       ^
      Warning: missing terminating " character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Controllers.f90:300:74:

               ! Set the command generator torque (See Appendix A of Bladed User's Guide):
                                                                                ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Controllers.f90:576:88:

       ! Mod made by A. Wright: use the gain scheduled value of KPfloat in the floating fb equ's below (instead of the old value of CntrPar%Fl_Kp), for either value of CntrPar%Fl_Mode...
                                                                                              ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Controllers.f90:578:159:

                   FloatingFeedback = (0.0_DbKi - FA_vel) * LocalVar%Kp_Float ! Mod made by A. Wright: use the gain scheduled value of KPfloat in the floating fb equ's below (instead of the old value of CntrPar%Fl_Kp), for either value of CntrPar%Fl_Mode...
                                                                                                                                                                     ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/Controllers.f90:580:165:

                   FloatingFeedback = (0.0_DbKi - NacIMU_FA_vel) *LocalVar%Kp_Float ! Mod made by A. Wright: use the gain scheduled value of KPfloat in the floating fb equ's below (instead of the old value of CntrPar%Fl_Kp), for either value of CntrPar%Fl_Mode...
                                                                                                                                                                           ^
      Warning: missing terminating ' character
      [26/29] Building Fortran object CMakeFiles/discon.dir/src/ReadSetParameters.f90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ReadSetParameters.f90:38:77:

               ! Load variables from calling program (See Appendix A of Bladed User's Guide):
                                                                                   ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ReadSetParameters.f90:170:68:

               ! Set unused outputs to zero (See Appendix A of Bladed User's Guide):
                                                                          ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ReadSetParameters.f90:185:55:

               IF (LocalVar%iStatus == 0) THEN ! .TRUE. if we're on the first call to the DLL
                                                             ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ReadSetParameters.f90:605:54:

                       ! If there are duplicate indices, don't increment OL_Count
                                                            ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ReadSetParameters.f90:614:54:

                       ! If there are duplicate indices, don't increment OL_Count
                                                            ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ReadSetParameters.f90:623:76:

                       OL_Count    = OL_Count + 1  ! Read channel still, so we don't have issues
                                                                                  ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ReadSetParameters.f90:1053:12:

               ! I'd like to throw warnings if these are positive
                  ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ReadSetParameters.f90:1480:25:

               ! of Bladed User's Guide):
                               ^
      Warning: missing terminating ' character
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ReadSetParameters.f90:1481:82:

               IF (NINT(avrSWAP(10)) /= 0)  THEN ! .TRUE. if a pitch angle actuator hasn't been requested
                                                                                        ^
      Warning: missing terminating ' character
      [27/29] Building Fortran object CMakeFiles/discon.dir/src/ROSCO_IO.f90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)
      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/ROSCO_IO.f90:848:84:

           IF ((LocalVar%iStatus == 0) .OR. (LocalVar%iStatus == -9))  THEN ! .TRUE. if we're on the first call to the DLL
                                                                                          ^
      Warning: missing terminating ' character

      [28/29] Building Fortran object CMakeFiles/discon.dir/src/DISCON.F90.obj
      f951.exe: Warning: -fPIC ignored for target (all code is position independent)

      C:/Apps/OpenFAST/ROSCO/rosco/controller/src/DISCON.F90:89:54:



           ! Data from external dll is in ExtDLL%avrSWAP, it's unused in the following code

                                                            ^

      Warning: missing terminating ' character

      [29/29] Linking Fortran shared library libdiscon.dll
      FAILED: libdiscon.dll libdiscon.dll.a
      C:\Windows\system32\cmd.exe /C "cd . && C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env\Library\mingw-w64\bin\gfortran.exe -ffree-line-length-0 -ffree-line-length-0 -static-libgcc -static-libgfortran -static -fdefault-real-8 -fdefault-double-8 -cpp -LC:/Users/jdae/AppData/Local/anaconda3/envs/rosco-env/Library/lib -lzmq -O3   -shared -o libdiscon.dll -Wl,--out-implib,libdiscon.dll.a -Wl,--major-image-version,0,--minor-image-version,0 CMakeFiles/zmq_client.dir/src/zmq_client.c.obj CMakeFiles/discon.dir/src/Constants.f90.obj CMakeFiles/discon.dir/src/ControllerBlocks.f90.obj CMakeFiles/discon.dir/src/Controllers.f90.obj CMakeFiles/discon.dir/src/DISCON.F90.obj CMakeFiles/discon.dir/src/ROSCO_Types.f90.obj CMakeFiles/discon.dir/src/Filters.f90.obj CMakeFiles/discon.dir/src/Functions.f90.obj CMakeFiles/discon.dir/src/ReadSetParameters.f90.obj CMakeFiles/discon.dir/src/ROSCO_Helpers.f90.obj CMakeFiles/discon.dir/src/ROSCO_IO.f90.obj CMakeFiles/discon.dir/src/ZeroMQInterface.f90.obj CMakeFiles/discon.dir/src/ExtControl.f90.obj CMakeFiles/discon.dir/src/SysFiles/SysGnuWin.f90.obj  C:/Users/jdae/AppData/Local/anaconda3/envs/rosco-env/Library/lib/libzmq.lib && cd ."
      C:/Users/jdae/AppData/Local/anaconda3/envs/rosco-env/Library/mingw-w64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lzmq

      collect2.exe: error: ld returned 1 exit status

      ninja: build stopped: subcommand failed.
      Traceback (most recent call last):
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\command\editable_wheel.py", line 153, in run
          self._create_wheel_file(bdist_wheel)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\command\editable_wheel.py", line 355, in _create_wheel_file
          files, mapping = self._run_build_commands(dist_name, unpacked, lib, tmp)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\command\editable_wheel.py", line 278, in _run_build_commands
          self._run_build_subcommands()
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\command\editable_wheel.py", line 305, in _run_build_subcommands
          self.run_command(name)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\dist.py", line 945, in run_command
          super().run_command(command)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 989, in run_command
          cmd_obj.run()
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\cmake_build_extension\build_extension.py", line 114, in run
          self.build_extension(ext)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\cmake_build_extension\build_extension.py", line 242, in build_extension
          subprocess.check_call(build_command)
        File "C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env\lib\subprocess.py", line 369, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake', '--build', 'C:\\Users\\jdae\\AppData\\Local\\Temp\\1\\tmpu61t9rci.build-temp\\Release_rosco', '--config', 'Release']' returned non-zero exit status 1.
      C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\_distutils\dist.py:989: _DebuggingTips: Problem in editable installation.
      !!

              ********************************************************************************
              An error happened while installing `rosco` in editable mode.

              The following steps are recommended to help debug this problem:

              - Try to install the project normally, without using the editable mode.
                Does the error still persist?
                (If it does, try fixing the problem before attempting the editable mode).
              - If you are using binary extensions, make sure you have all OS-level
                dependencies installed (e.g. compilers, toolchains, binary libraries, ...).
              - Try the latest version of setuptools (maybe the error was already fixed).
              - If you (or your project dependencies) are using any setuptools extension
                or customization, make sure they support the editable mode.

              After following the steps above, if the problem still persists and
              you think this is related to how setuptools handles editable installations,
              please submit a reproducible example
              (see https://stackoverflow.com/help/minimal-reproducible-example) to:

                  https://github.com/pypa/setuptools/issues

              See https://setuptools.pypa.io/en/latest/userguide/development_mode.html for details.
              ********************************************************************************

      !!
        cmd_obj.run()

      ==> Configuring:
      $ cmake -S C:\Apps\OpenFAST\ROSCO\rosco\controller -B C:\Users\jdae\AppData\Local\Temp\1\tmpu61t9rci.build-temp\Release_rosco -G Ninja -DCMAKE_MAKE_PROGRAM=C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Scripts\ninja.EXE -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=C:\Apps\OpenFAST\ROSCO\rosco -DPython3_ROOT_DIR=C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env -DCALL_FROM_SETUP_PY:BOOL=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_Fortran_FLAGS=-ffree-line-length-0

      ==> Building:
      $ cmake --build C:\Users\jdae\AppData\Local\Temp\1\tmpu61t9rci.build-temp\Release_rosco --config Release

      ==> Installing:
      $ cmake --install C:\Users\jdae\AppData\Local\Temp\1\tmpu61t9rci.build-temp\Release_rosco --config Release

      Traceback (most recent call last):
        File "C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
          main()
        File "C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 273, in build_editable
          return hook(wheel_directory, config_settings, metadata_directory)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\build_meta.py", line 453, in build_editable
          return self._build_with_temp_dir(
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\build_meta.py", line 397, in _build_with_temp_dir
          self.run_setup()
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\build_meta.py", line 313, in run_setup
          exec(code, locals())
        File "<string>", line 56, in <module>
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\__init__.py", line 108, in setup
          return distutils.core.setup(**attrs)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 184, in setup
          return run_commands(dist)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 200, in run_commands
          dist.run_commands()
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 970, in run_commands
          self.run_command(cmd)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\dist.py", line 945, in run_command
          super().run_command(command)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 989, in run_command
          cmd_obj.run()
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\command\editable_wheel.py", line 153, in run
          self._create_wheel_file(bdist_wheel)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\command\editable_wheel.py", line 355, in _create_wheel_file
          files, mapping = self._run_build_commands(dist_name, unpacked, lib, tmp)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\command\editable_wheel.py", line 278, in _run_build_commands
          self._run_build_subcommands()
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\command\editable_wheel.py", line 305, in _run_build_subcommands
          self.run_command(name)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\dist.py", line 945, in run_command
          super().run_command(command)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 989, in run_command
          cmd_obj.run()
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\cmake_build_extension\build_extension.py", line 114, in run
          self.build_extension(ext)
        File "C:\Users\jdae\AppData\Local\Temp\1\pip-build-env-mmvc90dy\overlay\Lib\site-packages\cmake_build_extension\build_extension.py", line 242, in build_extension
          subprocess.check_call(build_command)
        File "C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env\lib\subprocess.py", line 369, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake', '--build', 'C:\\Users\\jdae\\AppData\\Local\\Temp\\1\\tmpu61t9rci.build-temp\\Release_rosco', '--config', 'Release']' returned non-zero exit status 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building editable for rosco
Failed to build rosco
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (rosco)

@dzalkind
Copy link
Collaborator Author

This is the key error:

      [29/29] Linking Fortran shared library libdiscon.dll
      FAILED: libdiscon.dll libdiscon.dll.a
      C:\Windows\system32\cmd.exe /C "cd . && C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env\Library\mingw-w64\bin\gfortran.exe -ffree-line-length-0 -ffree-line-length-0 -static-libgcc -static-libgfortran -static -fdefault-real-8 -fdefault-double-8 -cpp -LC:/Users/jdae/AppData/Local/anaconda3/envs/rosco-env/Library/lib -lzmq -O3   -shared -o libdiscon.dll -Wl,--out-implib,libdiscon.dll.a -Wl,--major-image-version,0,--minor-image-version,0 CMakeFiles/zmq_client.dir/src/zmq_client.c.obj CMakeFiles/discon.dir/src/Constants.f90.obj CMakeFiles/discon.dir/src/ControllerBlocks.f90.obj CMakeFiles/discon.dir/src/Controllers.f90.obj CMakeFiles/discon.dir/src/DISCON.F90.obj CMakeFiles/discon.dir/src/ROSCO_Types.f90.obj CMakeFiles/discon.dir/src/Filters.f90.obj CMakeFiles/discon.dir/src/Functions.f90.obj CMakeFiles/discon.dir/src/ReadSetParameters.f90.obj CMakeFiles/discon.dir/src/ROSCO_Helpers.f90.obj CMakeFiles/discon.dir/src/ROSCO_IO.f90.obj CMakeFiles/discon.dir/src/ZeroMQInterface.f90.obj CMakeFiles/discon.dir/src/ExtControl.f90.obj CMakeFiles/discon.dir/src/SysFiles/SysGnuWin.f90.obj  C:/Users/jdae/AppData/Local/anaconda3/envs/rosco-env/Library/lib/libzmq.lib && cd ."
      C:/Users/jdae/AppData/Local/anaconda3/envs/rosco-env/Library/mingw-w64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lzmq

However, cmake seems to have found this library libzmq:

  -- Checking for module 'libzmq'
  --   Found libzmq, version 4.3.5

Do you need the ZeroMQ features? They are primarily used to input additional controls to ROSCO. Did you explicitly install ZeroMQ during this process or anytime in the past? I'm not seeing it in your log.

You could try installing it within the conda environment with:

conda install zeromq pyzmq pkg-config

Or, if you don't need it: find where it's installed, remove it, and re-build.

@abhineet-gupta, do we know of anyone using ZeroMQ on Windows? Any other ideas?

@BaconTrack
Copy link

Thank you so much for your help.
By removing this ZeroMQ package, I was finally able to successfully build the controller.

I don't know whether I need ZeroMQ, but I did indeed explicitely install it in a previous rosco-env environment, using "conda install anaconda::zeromq".
At that moment, I was following the resolution steps proposed in issue #313.
As it didn't solve my problem, I deleted this rosco-env and started all over.
I thought that deleting an environment would remove any packages installed in that environment, but apparently it didn't. I also note now that ZeroMQ is present in my conda base environment, which I don' think it was initially. I may have mixed-up my conda environments at some point.

If of any use for futur troubleshootings, you'll find below the conda steps that solved my issue:
`(rosco-env) C:\Users\jdae>conda uninstall zeromq
Channels:

  • conda-forge
  • defaults
    Platform: win-64
    Collecting package metadata (repodata.json): done
    Solving environment: done

Package Plan

environment location: C:\Users\jdae\AppData\Local\anaconda3\envs\rosco-env

removed specs:
- zeromq

The following packages will be downloaded:

package                    |            build
---------------------------|-----------------
aiofiles-22.1.0            |     pyhd8ed1ab_0          17 KB  conda-forge
aiosqlite-0.20.0           |     pyhd8ed1ab_0          18 KB  conda-forge
anyio-3.7.1                |     pyhd8ed1ab_0          94 KB  conda-forge
ipykernel-6.26.0           |     pyha63f2e9_0         114 KB  conda-forge
ipython_genutils-0.2.0     |     pyhd8ed1ab_1          27 KB  conda-forge
jupyter_client-7.3.1       |     pyhd8ed1ab_0          90 KB  conda-forge
jupyter_server-1.24.0      |     pyhd8ed1ab_0         238 KB  conda-forge
jupyter_server_fileid-0.9.2|     pyhd8ed1ab_0          20 KB  conda-forge
jupyter_server_ydoc-0.8.0  |     pyhd8ed1ab_0          15 KB  conda-forge
jupyter_ydoc-0.2.4         |     pyhd8ed1ab_0          78 KB  conda-forge
jupyterlab-3.6.7           |     pyhd8ed1ab_0         5.4 MB  conda-forge
jupyterlab_pygments-0.3.0  |     pyhd8ed1ab_0          18 KB  conda-forge
nbclassic-1.1.0            |     pyhd8ed1ab_0         5.2 MB  conda-forge
notebook-6.5.7             |     pyha770c72_0         301 KB  conda-forge
pyzmq-22.3.0               |  py310hd77b12b_2         626 KB
y-py-0.5.5                 |  py310h87d50f1_2         454 KB  conda-forge
ypy-websocket-0.8.2        |     pyhd8ed1ab_0          17 KB  conda-forge
------------------------------------------------------------
                                       Total:        12.8 MB

The following NEW packages will be INSTALLED:

aiofiles conda-forge/noarch::aiofiles-22.1.0-pyhd8ed1ab_0
aiosqlite conda-forge/noarch::aiosqlite-0.20.0-pyhd8ed1ab_0
ipython_genutils conda-forge/noarch::ipython_genutils-0.2.0-pyhd8ed1ab_1
jupyter_server_fi~ conda-forge/noarch::jupyter_server_fileid-0.9.2-pyhd8ed1ab_0
jupyter_server_yd~ conda-forge/noarch::jupyter_server_ydoc-0.8.0-pyhd8ed1ab_0
jupyter_ydoc conda-forge/noarch::jupyter_ydoc-0.2.4-pyhd8ed1ab_0
nbclassic conda-forge/noarch::nbclassic-1.1.0-pyhd8ed1ab_0
y-py conda-forge/win-64::y-py-0.5.5-py310h87d50f1_2
ypy-websocket conda-forge/noarch::ypy-websocket-0.8.2-pyhd8ed1ab_0

The following packages will be REMOVED:

zeromq-4.3.5-he1f189c_4

The following packages will be SUPERSEDED by a higher-priority channel:

pyzmq conda-forge::pyzmq-26.1.0-py310h65683~ --> pkgs/main::pyzmq-22.3.0-py310hd77b12b_2

The following packages will be DOWNGRADED:

anyio 4.4.0-pyhd8ed1ab_0 --> 3.7.1-pyhd8ed1ab_0
ipykernel 6.29.5-pyh4bbf305_0 --> 6.26.0-pyha63f2e9_0
jupyter_client 8.6.2-pyhd8ed1ab_0 --> 7.3.1-pyhd8ed1ab_0
jupyter_server 2.14.2-pyhd8ed1ab_0 --> 1.24.0-pyhd8ed1ab_0
jupyterlab 4.2.4-pyhd8ed1ab_0 --> 3.6.7-pyhd8ed1ab_0
jupyterlab_pygmen~ 0.3.0-pyhd8ed1ab_1 --> 0.3.0-pyhd8ed1ab_0
notebook 7.2.1-pyhd8ed1ab_0 --> 6.5.7-pyha770c72_0

Proceed ([y]/n)? y

Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(rosco-env) C:\Users\jdae>cd C:\Apps\OpenFAST\ROSCO

(rosco-env) C:\Apps\OpenFAST\ROSCO>pip install -e . --no-deps
Obtaining file:///C:/Apps/OpenFAST/ROSCO
Installing build dependencies ... done
Checking if build backend supports build_editable ... done
Getting requirements to build editable ... done
Preparing editable metadata (pyproject.toml) ... done
Building wheels for collected packages: rosco
Building editable for rosco (pyproject.toml) ... done
Created wheel for rosco: filename=rosco-2.9.5-0.editable-cp310-cp310-win_amd64.whl size=10125 sha256=89c0a855c4aabe40585c524991e13373e251e943e70fd4c5621d189f50b54b67
Stored in directory: C:\Users\jdae\AppData\Local\Temp\1\pip-ephem-wheel-cache-wxofq_f4\wheels\0b\63\9c\c7c18e444d7da2543690c704ad44e6454439d332817d509b1c
Successfully built rosco
Installing collected packages: rosco
Successfully installed rosco-2.9.5`

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

No branches or pull requests

2 participants