lofar-astron / PyBDSF

Python Blob Detector and Source Finder
https://pybdsf.readthedocs.io
GNU General Public License v3.0
50 stars 24 forks source link

pybdsf error on MacOS Catalina 10.15.7 #140

Open vdhulst opened 4 years ago

vdhulst commented 4 years ago

I successfully installed pybdsf using pip install . after a git clone on a Mac with Catalina 10.15.7. I have all the prerequisites installed and am using anaconda3 python:

/Users/vdhulst/Software/PyBDSF>pip install .
Processing /Users/vdhulst/Software/PyBDSF
Requirement already satisfied: backports.shutil_get_terminal_size in /Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages (from bdsf==1.9.2) (1.0.0)
Requirement already satisfied: numpy in /Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages (from bdsf==1.9.2) (1.18.5)
Requirement already satisfied: scipy in /Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages (from bdsf==1.9.2) (1.5.0)
Building wheels for collected packages: bdsf
  Building wheel for bdsf (setup.py) ... done
  Created wheel for bdsf: filename=bdsf-1.9.2-cp38-cp38-macosx_10_9_x86_64.whl size=473575 sha256=1df449018a9c50dab32fce57574fe230f7de8c9db27c510aaeddba941d8d8723
  Stored in directory: /private/var/folders/qc/tw1rxtws6_g1n57z2n6wr2080000gn/T/pip-ephem-wheel-cache-efhbsv7x/wheels/8f/a5/8e/11173fc5f060082e836c4c8200b10136672f2b863d79da608f
Successfully built bdsf
Installing collected packages: bdsf
Successfully installed bdsf-1.9.2

When I run pybdsf I get the following error:

/Users/vdhulst/Software/PyBDSF>pybdsf
Traceback (most recent call last):
  File "/Users/vdhulst/Software/anaconda3/bin/pybdsf", line 10, in <module>
    import bdsf
  File "/Users/vdhulst/Software/PyBDSF/bdsf/__init__.py", line 21, in <module>
    from .collapse import Op_collapse
  File "/Users/vdhulst/Software/PyBDSF/bdsf/collapse.py", line 11, in <module>
    from . import _cbdsm
ImportError: cannot import name '_cbdsm' from partially initialized module 'bdsf' (most likely due to a circular import) (/Users/vdhulst/Software/PyBDSF/bdsf/__init__.py)
/Users/vdhulst/Software/PyBDSF>
zhangyuheng94 commented 2 years ago

I have the same problem... @vdhulst Have you fixed it?

vdhulst commented 2 years ago

@zhangyuheng94 : no, not yet. Am afraid a PyBDSF expert needs to look at this.

gmloose commented 2 years ago

Does this problem also occur with the latest release?

zhangyuheng94 commented 2 years ago

@gmloose Yes, the pybdsf version is 1.10.1, installed on the anaconda python 3.7 env.

vdhulst commented 2 years ago

I have anaconda python 3.8.3 and now bdsf-1.10.1. I had some problems reinstalling bdsf and solved that by installing from source and using the GNU gcc and g++ compilers. The error I get now is the same as above:

Traceback (most recent call last): File "/Users/vdhulst/Software/anaconda3/bin/pybdsf", line 5, in <module> from bdsf.pybdsf import main File "/Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages/bdsf/__init__.py", line 21, in <module> from .collapse import Op_collapse File "/Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages/bdsf/collapse.py", line 11, in <module> from . import _cbdsm ImportError: dlopen(/Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages/bdsf/_cbdsm.cpython-38-darwin.so, 2): Symbol not found: _PyCMethod_New Referenced from: /usr/local/opt/boost-python3/lib/libboost_python310-mt.dylib Expected in: flat namespace in /usr/local/opt/boost-python3/lib/libboost_python310-mt.dylib

gmloose commented 2 years ago

It is on my radar, but it's a bit difficult for me to reproduce these issues, because I don't have access to a Mac. I'll try to see if I can crank up the priority for solving this issue.

gmloose commented 2 years ago

I can reproduce the original problem on a Linux system (Docker container based on python:3.9 image) if I try to do a python3 -c 'import bdsf' while I'm inside the source directory.

root@a0f8ce022a6a:/src/PyBDSF# python3 -c 'import bdsf'
WARNING: Matplotlib pyplot could not be imported. Plotting is disabled.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/src/PyBDSF/bdsf/__init__.py", line 21, in <module>
    from .collapse import Op_collapse
  File "/src/PyBDSF/bdsf/collapse.py", line 11, in <module>
    from . import _cbdsm
ImportError: cannot import name '_cbdsm' from partially initialized module 'bdsf' (most likely due to a circular import) (/src/PyBDSF/bdsf/__init__.py)

If I change to another directory, then the import works fine.

root@a0f8ce022a6a:/src/PyBDSF# cd
root@a0f8ce022a6a:~# python3 -c 'import bdsf'
WARNING: Matplotlib pyplot could not be imported. Plotting is disabled.

I strongly recommend to install from PyPI directly, instead of downloading from source. So, just do:

pip install bdsf

On Mac, this will download the source tar-ball, so you'll still need the developer tools and libraries to compile the binary wheel. In the future, I hope to also be able to distribute binary wheels for Mac.

gmloose commented 2 years ago

I have anaconda python 3.8.3 and now bdsf-1.10.1. I had some problems reinstalling bdsf and solved that by installing from source and using the GNU gcc and g++ compilers. The error I get now is the same as above:

Traceback (most recent call last): File "/Users/vdhulst/Software/anaconda3/bin/pybdsf", line 5, in <module> from bdsf.pybdsf import main File "/Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages/bdsf/__init__.py", line 21, in <module> from .collapse import Op_collapse File "/Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages/bdsf/collapse.py", line 11, in <module> from . import _cbdsm ImportError: dlopen(/Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages/bdsf/_cbdsm.cpython-38-darwin.so, 2): Symbol not found: _PyCMethod_New Referenced from: /usr/local/opt/boost-python3/lib/libboost_python310-mt.dylib Expected in: flat namespace in /usr/local/opt/boost-python3/lib/libboost_python310-mt.dylib

This problem seems to be unrelated to the OP. I see a mismatch between Python (version 3.8) and the boost-python libraries (version 3.10). Even though you're inside a Conda environment, the build seems to pick up system-wide installed libraries. Maybe you can force the build to use the proper libraries if you install boost inside the Conda environment?

vdhulst commented 2 years ago

I reinstalled boost and got rid of my PyBDSF directory cloned from GitHub. Then reinstalled bdsf using pip install bdsf. That worked fine. The error I get then is:

% pybdsf Traceback (most recent call last): File "/Users/vdhulst/Software/anaconda3/bin/pybdsf", line 5, in <module> from bdsf.pybdsf import main File "/Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages/bdsf/__init__.py", line 21, in <module> from .collapse import Op_collapse File "/Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages/bdsf/collapse.py", line 11, in <module> from . import _cbdsm ImportError: dlopen(/Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages/bdsf/_cbdsm.cpython-38-darwin.so, 2): Symbol not found: _PyCMethod_New Referenced from: /Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages/bdsf/_cbdsm.cpython-38-darwin.so Expected in: flat namespace in /Users/vdhulst/Software/anaconda3/lib/python3.8/site-packages/bdsf/_cbdsm.cpython-38-darwin.so

So the boost problem is gone, but the other one remains. When I change directory and do a python3 -c 'import bdsf' I get the same error message.

@gmloose: maybe I should drop in when I am in Dwingeloo next Wednesday.

zhangyuheng94 commented 2 years ago

In fact, I installed pybdsf through download the file " bdsf-1.10.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl" in the PyPI and rename it to "bdsf-1.10.1-cp37-cp37m-macosx_10_15_x86_64.whl". It was successfully installed but can not run when I type pybdsf in terminal, and report the "cannot import name '_cbdsm'" things.

Using pip install bdsf it reported a problem:

(base) yhzhang@mbp alma_sw % pip install bdsf       \
Keyring is skipped due to an exception: 'keyring.backends'\
Collecting bdsf\
  Using cached bdsf-1.10.1.tar.gz (360 kB)\
  Installing build dependencies ... done\
  Getting requirements to build wheel ... done\
  Preparing metadata (pyproject.toml) ... done\
Requirement already satisfied: numpy in /Users/yhzhang/opt/anaconda3/lib/python3.7/site-packages (from bdsf) (1.21.6)\
Requirement already satisfied: astropy in /Users/yhzhang/opt/anaconda3/lib/python3.7/site-packages (from bdsf) (4.3.1)\
Requirement already satisfied: scipy in /Users/yhzhang/opt/anaconda3/lib/python3.7/site-packages (from bdsf) (1.7.0)\
Requirement already satisfied: backports.shutil-get-terminal-size in /Users/yhzhang/opt/anaconda3/lib/python3.7/site-packages (from bdsf) (1.0.0)\
Requirement already satisfied: importlib-metadata in /Users/yhzhang/opt/anaconda3/lib/python3.7/site-packages (from astropy->bdsf) (5.0.0)\
Requirement already satisfied: pyerfa>=1.7.3 in /Users/yhzhang/opt/anaconda3/lib/python3.7/site-packages (from astropy->bdsf) (2.0.0)\
Requirement already satisfied: zipp>=0.5 in /Users/yhzhang/opt/anaconda3/lib/python3.7/site-packages (from importlib-metadata->astropy->bdsf) (2.2.0)\
Requirement already satisfied: typing-extensions>=3.6.4 in /Users/yhzhang/opt/anaconda3/lib/python3.7/site-packages (from importlib-metadata->astropy->bdsf) (3.7.4.3)\
Building wheels for collected packages: bdsf\
  Building wheel for bdsf (pyproject.toml) ... error\

\f1\b \cf4 error
\f0\b0 \cf2 : 
\f1\b \cf5 subprocess-exited-with-error
\f0\b0 \cf2 \
  \
  \cf4 \'d7\cf2  \cf6 Building wheel for bdsf 
\f1\b (
\f0\b0 pyproject.toml
\f1\b )
\f0\b0 \cf2  did not run successfully.\
  \cf4 \uc0\u9474 \cf2  exit code: 
\f1\b \cf7 1
\f0\b0 \cf2 \
  \cf4 \uc0\u9584 \u9472 >\cf2  \cf4 [459 lines of output]\cf2 \
  \cf4    \cf2  running bdist_wheel\
  \cf4    \cf2  running build\
  \cf4    \cf2  running config_cc\
  \cf4    \cf2  unifing config_cc, config, build_clib, build_ext, build commands --compiler options\
  \cf4    \cf2  running config_fc\
  \cf4    \cf2  unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options\
  \cf4    \cf2  running build_src\
  \cf4    \cf2  build_src\
  \cf4    \cf2  building extension "bdsf._pytesselate" sources\
  \cf4    \cf2  f2py options: ['']\
  \cf4    \cf2    adding 'build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/bdsf/fortranobject.c' to sources.\
  \cf4    \cf2    adding 'build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/bdsf' to include_dirs.\
  \cf4    \cf2  building extension "bdsf._cbdsm" sources\
  \cf4    \cf2  building extension "bdsf.nat.natgridmodule" sources\
  \cf4    \cf2  build_src: building npy-pkg config files\
  \cf4    \cf2  running build_py\
  \cf4    \cf2  creating build/lib.macosx-10.9-x86_64-cpython-37\
  \cf4    \cf2  creating build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/wavelet_atrous.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/functions.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/mylogger.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/tc.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/statusbar.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/islands.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/sourcecounts.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/_version.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/preprocess.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/multi_proc.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/pybdsf.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/psf_vary.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/gaul2srl.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/readimage.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/interface.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/collapse.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/shapelets.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/cleanup.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/threshold.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/spectralindex.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/make_residimage.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/opts.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/polarisation.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/rmsimage.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/gausfit.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/shapefit.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/plotresults.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/image.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/const.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  copying bdsf/output.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf\
  \cf4    \cf2  creating build/lib.macosx-10.9-x86_64-cpython-37/bdsf/nat\
  \cf4    \cf2  copying bdsf/nat/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-37/bdsf/nat\
  \cf4    \cf2  running build_ext\
  \cf4    \cf2  running mbuild\
  \cf4    \cf2  Building libminpack\
  \cf4    \cf2  Building libport3\
  \cf4    \cf2  dnsg.f:308:72:\
  \cf4    \cf2  \
  \cf4    \cf2    308 |       IF (IV(1)-2) 110, 120, 999\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: Arithmetic IF statement at (1)\
  \cf4    \cf2  dn2g.f:176:72:\
  \cf4    \cf2  \
  \cf4    \cf2    176 |       IF (IV(1)-2) 30, 50, 60\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: Arithmetic IF statement at (1)\
  \cf4    \cf2  drnsg.f:219:72:\
  \cf4    \cf2  \
  \cf4    \cf2    219 |       IF (IV1-2) 40, 150, 230\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: Arithmetic IF statement at (1)\
  \cf4    \cf2  drnsg.f:290:72:\
  \cf4    \cf2  \
  \cf4    \cf2    290 |  130     CALL DV2AXY(N, V(R1), -C(I), A(1,I), V(R1))\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 130 at (1)\
  \cf4    \cf2  drn2g.f:264:72:\
  \cf4    \cf2  \
  \cf4    \cf2    264 |       IF (IV(1) - 2) 50, 60, 220\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: Arithmetic IF statement at (1)\
  \cf4    \cf2  dd7upd.f:58:72:\
  \cf4    \cf2  \
  \cf4    \cf2     58 |  20           T = DMAX1(T, DABS(DR(K,I)))\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 20 at (1)\
  \cf4    \cf2  dg7qts.f:282:72:\
  \cf4    \cf2  \
  \cf4    \cf2    282 |  40           W(I) = ZERO\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 40 at (1)\
  \cf4    \cf2  dg7qts.f:436:72:\
  \cf4    \cf2  \
  \cf4    \cf2    436 |  230     W(I) = ZERO\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 230 at (1)\
  \cf4    \cf2  dg7qts.f:566:72:\
  \cf4    \cf2  \
  \cf4    \cf2    566 |  350     W(I) = T*W(I)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 350 at (1)\
  \cf4    \cf2  dg7qts.f:571:72:\
  \cf4    \cf2  \
  \cf4    \cf2    571 |  360     W(I) = T2*W(I)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 360 at (1)\
  \cf4    \cf2  dg7qts.f:331:22:\
  \cf4    \cf2  \
  \cf4    \cf2    329 |       DO 110 I = 2, P\
  \cf4    \cf2        |                                                                        2\
  \cf4    \cf2    330 |          J = DIAG0 + I\
  \cf4    \cf2    331 |          T = W(J) - W(I)\
  \cf4    \cf2        |                      1\
  \cf4    \cf2  Warning: Array reference at (1) out of bounds (2 > 1) in loop beginning at (2)\
  \cf4    \cf2  dg7qts.f:368:22:\
  \cf4    \cf2  \
  \cf4    \cf2    366 |       DO 160 I = 2, P\
  \cf4    \cf2        |                                                                        2\
  \cf4    \cf2    367 |          J = DIAG0 + I\
  \cf4    \cf2    368 |          T = W(J) + W(I)\
  \cf4    \cf2        |                      1\
  \cf4    \cf2  Warning: Array reference at (1) out of bounds (2 > 1) in loop beginning at (2)\
  \cf4    \cf2  ditsum.f:243:72:\
  \cf4    \cf2  \
  \cf4    \cf2    243 |  480          WRITE(PU,490) I, X(I), D(I), G(I)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 480 at (1)\
  \cf4    \cf2  dl7itv.f:18:72:\
  \cf4    \cf2  \
  \cf4    \cf2     18 |  10      X(I) = Y(I)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 10 at (1)\
  \cf4    \cf2  dl7mst.f:211:72:\
  \cf4    \cf2  \
  \cf4    \cf2    211 |       IF (KA) 10, 20, 370\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: Arithmetic IF statement at (1)\
  \cf4    \cf2  dl7mst.f:262:72:\
  \cf4    \cf2  \
  \cf4    \cf2    262 |  100     W(I) = G(I)/D(I)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 100 at (1)\
  \cf4    \cf2  dl7mst.f:287:72:\
  \cf4    \cf2  \
  \cf4    \cf2    287 |  120     W(I) = ONE\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 120 at (1)\
  \cf4    \cf2  dl7mst.f:391:72:\
  \cf4    \cf2  \
  \cf4    \cf2    391 |  250                    STEP(K) = STEP(K)/DFAC\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 250 at (1)\
  \cf4    \cf2  dl7mst.f:433:72:\
  \cf4    \cf2  \
  \cf4    \cf2    433 |  340     STEP(I) = STEP(I) / DSQRT(W(I))\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 340 at (1)\
  \cf4    \cf2  dl7mst.f:472:72:\
  \cf4    \cf2  \
  \cf4    \cf2    472 |  400     STEP(I) = ZERO\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 400 at (1)\
  \cf4    \cf2  dl7svn.f:156:72:\
  \cf4    \cf2  \
  \cf4    \cf2    156 |  70      X(I) = T*X(I)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 70 at (1)\
  \cf4    \cf2  dl7svx.f:144:72:\
  \cf4    \cf2  \
  \cf4    \cf2    144 |  50      X(I) = T*X(I)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 50 at (1)\
  \cf4    \cf2  dl7tsq.f:31:72:\
  \cf4    \cf2  \
  \cf4    \cf2     31 |  40           A(J) = LII * L(J)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 40 at (1)\
  \cf4    \cf2  dn2cvp.f:55:72:\
  \cf4    \cf2  \
  \cf4    \cf2     55 |       IF (COV1) 80,110,130\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: Arithmetic IF statement at (1)\
  \cf4    \cf2  dn2rdp.f:31:72:\
  \cf4    \cf2  \
  \cf4    \cf2     31 |       IF (V(F)) 10, 30, 10\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: Arithmetic IF statement at (1)\
  \cf4    \cf2  ds7lup.f:42:72:\
  \cf4    \cf2  \
  \cf4    \cf2     42 |  10      W(I) = T * WCHMTD(I)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 10 at (1)\
  \cf4    \cf2  ds7lup.f:46:72:\
  \cf4    \cf2  \
  \cf4    \cf2     46 |  20      U(I) = T*W(I) + Y(I) - SIZE*U(I)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 20 at (1)\
  \cf4    \cf2  dv2axy.f:11:72:\
  \cf4    \cf2  \
  \cf4    \cf2     11 |  10      W(I) = A*X(I) + Y(I)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 10 at (1)\
  \cf4    \cf2  dv7cpy.f:11:72:\
  \cf4    \cf2  \
  \cf4    \cf2     11 |  10      Y(I) = X(I)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 10 at (1)\
  \cf4    \cf2  dv7scl.f:11:72:\
  \cf4    \cf2  \
  \cf4    \cf2     11 |  10       X(I) = A * Y(I)\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 10 at (1)\
  \cf4    \cf2  dv7scp.f:11:72:\
  \cf4    \cf2  \
  \cf4    \cf2     11 |  10      Y(I) = S\
  \cf4    \cf2        |                                                                        1\
  \cf4    \cf2  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 10 at (1)\
  \cf4    \cf2  customize UnixCCompiler\
  \cf4    \cf2  customize UnixCCompiler using BuildExt\
  \cf4    \cf2  customize UnixCCompiler\
  \cf4    \cf2  customize UnixCCompiler using BuildExt\
  \cf4    \cf2  get_default_fcompiler: matching types: '['gnu95', 'nag', 'absoft', 'ibm', 'intel', 'gnu', 'g95', 'pg']'\
  \cf4    \cf2  customize Gnu95FCompiler\
  \cf4    \cf2  Found executable /usr/local/bin/gfortran\
  \cf4    \cf2  customize Gnu95FCompiler\
  \cf4    \cf2  customize Gnu95FCompiler using BuildExt\
  \cf4    \cf2  building 'bdsf._pytesselate' extension\
  \cf4    \cf2  compiling C sources\
  \cf4    \cf2  C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/yhzhang/opt/anaconda3/include -arch x86_64 -I/Users/yhzhang/opt/anaconda3/include -arch x86_64\
  \cf4    \cf2  \
  \cf4    \cf2  creating build/temp.macosx-10.9-x86_64-cpython-37/build\
  \cf4    \cf2  creating build/temp.macosx-10.9-x86_64-cpython-37/build/src.macosx-10.9-x86_64-3.7\
  \cf4    \cf2  creating build/temp.macosx-10.9-x86_64-cpython-37/build/src.macosx-10.9-x86_64-3.7/bdsf\
  \cf4    \cf2  creating build/temp.macosx-10.9-x86_64-cpython-37/build/src.macosx-10.9-x86_64-3.7/build\
  \cf4    \cf2  creating build/temp.macosx-10.9-x86_64-cpython-37/build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7\
  \cf4    \cf2  creating build/temp.macosx-10.9-x86_64-cpython-37/build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/bdsf\
  \cf4    \cf2  compile options: '-Ibuild/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/bdsf -I/private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include -I/Users/yhzhang/opt/anaconda3/include/python3.7m -c'\
  \cf4    \cf2  gcc: build/src.macosx-10.9-x86_64-3.7/bdsf/_pytesselatemodule.c\
  \cf4    \cf2  In file included from build/src.macosx-10.9-x86_64-3.7/bdsf/_pytesselatemodule.c:16:\
  \cf4    \cf2  In file included from build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/bdsf/fortranobject.h:13:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\
  \cf4    \cf2  /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]\
  \cf4    \cf2  #warning "Using deprecated NumPy API, disable it by " \\\
  \cf4    \cf2   ^\
  \cf4    \cf2  build/src.macosx-10.9-x86_64-3.7/bdsf/_pytesselatemodule.c:142:12: warning: unused function 'f2py_size' [-Wunused-function]\
  \cf4    \cf2  static int f2py_size(PyArrayObject* var, ...)\
  \cf4    \cf2             ^\
  \cf4    \cf2  2 warnings generated.\
  \cf4    \cf2  gcc: build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/bdsf/fortranobject.c\
  \cf4    \cf2  In file included from build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/bdsf/fortranobject.c:2:\
  \cf4    \cf2  In file included from build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/bdsf/fortranobject.h:13:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\
  \cf4    \cf2  /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]\
  \cf4    \cf2  #warning "Using deprecated NumPy API, disable it by " \\\
  \cf4    \cf2   ^\
  \cf4    \cf2  build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/bdsf/fortranobject.c:138:18: warning: comparison of integers of different signs: 'Py_ssize_t' (aka 'long') and 'unsigned long' [-Wsign-compare]\
  \cf4    \cf2          if (size < sizeof(notalloc)) \{\
  \cf4    \cf2              ~~~~ ^ ~~~~~~~~~~~~~~~~\
  \cf4    \cf2  2 warnings generated.\
  \cf4    \cf2  compiling Fortran sources\
  \cf4    \cf2  Fortran f77 compiler: /usr/local/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -arch x86_64 -fPIC -O3 -funroll-loops\
  \cf4    \cf2  Fortran f90 compiler: /usr/local/bin/gfortran -Wall -g -fno-second-underscore -arch x86_64 -fPIC -O3 -funroll-loops\
  \cf4    \cf2  Fortran fix compiler: /usr/local/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -Wall -g -fno-second-underscore -arch x86_64 -fPIC -O3 -funroll-loops\
  \cf4    \cf2  creating build/temp.macosx-10.9-x86_64-cpython-37/src\
  \cf4    \cf2  creating build/temp.macosx-10.9-x86_64-cpython-37/src/fortran\
  \cf4    \cf2  compile options: '-Ibuild/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/bdsf -I/private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include -I/Users/yhzhang/opt/anaconda3/include/python3.7m -c'\
  \cf4    \cf2  gfortran:f77: src/fortran/pytess_simple.f\
  \cf4    \cf2  gfortran:f77: src/fortran/pytess_roundness.f\
  \cf4    \cf2  src/fortran/pytess_roundness.f:30:24:\
  \cf4    \cf2  \
  \cf4    \cf2     30 |          roundfacold(i)=roundfac(i)\
  \cf4    \cf2        |                        1\
  \cf4    \cf2  Warning: Possible change of value in conversion from REAL(8) to INTEGER(4) at (1) [-Wconversion]\
  \cf4    \cf2  /usr/local/bin/gfortran -Wall -g -arch x86_64 -Wall -g -undefined dynamic_lookup -bundle build/temp.macosx-10.9-x86_64-cpython-37/build/src.macosx-10.9-x86_64-3.7/bdsf/_pytesselatemodule.o build/temp.macosx-10.9-x86_64-cpython-37/build/src.macosx-10.9-x86_64-3.7/build/src.macosx-10.9-x86_64-3.7/bdsf/fortranobject.o build/temp.macosx-10.9-x86_64-cpython-37/src/fortran/pytess_simple.o build/temp.macosx-10.9-x86_64-cpython-37/src/fortran/pytess_roundness.o -L/usr/local/Cellar/gcc/12.2.0/bin/../lib/gcc/current/gcc/x86_64-apple-darwin19/12 -L/usr/local/Cellar/gcc/12.2.0/bin/../lib/gcc/current/gcc/x86_64-apple-darwin19/12/../../.. -L/usr/local/Cellar/gcc/12.2.0/bin/../lib/gcc/current/gcc/x86_64-apple-darwin19/12/../../.. -lgfortran -o build/lib.macosx-10.9-x86_64-cpython-37/bdsf/_pytesselate.cpython-37m-darwin.so\
  \cf4    \cf2  building 'bdsf._cbdsm' extension\
  \cf4    \cf2  compiling C++ sources\
  \cf4    \cf2  C compiler: g++ -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/yhzhang/opt/anaconda3/include -arch x86_64 -I/Users/yhzhang/opt/anaconda3/include -arch x86_64\
  \cf4    \cf2  \
  \cf4    \cf2  creating build/temp.macosx-10.9-x86_64-cpython-37/src/c++\
  \cf4    \cf2  creating build/temp.macosx-10.9-x86_64-cpython-37/src/c++/num_util\
  \cf4    \cf2  compile options: '-Isrc/c++ -I -I -I/private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include -I/private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include -I/Users/yhzhang/opt/anaconda3/include/python3.7m -c'\
  \cf4    \cf2  g++: src/c++/Fitter_dn2g.cc\
  \cf4    \cf2  In file included from src/c++/Fitter_dn2g.cc:11:\
  \cf4    \cf2  In file included from src/c++/Fitters.h:5:\
  \cf4    \cf2  In file included from src/c++/MGFunction.h:8:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  1 warning generated.\
  \cf4    \cf2  g++: src/c++/Fitter_dnsg.cc\
  \cf4    \cf2  In file included from src/c++/Fitter_dnsg.cc:11:\
  \cf4    \cf2  In file included from src/c++/Fitters.h:5:\
  \cf4    \cf2  In file included from src/c++/MGFunction.h:8:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  1 warning generated.\
  \cf4    \cf2  g++: src/c++/Fitter_lmder.cc\
  \cf4    \cf2  In file included from src/c++/Fitter_lmder.cc:11:\
  \cf4    \cf2  In file included from src/c++/Fitters.h:5:\
  \cf4    \cf2  In file included from src/c++/MGFunction.h:8:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  1 warning generated.\
  \cf4    \cf2  g++: src/c++/MGFunction1.cc\
  \cf4    \cf2  In file included from src/c++/MGFunction1.cc:19:\
  \cf4    \cf2  In file included from src/c++/boost_python.h:14:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\
  \cf4    \cf2  /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]\
  \cf4    \cf2  #warning "Using deprecated NumPy API, disable it by " \\\
  \cf4    \cf2   ^\
  \cf4    \cf2  In file included from src/c++/MGFunction1.cc:20:\
  \cf4    \cf2  In file included from src/c++/MGFunction.h:8:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  In file included from src/c++/MGFunction1.cc:22:\
  \cf4    \cf2  In file included from src/c++/num_util/num_util.h:22:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  3 warnings generated.\
  \cf4    \cf2  g++: src/c++/MGFunction2.cc\
  \cf4    \cf2  In file included from src/c++/MGFunction2.cc:35:\
  \cf4    \cf2  In file included from src/c++/boost_python.h:14:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\
  \cf4    \cf2  /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]\
  \cf4    \cf2  #warning "Using deprecated NumPy API, disable it by " \\\
  \cf4    \cf2   ^\
  \cf4    \cf2  In file included from src/c++/MGFunction2.cc:36:\
  \cf4    \cf2  In file included from src/c++/MGFunction.h:8:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  In file included from src/c++/MGFunction2.cc:41:\
  \cf4    \cf2  In file included from src/c++/num_util/num_util.h:22:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  src/c++/MGFunction2.cc:62:11: warning: unused variable 'chk' [-Wunused-variable]\
  \cf4    \cf2    double *chk = buf;\
  \cf4    \cf2            ^\
  \cf4    \cf2  src/c++/MGFunction2.cc:76:17: warning: unused variable 'chk' [-Wunused-variable]\
  \cf4    \cf2    const double *chk = buf;\
  \cf4    \cf2                  ^\
  \cf4    \cf2  src/c++/MGFunction2.cc:90:11: warning: unused variable 'chk' [-Wunused-variable]\
  \cf4    \cf2    double *chk = buf;\
  \cf4    \cf2            ^\
  \cf4    \cf2  src/c++/MGFunction2.cc:104:17: warning: unused variable 'chk' [-Wunused-variable]\
  \cf4    \cf2    const double *chk = buf;\
  \cf4    \cf2                  ^\
  \cf4    \cf2  src/c++/MGFunction2.cc:118:17: warning: unused variable 'chk' [-Wunused-variable]\
  \cf4    \cf2    const double *chk = buf;\
  \cf4    \cf2                  ^\
  \cf4    \cf2  src/c++/MGFunction2.cc:131:11: warning: unused variable 'chk' [-Wunused-variable]\
  \cf4    \cf2    double *chk = buf;\
  \cf4    \cf2            ^\
  \cf4    \cf2  src/c++/MGFunction2.cc:145:11: warning: unused variable 'chk' [-Wunused-variable]\
  \cf4    \cf2    double *chk = buf;\
  \cf4    \cf2            ^\
  \cf4    \cf2  src/c++/MGFunction2.cc:163:11: warning: unused variable 'chk' [-Wunused-variable]\
  \cf4    \cf2    double *chk = buf;\
  \cf4    \cf2            ^\
  \cf4    \cf2  src/c++/MGFunction2.cc:214:11: warning: unused variable 'chk' [-Wunused-variable]\
  \cf4    \cf2    double *chk = buf;\
  \cf4    \cf2            ^\
  \cf4    \cf2  src/c++/MGFunction2.cc:250:11: warning: unused variable 'chk' [-Wunused-variable]\
  \cf4    \cf2    double *chk = buf;\
  \cf4    \cf2            ^\
  \cf4    \cf2  13 warnings generated.\
  \cf4    \cf2  g++: src/c++/cbdsm_main.cc\
  \cf4    \cf2  In file included from src/c++/cbdsm_main.cc:11:\
  \cf4    \cf2  In file included from src/c++/stat.h:5:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\
  \cf4    \cf2  /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]\
  \cf4    \cf2  #warning "Using deprecated NumPy API, disable it by " \\\
  \cf4    \cf2   ^\
  \cf4    \cf2  In file included from src/c++/cbdsm_main.cc:11:\
  \cf4    \cf2  In file included from src/c++/stat.h:6:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  In file included from src/c++/cbdsm_main.cc:12:\
  \cf4    \cf2  In file included from src/c++/MGFunction.h:8:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  In file included from src/c++/cbdsm_main.cc:14:\
  \cf4    \cf2  In file included from src/c++/num_util/num_util.h:22:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  4 warnings generated.\
  \cf4    \cf2  g++: src/c++/stat.cc\
  \cf4    \cf2  In file included from src/c++/stat.cc:12:\
  \cf4    \cf2  In file included from src/c++/boost_python.h:14:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\
  \cf4    \cf2  /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]\
  \cf4    \cf2  #warning "Using deprecated NumPy API, disable it by " \\\
  \cf4    \cf2   ^\
  \cf4    \cf2  In file included from src/c++/stat.cc:13:\
  \cf4    \cf2  In file included from src/c++/stat.h:6:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  In file included from src/c++/stat.cc:15:\
  \cf4    \cf2  In file included from src/c++/num_util/num_util.h:22:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  3 warnings generated.\
  \cf4    \cf2  g++: src/c++/num_util/num_util.cpp\
  \cf4    \cf2  In file included from src/c++/num_util/num_util.cpp:8:\
  \cf4    \cf2  In file included from src/c++/num_util/num_util.h:14:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\
  \cf4    \cf2  In file included from /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\
  \cf4    \cf2  /private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-build-env-z6_8mpon/overlay/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by "          "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]\
  \cf4    \cf2  #warning "Using deprecated NumPy API, disable it by " \\\
  \cf4    \cf2   ^\
  \cf4    \cf2  In file included from src/c++/num_util/num_util.cpp:8:\
  \cf4    \cf2  In file included from src/c++/num_util/num_util.h:22:\
  \cf4    \cf2  src/c++/pyndarray.h:5:11: warning: 'typename' occurs outside of a template [-Wc++11-extensions]\
  \cf4    \cf2    typedef typename boost::python::numpy::ndarray pyndarray;\
  \cf4    \cf2            ^~~~~~~~~\
  \cf4    \cf2  src/c++/num_util/num_util.cpp:438:1: warning: control may reach end of non-void function [-Wreturn-type]\
  \cf4    \cf2  \}\
  \cf4    \cf2  ^\
  \cf4    \cf2  3 warnings generated.\
  \cf4    \cf2  g++ -bundle -undefined dynamic_lookup -L/Users/yhzhang/opt/anaconda3/lib -arch x86_64 -L/Users/yhzhang/opt/anaconda3/lib -arch x86_64 build/temp.macosx-10.9-x86_64-cpython-37/src/c++/Fitter_dn2g.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/Fitter_dnsg.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/Fitter_lmder.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/MGFunction1.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/MGFunction2.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/cbdsm_main.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/stat.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/num_util/num_util.o -L/private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-install-0a761lv2/bdsf_33290673250748c7b2b66610fee56641/src/minpack -L/private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-install-0a761lv2/bdsf_33290673250748c7b2b66610fee56641/src/port3 -L -L -lminpack -lport3 -lgfortran -lboost_python-py37-mt -o build/lib.macosx-10.9-x86_64-cpython-37/bdsf/_cbdsm.cpython-37m-darwin.so\
  \cf4    \cf2  setup.py:161: UserWarning:\
  \cf4    \cf2  Could not find a Python boost library! Please use your package manager to install boost.\
  \cf4    \cf2  \
  \cf4    \cf2  Or install it manually:\
  \cf4    \cf2  \
  \cf4    \cf2  http://boostorg.github.io/python/doc/html/index.html\
  \cf4    \cf2  \
  \cf4    \cf2    warnings.warn(no_boost_error)\
  \cf4    \cf2  setup.py:194: UserWarning: No library boost_numpy found (this may be no problem)\
  \cf4    \cf2    warnings.warn("No library boost_numpy found (this may be no problem)")\
  \cf4    \cf2  ld: warning: directory not found for option '-L-L'\
  \cf4    \cf2  ld: library not found for -lboost_python-py37-mt\
  \cf4    \cf2  clang: error: linker command failed with exit code 1 (use -v to see invocation)\
  \cf4    \cf2  ld: warning: directory not found for option '-L-L'\
  \cf4    \cf2  ld: library not found for -lboost_python-py37-mt\
  \cf4    \cf2  clang: error: linker command failed with exit code 1 (use -v to see invocation)\
  \cf4    \cf2  error: Command "g++ -bundle -undefined dynamic_lookup -L/Users/yhzhang/opt/anaconda3/lib -arch x86_64 -L/Users/yhzhang/opt/anaconda3/lib -arch x86_64 build/temp.macosx-10.9-x86_64-cpython-37/src/c++/Fitter_dn2g.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/Fitter_dnsg.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/Fitter_lmder.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/MGFunction1.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/MGFunction2.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/cbdsm_main.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/stat.o build/temp.macosx-10.9-x86_64-cpython-37/src/c++/num_util/num_util.o -L/private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-install-0a761lv2/bdsf_33290673250748c7b2b66610fee56641/src/minpack -L/private/var/folders/71/4339krpd297d_nyp8f0qklrh0000gp/T/pip-install-0a761lv2/bdsf_33290673250748c7b2b66610fee56641/src/port3 -L -L -lminpack -lport3 -lgfortran -lboost_python-py37-mt -o build/lib.macosx-10.9-x86_64-cpython-37/bdsf/_cbdsm.cpython-37m-darwin.so" failed with exit status 1\
  \cf4    \cf2  \cf4 [end of output]\cf2 \
  \

\f1\b \cf8 note
\f0\b0 \cf2 : This error originates from a subprocess, and is likely not a problem with pip.\
\cf4   ERROR: Failed building wheel for bdsf\cf2 \
Failed to build bdsf\
\cf4 ERROR: Could not build wheels for bdsf, which is required to install pyproject.toml-based projects}
gmloose commented 2 years ago

@zhangyuheng94, you cannot simply rename a wheel file to match with a different architecture. That will not work. Building from source apparently fails during linking. These are the import lines:

  \cf4    \cf2  ld: warning: directory not found for option '-L-L'\
  \cf4    \cf2  ld: library not found for -lboost_python-py37-mt\

It looks like something is going wrong in the determination of the link path, because the double -L-L should not be there. Do you have libboost_python-py37-mt.dylib somewhere on your system?

gmloose commented 1 year ago

For those interested. Users with an Intel-based Mac can now install a binary wheel pre-release:

pip install bdsf==1.10.3a2

So there's no longer a need to compile stuff yourself.

An official 1.10.3 release will be made soon.

vdhulst commented 1 year ago

Thanks a lot Marcel ! It works fine for me on my MacBook Pro with macOS Big Sur 11.7.6

gmloose commented 1 year ago

Thanks a lot Marcel ! It works fine for me on my MacBook Pro with macOS Big Sur 11.7.6

Good to know. Happy to be of help.