pypa / setuptools

Official project repository for the Setuptools build system
https://pypi.org/project/setuptools/
MIT License
2.52k stars 1.19k forks source link

[BUG] package directory does not exist wheel/sdist install with custom install/build_py cmdclass #2818

Closed AndrewAnnex closed 3 years ago

AndrewAnnex commented 3 years ago

setuptools version

58.2.0

Python version

Python 3.6-3.9

OS

MacOS/Linux/Windows

Additional environment information

I develop mainly on MacOS, currently 11.6, but the issue is occurring on Github CI workflows for my project on macos-latest, ubuntu-latest, windows-latest.

Description

running python setup.py install on Github CI actions OR pip install dist/*.tar.gz (from sdist) results in a "error: package directory 'spiceypy' does not exist" error without a clear cause. I don't know the exact cause of the bug because any attempts to debug it with pycharm/strace haven't revealed anything clear. Build logs and other code changes can be seen at https://github.com/AndrewAnnex/SpiceyPy/pull/424.

The project is a ctypes wrapper project that needs to be able to build a large ansi C library I do not maintain from source into a shared library. I don't use distutils.Extension to build the library because I need to patch a few of the c source files for bug fixes and ARM builds, and I don't want to distribute the sources as there are platform dependent changes to the source files which are only distributed as compressed archives not in version control. The library does not import cpython anywhere so I want to avoid the complications of extension for now (although I do have a branch where I am experimenting with it https://github.com/AndrewAnnex/SpiceyPy/pull/426/)

The project has been building on various CI services for years, the only recent change has been a recent switch to cibuildwheels which necessitated the following addition to my setup.py:

# https://stackoverflow.com/questions/45150304/how-to-force-a-python-wheel-to-be-platform-specific-when-building-it
# http://lepture.com/en/2014/python-on-a-hard-wheel
try:
    from wheel.bdist_wheel import bdist_wheel as _bdist_wheel

    class generic_bdist_wheel(_bdist_wheel):
        """
        override for bdist_wheel
        """

        def finalize_options(self) -> None:
            _bdist_wheel.finalize_options(self)
            self.root_is_pure = False

        def get_tag(self) -> (str, str, str):
            python, abi, plat = _bdist_wheel.get_tag(self)
            return "py3", "none", plat

    # add our override to the cmdclass dict so we can inject this behavior
    cmdclass["bdist_wheel"] = generic_bdist_wheel

except ImportError:
    # we don't have wheel installed so there is nothing to change
    pass

Again I can't seem to get a debugger to pause in the right place so I think it is occurring right after build_py. Confusingly, python setup.py install seems to fail on my ci builds, but not locally on macos

Expected behavior

I expect the build to continue, or at least to provide a more verbose reason the package is malformed

How to Reproduce

  1. git clone --single-branch --branch add_arm64_wheels git@github.com:AndrewAnnex/SpiceyPy.git
  2. python setup.py sdist
  3. pip install ./dist/spiceypy-4.0.2.tar.gz

Output

Processing ./dist/spiceypy-4.0.2.tar.gz
Requirement already satisfied: numpy>=1.17.0 in /Users/andrew/anaconda3/envs/SpiceyPy38/lib/python3.8/site-packages (from spiceypy==4.0.2) (1.19.4)
Building wheels for collected packages: spiceypy
  Building wheel for spiceypy (setup.py): started
  Building wheel for spiceypy (setup.py): still running...
  Building wheel for spiceypy (setup.py): still running...
  Building wheel for spiceypy (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /Users/andrew/anaconda3/envs/SpiceyPy38/bin/python3.8 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/kn/ntp_0cf90h933jsqr2zq7l_00000gn/T/pip-req-build-nm4oqkxy/setup.py'"'"'; __file__='"'"'/private/var/folders/kn/ntp_0cf90h933jsqr2zq7l_00000gn/T/pip-req-build-nm4oqkxy/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/kn/ntp_0cf90h933jsqr2zq7l_00000gn/T/pip-wheel-7_2btvz9
       cwd: /private/var/folders/kn/ntp_0cf90h933jsqr2zq7l_00000gn/T/pip-req-build-nm4oqkxy/
  Complete output (1207 lines):
  running bdist_wheel
  running build
  running build_py
  Preparing cspice
  Downloading CSPICE src from NAIF
  Gathering information...
  SYSTEM:    Darwin
  PROCESSOR: i386
  MACHINE:   64bit x86_64
  Downloading CSPICE for MacIntel_OSX_AppleC_64bit...
  Unpacking... (this may take some time!)
  end of prep: /var/folders/kn/ntp_0cf90h933jsqr2zq7l_00000gn/T/cspice_spiceypy_jao5akfe
  Copying supplements
  copy supplements to:  /var/folders/kn/ntp_0cf90h933jsqr2zq7l_00000gn/T/cspice_spiceypy_jao5akfe
  Apply patches
  Applying Patch 0001-patch-for-n66-dskx02.c.patch
  0001-patch-for-n66-dskx02.c.patch:115: trailing whitespace.
            i__2, "dskx02_", (ftnlen)1240)] = (voxlst[(i__3 = j + i__
  0001-patch-for-n66-dskx02.c.patch:137: trailing whitespace.
            s_rnge("vxlcg", i__2, "dskx02_", (ftnlen)1257)] =
  0001-patch-for-n66-dskx02.c.patch:147: trailing whitespace.
            "str", i__2, "dskx02_", (ftnlen)1262)] = cgrptr[(i__3 =
  0001-patch-for-n66-dskx02.c.patch:162: trailing whitespace.
            s_rnge("voxlst", i__2, "dskx02_", (ftnlen)1327)] - cgscal
  0001-patch-for-n66-dskx02.c.patch:168: trailing whitespace.
            s_rnge("voxlst", i__2, "dskx02_", (ftnlen)1328)] - cgscal
  Checking patch cspice/src/cspice/dskx02.c...
  Applied patch cspice/src/cspice/dskx02.c cleanly.
  warning: squelched 8 whitespace errors
  warning: 13 lines add whitespace errors.
  Applying Patch 0002-patch-for-n66-subpnt.c.patch
  Checking patch cspice/src/cspice/subpnt.c...
  Applied patch cspice/src/cspice/subpnt.c cleanly.
  Applying Patch 0004_inquire_unistd.patch
  Checking patch cspice/src/cspice/inquire.c...
  Applied patch cspice/src/cspice/inquire.c cleanly.
  Building cspice
  ./cspice/src/cspice/ckgr02.c:337:28: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
      addr__ = beg + (*recno - 1 << 3);
                      ~~~~~~~^~~ ~~
  ./cspice/src/cspice/ckgr02.c:337:28: note: place parentheses around the '-' expression to silence this warning
      addr__ = beg + (*recno - 1 << 3);
                             ^
                      (         )
  1 warning generated.
  ./cspice/src/cspice/ckr02.c:648:29: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
      n = beg + (skip + index - 1 << 3);
                 ~~~~~~~~~~~~~^~~ ~~
  ./cspice/src/cspice/ckr02.c:648:29: note: place parentheses around the '-' expression to silence this warning
      n = beg + (skip + index - 1 << 3);
                              ^
                 (               )
  1 warning generated.
  ./cspice/src/cspice/dafbt.c:628:17: warning: operator '<<' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
      snmlen = nd + (ni + 1) / 2 << 3;
               ~~~^~~~~~~~~~~~~~ ~~
  ./cspice/src/cspice/dafbt.c:628:17: note: place parentheses around the '+' expression to silence this warning
      snmlen = nd + (ni + 1) / 2 << 3;
                  ^
               (                )
  1 warning generated.
  ./cspice/src/cspice/dafrwa.c:159:33: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
      *addr__ = *wordno + (*recno - 1 << 7);
                           ~~~~~~~^~~ ~~
  ./cspice/src/cspice/dafrwa.c:159:33: note: place parentheses around the '-' expression to silence this warning
      *addr__ = *wordno + (*recno - 1 << 7);
                                  ^
                           (         )
  ./cspice/src/cspice/dafrwa.c:303:33: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
      *wordno = *addr__ - (*recno - 1 << 7);
                           ~~~~~~~^~~ ~~
  ./cspice/src/cspice/dafrwa.c:303:33: note: place parentheses around the '-' expression to silence this warning
      *wordno = *addr__ - (*recno - 1 << 7);
                                  ^
                           (         )
  2 warnings generated.
  ./cspice/src/cspice/daftb.c:548:17: warning: operator '<<' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
      snmlen = nd + (ni + 1) / 2 << 3;
               ~~~^~~~~~~~~~~~~~ ~~
  ./cspice/src/cspice/daftb.c:548:17: note: place parentheses around the '+' expression to silence this warning
      snmlen = nd + (ni + 1) / 2 << 3;
                  ^
               (                )
  1 warning generated.
  ./cspice/src/cspice/dasac.c:462:27: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          curpos = ncomc - (rinuse - 1 << 10) + 1;
                            ~~~~~~~^~~ ~~
  ./cspice/src/cspice/dasac.c:462:27: note: place parentheses around the '-' expression to silence this warning
          curpos = ncomc - (rinuse - 1 << 10) + 1;
                                   ^
                            (         )
  1 warning generated.
  ./cspice/src/cspice/dfe.c:97:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n=c_dfe(a))return(n);
             ~^~~~~~~~~
  ./cspice/src/cspice/dfe.c:97:6: note: place parentheses around the assignment to silence this warning
          if(n=c_dfe(a))return(n);
              ^
             (         )
  ./cspice/src/cspice/dfe.c:97:6: note: use '==' to turn this assignment into an equality comparison
          if(n=c_dfe(a))return(n);
              ^
              ==
  ./cspice/src/cspice/dfe.c:119:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n=c_dfe(a)) return(n);
             ~^~~~~~~~~
  ./cspice/src/cspice/dfe.c:119:6: note: place parentheses around the assignment to silence this warning
          if(n=c_dfe(a)) return(n);
              ^
             (         )
  ./cspice/src/cspice/dfe.c:119:6: note: use '==' to turn this assignment into an equality comparison
          if(n=c_dfe(a)) return(n);
              ^
              ==
  2 warnings generated.
  ./cspice/src/cspice/due.c:36:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n=c_due(a)) return(n);
             ~^~~~~~~~~
  ./cspice/src/cspice/due.c:36:6: note: place parentheses around the assignment to silence this warning
          if(n=c_due(a)) return(n);
              ^
             (         )
  ./cspice/src/cspice/due.c:36:6: note: use '==' to turn this assignment into an equality comparison
          if(n=c_due(a)) return(n);
              ^
              ==
  ./cspice/src/cspice/due.c:49:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n=c_due(a)) return(n);
             ~^~~~~~~~~
  ./cspice/src/cspice/due.c:49:6: note: place parentheses around the assignment to silence this warning
          if(n=c_due(a)) return(n);
              ^
             (         )
  ./cspice/src/cspice/due.c:49:6: note: use '==' to turn this assignment into an equality comparison
          if(n=c_due(a)) return(n);
              ^
              ==
  2 warnings generated.
  ./cspice/src/cspice/ekqmgr.c:5076:28: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
                  ptroff = nsv + 4 + (nseg - 1 << 1) + 1;
                                      ~~~~~^~~ ~~
  ./cspice/src/cspice/ekqmgr.c:5076:28: note: place parentheses around the '-' expression to silence this warning
                  ptroff = nsv + 4 + (nseg - 1 << 1) + 1;
                                           ^
                                      (       )
  1 warning generated.
  ./cspice/src/cspice/endfile.c:30:27: warning: format specifies type 'long' but the argument has type 'ftnint' (aka 'int') [-Wformat]
                  sprintf(nbuf,"fort.%ld",a->aunit);
                                     ~~~  ^~~~~~~~
                                     %d
  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                         ^~~~~~~~~~~
  ./cspice/src/cspice/endfile.c:31:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                  if (tf = fopen(nbuf, f__w_mode[0]))
                      ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/endfile.c:31:10: note: place parentheses around the assignment to silence this warning
                  if (tf = fopen(nbuf, f__w_mode[0]))
                         ^
                      (                             )
  ./cspice/src/cspice/endfile.c:31:10: note: use '==' to turn this assignment into an equality comparison
                  if (tf = fopen(nbuf, f__w_mode[0]))
                         ^
                         ==
  2 warnings generated.
  ./cspice/src/cspice/getenv_.c:159:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
     while (ep = *env++)
            ~~~^~~~~~~~
  ./cspice/src/cspice/getenv_.c:159:14: note: place parentheses around the assignment to silence this warning
     while (ep = *env++)
               ^
            (          )
  ./cspice/src/cspice/getenv_.c:159:14: note: use '==' to turn this assignment into an equality comparison
     while (ep = *env++)
               ^
               ==
  1 warning generated.
  ./cspice/src/cspice/iio.c:84:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n=c_si(a)) return(n);
             ~^~~~~~~~
  ./cspice/src/cspice/iio.c:84:6: note: place parentheses around the assignment to silence this warning
          if(n=c_si(a)) return(n);
              ^
             (        )
  ./cspice/src/cspice/iio.c:84:6: note: use '==' to turn this assignment into an equality comparison
          if(n=c_si(a)) return(n);
              ^
              ==
  ./cspice/src/cspice/iio.c:115:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n=c_si(a)) return(n);
             ~^~~~~~~~
  ./cspice/src/cspice/iio.c:115:6: note: place parentheses around the assignment to silence this warning
          if(n=c_si(a)) return(n);
              ^
             (        )
  ./cspice/src/cspice/iio.c:115:6: note: use '==' to turn this assignment into an equality comparison
          if(n=c_si(a)) return(n);
              ^
              ==
  2 warnings generated.
  ./cspice/src/cspice/inquire.c:59:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                  else *a->inex=0;
                  ^
  ./cspice/src/cspice/inquire.c:62:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                  else *a->inopen=(p!=NULL && p->ufd!=NULL);
                  ^
  ./cspice/src/cspice/inquire.c:67:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                  else    *a->innamed=0;
                  ^
  ./cspice/src/cspice/inquire.c:71:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                  else if(p!=NULL && p->ufnm!=NULL)
                  ^
  ./cspice/src/cspice/inquire.c:76:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                  else    b_char("SEQUENTIAL",a->inacc,a->inacclen);
                  ^
  ./cspice/src/cspice/inquire.c:80:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                  else    b_char("YES",a->inseq,a->inseqlen);
                  ^
  ./cspice/src/cspice/inquire.c:84:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                  else    b_char("NO",a->indir,a->indirlen);
                  ^
  ./cspice/src/cspice/inquire.c:88:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                  else    b_char("FORMATTED",a->infmt,a->infmtlen);
                  ^
  ./cspice/src/cspice/inquire.c:92:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                  else b_char("YES",a->inform,a->informlen);
                  ^
  ./cspice/src/cspice/inquire.c:96:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                  else if (p!=NULL) b_char("NO",a->inunf,a->inunflen);
                  ^
  ./cspice/src/cspice/inquire.c:105:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                  else    b_char("NULL",a->inblank,a->inblanklen);
                  ^
  11 warnings generated.
  ./cspice/src/cspice/lbitbits.c:44:44: warning: operator '>>' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
                          return (integer)(x << b | x >> LONGBITS -b );
                                                      ~~ ~~~~~~~~~^~
  ./cspice/src/cspice/lbitbits.c:44:44: note: place parentheses around the '-' expression to silence this warning
                          return (integer)(x << b | x >> LONGBITS -b );
                                                         ~~~~~~~~~^~
  ./cspice/src/cspice/lbitbits.c:48:34: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
                  return (integer)(x << LONGBITS - b | x >> b);
                                     ~~ ~~~~~~~~~^~~
  ./cspice/src/cspice/lbitbits.c:48:34: note: place parentheses around the '-' expression to silence this warning
                  return (integer)(x << LONGBITS - b | x >> b);
                                        ~~~~~~~~~^~~
  ./cspice/src/cspice/lbitbits.c:57:47: warning: operator '>>' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
                  return (integer)(y | z & (x << b | x >> len - b));
                                                       ~~ ~~~~^~~
  ./cspice/src/cspice/lbitbits.c:57:47: note: place parentheses around the '-' expression to silence this warning
                  return (integer)(y | z & (x << b | x >> len - b));
                                                              ^
                                                          (      )
  ./cspice/src/cspice/lbitbits.c:61:46: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          return (integer)(y | z & (x >> b | x << len - b));
                                               ~~ ~~~~^~~
  ./cspice/src/cspice/lbitbits.c:61:46: note: place parentheses around the '-' expression to silence this warning
          return (integer)(y | z & (x >> b | x << len - b));
                                                      ^
                                                  (      )
  4 warnings generated.
  ./cspice/src/cspice/lread.c:289:4: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                          else
                          ^
  ./cspice/src/cspice/lread.c:309:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if (ch = l_R(1,0))
              ~~~^~~~~~~~~~
  ./cspice/src/cspice/lread.c:309:9: note: place parentheses around the assignment to silence this warning
          if (ch = l_R(1,0))
                 ^
              (            )
  ./cspice/src/cspice/lread.c:309:9: note: use '==' to turn this assignment into an equality comparison
          if (ch = l_R(1,0))
                 ^
                 ==
  ./cspice/src/cspice/lread.c:321:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if (ch = l_R(1,0))
              ~~~^~~~~~~~~~
  ./cspice/src/cspice/lread.c:321:9: note: place parentheses around the assignment to silence this warning
          if (ch = l_R(1,0))
                 ^
              (            )
  ./cspice/src/cspice/lread.c:321:9: note: use '==' to turn this assignment into an equality comparison
          if (ch = l_R(1,0))
                 ^
                 ==
  ./cspice/src/cspice/lread.c:350:4: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                          else
                          ^
  ./cspice/src/cspice/lread.c:590:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                          ERR(l_R(0,1));
                          ^~~~~~~~~~~~~
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                    ~^~~~
  ./cspice/src/cspice/lread.c:590:4: note: place parentheses around the assignment to silence this warning
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                     ^
  ./cspice/src/cspice/lread.c:590:4: note: use '==' to turn this assignment into an equality comparison
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                     ^
  ./cspice/src/cspice/lread.c:595:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                          ERR(l_R(0,0));
                          ^~~~~~~~~~~~~
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                    ~^~~~
  ./cspice/src/cspice/lread.c:595:4: note: place parentheses around the assignment to silence this warning
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                     ^
  ./cspice/src/cspice/lread.c:595:4: note: use '==' to turn this assignment into an equality comparison
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                     ^
  ./cspice/src/cspice/lread.c:606:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                          ERR(l_C());
                          ^~~~~~~~~~
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                    ~^~~~
  ./cspice/src/cspice/lread.c:606:4: note: place parentheses around the assignment to silence this warning
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                     ^
  ./cspice/src/cspice/lread.c:606:4: note: use '==' to turn this assignment into an equality comparison
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                     ^
  ./cspice/src/cspice/lread.c:611:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                          ERR(l_L());
                          ^~~~~~~~~~
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                    ~^~~~
  ./cspice/src/cspice/lread.c:611:4: note: place parentheses around the assignment to silence this warning
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                     ^
  ./cspice/src/cspice/lread.c:611:4: note: use '==' to turn this assignment into an equality comparison
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                     ^
  ./cspice/src/cspice/lread.c:614:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                          ERR(l_CHAR());
                          ^~~~~~~~~~~~~
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                    ~^~~~
  ./cspice/src/cspice/lread.c:614:4: note: place parentheses around the assignment to silence this warning
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                     ^
  ./cspice/src/cspice/lread.c:614:4: note: use '==' to turn this assignment into an equality comparison
  ./cspice/src/cspice/lread.c:101:20: note: expanded from macro 'ERR'
  #define ERR(x) if(n=(x)) return(n)
                     ^
  ./cspice/src/cspice/lread.c:687:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n=c_le(a)) return(n);
             ~^~~~~~~~
  ./cspice/src/cspice/lread.c:687:6: note: place parentheses around the assignment to silence this warning
          if(n=c_le(a)) return(n);
              ^
             (        )
  ./cspice/src/cspice/lread.c:687:6: note: use '==' to turn this assignment into an equality comparison
          if(n=c_le(a)) return(n);
              ^
              ==
  10 warnings generated.
  ./cspice/src/cspice/lwrite.c:134:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                          while(b[0] = b[1])
                                ~~~~~^~~~~~
  ./cspice/src/cspice/lwrite.c:134:15: note: place parentheses around the assignment to silence this warning
                          while(b[0] = b[1])
                                     ^
                                (          )
  ./cspice/src/cspice/lwrite.c:134:15: note: use '==' to turn this assignment into an equality comparison
                          while(b[0] = b[1])
                                     ^
                                     ==
  ./cspice/src/cspice/lwrite.c:159:32: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                                  for(c1 = '.', c = 'E';  *b = c1;
                                                          ~~~^~~~
  ./cspice/src/cspice/lwrite.c:159:32: note: place parentheses around the assignment to silence this warning
                                  for(c1 = '.', c = 'E';  *b = c1;
                                                             ^
                                                          (      )
  ./cspice/src/cspice/lwrite.c:159:32: note: use '==' to turn this assignment into an equality comparison
                                  for(c1 = '.', c = 'E';  *b = c1;
                                                             ^
                                                             ==
  ./cspice/src/cspice/lwrite.c:183:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          while(c = *s++)
                ~~^~~~~~
  ./cspice/src/cspice/lwrite.c:183:10: note: place parentheses around the assignment to silence this warning
          while(c = *s++)
                  ^
                (       )
  ./cspice/src/cspice/lwrite.c:183:10: note: use '==' to turn this assignment into an equality comparison
          while(c = *s++)
                  ^
                  ==
  3 warnings generated.
  ./cspice/src/cspice/open.c:285:32: warning: format specifies type 'long' but the argument has type 'ftnint' (aka 'int') [-Wformat]
        sprintf(buf, "fort.%ld", a->ounit);
                           ~~~   ^~~~~~~~
                           %d
  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                         ^~~~~~~~~~~
  ./cspice/src/cspice/open.c:382:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        if (tf = fopen(buf,f__w_mode[0]))
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/open.c:382:14: note: place parentheses around the assignment to silence this warning
        if (tf = fopen(buf,f__w_mode[0]))
               ^
            (                           )
  ./cspice/src/cspice/open.c:382:14: note: use '==' to turn this assignment into an equality comparison
        if (tf = fopen(buf,f__w_mode[0]))
               ^
               ==
  ./cspice/src/cspice/open.c:392:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        if (tf = fopen(buf, f__r_mode[ufmt]))
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/open.c:392:14: note: place parentheses around the assignment to silence this warning
        if (tf = fopen(buf, f__r_mode[ufmt]))
               ^
            (                               )
  ./cspice/src/cspice/open.c:392:14: note: use '==' to turn this assignment into an equality comparison
        if (tf = fopen(buf, f__r_mode[ufmt]))
               ^
               ==
  ./cspice/src/cspice/open.c:394:19: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        else if (tf = fopen(buf, f__w_mode[ufmt])) {
                 ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/open.c:394:19: note: place parentheses around the assignment to silence this warning
        else if (tf = fopen(buf, f__w_mode[ufmt])) {
                    ^
                 (                               )
  ./cspice/src/cspice/open.c:394:19: note: use '==' to turn this assignment into an equality comparison
        else if (tf = fopen(buf, f__w_mode[ufmt])) {
                    ^
                    ==
  ./cspice/src/cspice/open.c:413:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
        else if ((s = a->oacc) && (*s == 'a' || *s == 'A')
        ^
  ./cspice/src/cspice/open.c:434:35: warning: format specifies type 'long' but the argument has type 'ftnint' (aka 'int') [-Wformat]
     (void) sprintf(nbuf,"fort.%ld",n);
                               ~~~  ^
                               %d
  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
    __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                         ^~~~~~~~~~~
  6 warnings generated.
  ./cspice/src/cspice/rdfmt.c:34:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                  while(ch = *s++)
                        ~~~^~~~~~
  ./cspice/src/cspice/rdfmt.c:34:12: note: place parentheses around the assignment to silence this warning
                  while(ch = *s++)
                           ^
                        (        )
  ./cspice/src/cspice/rdfmt.c:34:12: note: use '==' to turn this assignment into an equality comparison
                  while(ch = *s++)
                           ^
                           ==
  ./cspice/src/cspice/rdfmt.c:37:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                  while(ch = *s++)
                        ~~~^~~~~~
  ./cspice/src/cspice/rdfmt.c:37:12: note: place parentheses around the assignment to silence this warning
                  while(ch = *s++)
                           ^
                        (        )
  ./cspice/src/cspice/rdfmt.c:37:12: note: use '==' to turn this assignment into an equality comparison
                  while(ch = *s++)
                           ^
                           ==
  ./cspice/src/cspice/rdfmt.c:66:9: warning: operator '>>' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
          w2 = w1+1 >> 1;
               ~~^~ ~~
  ./cspice/src/cspice/rdfmt.c:66:9: note: place parentheses around the '+' expression to silence this warning
          w2 = w1+1 >> 1;
                 ^
               (   )
  ./cspice/src/cspice/rdfmt.c:88:23: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
                  *t = hex[*s0 & 0xff]-1 << 4 | hex[s0[1] & 0xff]-1;
                       ~~~~~~~~~~~~~~~^~ ~~
  ./cspice/src/cspice/rdfmt.c:88:23: note: place parentheses around the '-' expression to silence this warning
                  *t = hex[*s0 & 0xff]-1 << 4 | hex[s0[1] & 0xff]-1;
                                      ^
                       (                )
  4 warnings generated.
  ./cspice/src/cspice/rsfe.c:221:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
     if(n=c_sfe(a))
        ~^~~~~~~~~
  ./cspice/src/cspice/rsfe.c:221:8: note: place parentheses around the assignment to silence this warning
     if(n=c_sfe(a))
         ^
        (         )
  ./cspice/src/cspice/rsfe.c:221:8: note: use '==' to turn this assignment into an equality comparison
     if(n=c_sfe(a))
         ^
         ==
  1 warning generated.
  ./cspice/src/cspice/rsne.c:81:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          for(x = 0; c = *s++; x = x & 0x4000 ? ((x << 1) & 0x7fff) + 1 : x << 1)
                     ~~^~~~~~
  ./cspice/src/cspice/rsne.c:81:15: note: place parentheses around the assignment to silence this warning
          for(x = 0; c = *s++; x = x & 0x4000 ? ((x << 1) & 0x7fff) + 1 : x << 1)
                       ^
                     (       )
  ./cspice/src/cspice/rsne.c:81:15: note: use '==' to turn this assignment into an equality comparison
          for(x = 0; c = *s++; x = x & 0x4000 ? ((x << 1) & 0x7fff) + 1 : x << 1)
                       ^
                       ==
  ./cspice/src/cspice/rsne.c:102:23: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          for(x = &nl_cache; y = *x; x0 = x, x = &y->next)
                             ~~^~~~
  ./cspice/src/cspice/rsne.c:102:23: note: place parentheses around the assignment to silence this warning
          for(x = &nl_cache; y = *x; x0 = x, x = &y->next)
                               ^
                             (     )
  ./cspice/src/cspice/rsne.c:102:23: note: use '==' to turn this assignment into an equality comparison
          for(x = &nl_cache; y = *x; x0 = x, x = &y->next)
                               ^
                               ==
  ./cspice/src/cspice/rsne.c:154:42: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          for(s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; c = *s++; )
                                                ~~^~~~~~
  ./cspice/src/cspice/rsne.c:154:42: note: place parentheses around the assignment to silence this warning
          for(s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; c = *s++; )
                                                  ^
                                                (       )
  ./cspice/src/cspice/rsne.c:154:42: note: use '==' to turn this assignment into an equality comparison
          for(s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; c = *s++; )
                                                  ^
                                                  ==
  ./cspice/src/cspice/rsne.c:160:27: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          for(s = "0123456789_"; c = *s++; )
                                 ~~^~~~~~
  ./cspice/src/cspice/rsne.c:160:27: note: place parentheses around the assignment to silence this warning
          for(s = "0123456789_"; c = *s++; )
                                   ^
                                 (       )
  ./cspice/src/cspice/rsne.c:160:27: note: use '==' to turn this assignment into an equality comparison
          for(s = "0123456789_"; c = *s++; )
                                   ^
                                   ==
  ./cspice/src/cspice/rsne.c:183:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          while(*s = Alphanum[GETC(ch) & 0xff])
                ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/rsne.c:183:11: note: place parentheses around the assignment to silence this warning
          while(*s = Alphanum[GETC(ch) & 0xff])
                   ^
                (                             )
  ./cspice/src/cspice/rsne.c:183:11: note: use '==' to turn this assignment into an equality comparison
          while(*s = Alphanum[GETC(ch) & 0xff])
                   ^
                   ==
  ./cspice/src/cspice/rsne.c:238:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if (k = getnum(chp, x1))
              ~~^~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/rsne.c:238:8: note: place parentheses around the assignment to silence this warning
          if (k = getnum(chp, x1))
                ^
              (                  )
  ./cspice/src/cspice/rsne.c:238:8: note: use '==' to turn this assignment into an equality comparison
          if (k = getnum(chp, x1))
                ^
                ==
  ./cspice/src/cspice/rsne.c:242:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                  if (k = getnum(chp, &x2))
                      ~~^~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/rsne.c:242:9: note: place parentheses around the assignment to silence this warning
                  if (k = getnum(chp, &x2))
                        ^
                      (                   )
  ./cspice/src/cspice/rsne.c:242:9: note: use '==' to turn this assignment into an equality comparison
                  if (k = getnum(chp, &x2))
                        ^
                        ==
  ./cspice/src/cspice/rsne.c:246:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                          if (k = getnum(chp, &x3))
                              ~~^~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/rsne.c:246:10: note: place parentheses around the assignment to silence this warning
                          if (k = getnum(chp, &x3))
                                ^
                              (                   )
  ./cspice/src/cspice/rsne.c:246:10: note: use '==' to turn this assignment into an equality comparison
                          if (k = getnum(chp, &x3))
                                ^
                                ==
  ./cspice/src/cspice/rsne.c:343:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if (ch = getname(buf,sizeof(buf)))
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/rsne.c:343:9: note: place parentheses around the assignment to silence this warning
          if (ch = getname(buf,sizeof(buf)))
                 ^
              (                            )
  ./cspice/src/cspice/rsne.c:343:9: note: use '==' to turn this assignment into an equality comparison
          if (ch = getname(buf,sizeof(buf)))
                 ^
                 ==
  ./cspice/src/cspice/rsne.c:398:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                                  if (ch = getname(buf,sizeof(buf)))
                                      ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/rsne.c:398:12: note: place parentheses around the assignment to silence this warning
                                  if (ch = getname(buf,sizeof(buf)))
                                         ^
                                      (                            )
  ./cspice/src/cspice/rsne.c:398:12: note: use '==' to turn this assignment into an equality comparison
                                  if (ch = getname(buf,sizeof(buf)))
                                         ^
                                         ==
  ./cspice/src/cspice/rsne.c:422:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                                  if (k = getdimen(&ch, dn, (ftnlen)size,
                                      ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/rsne.c:422:11: note: place parentheses around the assignment to silence this warning
                                  if (k = getdimen(&ch, dn, (ftnlen)size,
                                        ^
                                      (
  ./cspice/src/cspice/rsne.c:422:11: note: use '==' to turn this assignment into an equality comparison
                                  if (k = getdimen(&ch, dn, (ftnlen)size,
                                        ^
                                        ==
  ./cspice/src/cspice/rsne.c:439:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                          if (k = getdimen(&ch, dn, size, nomax, &b))
                              ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/rsne.c:439:10: note: place parentheses around the assignment to silence this warning
                          if (k = getdimen(&ch, dn, size, nomax, &b))
                                ^
                              (                                     )
  ./cspice/src/cspice/rsne.c:439:10: note: use '==' to turn this assignment into an equality comparison
                          if (k = getdimen(&ch, dn, size, nomax, &b))
                                ^
                                ==
  ./cspice/src/cspice/rsne.c:450:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                                  if (k = getdimen(&ch, dn1, dn->delta**dims,
                                      ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/rsne.c:450:11: note: place parentheses around the assignment to silence this warning
                                  if (k = getdimen(&ch, dn1, dn->delta**dims,
                                        ^
                                      (
  ./cspice/src/cspice/rsne.c:450:11: note: use '==' to turn this assignment into an equality comparison
                                  if (k = getdimen(&ch, dn1, dn->delta**dims,
                                        ^
                                        ==
  ./cspice/src/cspice/rsne.c:470:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                                  if (k = getdimen(&ch, &substr, size, size, &b))
                                      ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/rsne.c:470:11: note: place parentheses around the assignment to silence this warning
                                  if (k = getdimen(&ch, &substr, size, size, &b))
                                        ^
                                      (                                         )
  ./cspice/src/cspice/rsne.c:470:11: note: use '==' to turn this assignment into an equality comparison
                                  if (k = getdimen(&ch, &substr, size, size, &b))
                                        ^
                                        ==
  ./cspice/src/cspice/rsne.c:505:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                  else if (dims = v->dims) {
                           ~~~~~^~~~~~~~~
  ./cspice/src/cspice/rsne.c:505:17: note: place parentheses around the assignment to silence this warning
                  else if (dims = v->dims) {
                                ^
                           (             )
  ./cspice/src/cspice/rsne.c:505:17: note: use '==' to turn this assignment into an equality comparison
                  else if (dims = v->dims) {
                                ^
                                ==
  ./cspice/src/cspice/rsne.c:525:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                          if (k = l_read(&no1, vaddr + iva, size, type))
                              ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/rsne.c:525:10: note: place parentheses around the assignment to silence this warning
                          if (k = l_read(&no1, vaddr + iva, size, type))
                                ^
                              (                                        )
  ./cspice/src/cspice/rsne.c:525:10: note: use '==' to turn this assignment into an equality comparison
                          if (k = l_read(&no1, vaddr + iva, size, type))
                                ^
                                ==
  ./cspice/src/cspice/rsne.c:536:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                                          if (k = l_read(&no1, vaddr + iva,
                                              ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./cspice/src/cspice/rsne.c:536:12: note: place parentheses around the assignment to silence this warning
                                          if (k = l_read(&no1, vaddr + iva,
                                                ^
                                              (
  ./cspice/src/cspice/rsne.c:536:12: note: use '==' to turn this assignment into an equality comparison
                                          if (k = l_read(&no1, vaddr + iva,
                                                ^
                                                ==
  ./cspice/src/cspice/rsne.c:546:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                                  else for(;;) {
                                  ^
  ./cspice/src/cspice/rsne.c:597:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n = c_le(a))
             ~~^~~~~~~~~
  ./cspice/src/cspice/rsne.c:597:7: note: place parentheses around the assignment to silence this warning
          if(n = c_le(a))
               ^
             (          )
  ./cspice/src/cspice/rsne.c:597:7: note: use '==' to turn this assignment into an equality comparison
          if(n = c_le(a))
               ^
               ==
  19 warnings generated.
  ./cspice/src/cspice/sgseqw.c:1992:13: warning: operator '<<' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
      nc = nd + (ni + 1) / 2 << 3;
           ~~~^~~~~~~~~~~~~~ ~~
  ./cspice/src/cspice/sgseqw.c:1992:13: note: place parentheses around the '+' expression to silence this warning
      nc = nd + (ni + 1) / 2 << 3;
              ^
           (                )
  ./cspice/src/cspice/sgseqw.c:2397:13: warning: operator '<<' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
      nc = nd + (ni + 1) / 2 << 3;
           ~~~^~~~~~~~~~~~~~ ~~
  ./cspice/src/cspice/sgseqw.c:2397:13: note: place parentheses around the '+' expression to silence this warning
      nc = nd + (ni + 1) / 2 << 3;
              ^
           (                )
  2 warnings generated.
  ./cspice/src/cspice/signal_.c:14:9: warning: cast to smaller integer type 'ftnint' (aka 'int') from 'void (*)(int)' [-Wpointer-to-int-cast]
          return (ftnint)signal(sig, proc);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~
  1 warning generated.
  ./cspice/src/cspice/sue.c:34:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n=c_sue(a)) return(n);
             ~^~~~~~~~~
  ./cspice/src/cspice/sue.c:34:6: note: place parentheses around the assignment to silence this warning
          if(n=c_sue(a)) return(n);
              ^
             (         )
  ./cspice/src/cspice/sue.c:34:6: note: use '==' to turn this assignment into an equality comparison
          if(n=c_sue(a)) return(n);
              ^
              ==
  ./cspice/src/cspice/sue.c:57:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n=c_sue(a)) return(n);
             ~^~~~~~~~~
  ./cspice/src/cspice/sue.c:57:6: note: place parentheses around the assignment to silence this warning
          if(n=c_sue(a)) return(n);
              ^
             (         )
  ./cspice/src/cspice/sue.c:57:6: note: use '==' to turn this assignment into an equality comparison
          if(n=c_sue(a)) return(n);
              ^
              ==
  2 warnings generated.
  ./cspice/src/cspice/tisbod.c:1276:55: warning: operator '<<' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
              moved_(tcoef, &c__200, &btcoef[(i__1 = (at * 100 + 1 << 1) - 202)
                                                      ~~~~~~~~~^~~ ~~
  ./cspice/src/cspice/tisbod.c:1276:55: note: place parentheses around the '+' expression to silence this warning
              moved_(tcoef, &c__200, &btcoef[(i__1 = (at * 100 + 1 << 1) - 202)
                                                               ^
                                                      (           )
  ./cspice/src/cspice/tisbod.c:1340:35: warning: operator '<<' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
              theta = (btcoef[(i__1 = (i__ + at * 100 << 1) - 202) < 31400 && 0
                                       ~~~~^~~~~~~~~~ ~~
  ./cspice/src/cspice/tisbod.c:1340:35: note: place parentheses around the '+' expression to silence this warning
              theta = (btcoef[(i__1 = (i__ + at * 100 << 1) - 202) < 31400 && 0
                                           ^
                                       (             )
  ./cspice/src/cspice/tisbod.c:1342:55: warning: operator '<<' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
                      ftnlen)1196)] + epoch / t * btcoef[(i__3 = (i__ + at *
                                                                  ~~~~^~~~~~
  ./cspice/src/cspice/tisbod.c:1342:55: note: place parentheses around the '+' expression to silence this warning
                      ftnlen)1196)] + epoch / t * btcoef[(i__3 = (i__ + at *
                                                                      ^
                                                                  (
  ./cspice/src/cspice/tisbod.c:1345:35: warning: operator '<<' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
              dtheta = btcoef[(i__1 = (i__ + at * 100 << 1) - 201) < 31400 && 0
                                       ~~~~^~~~~~~~~~ ~~
  ./cspice/src/cspice/tisbod.c:1345:35: note: place parentheses around the '+' expression to silence this warning
              dtheta = btcoef[(i__1 = (i__ + at * 100 << 1) - 201) < 31400 && 0
                                           ^
                                       (             )
  4 warnings generated.
  ./cspice/src/cspice/wref.c:131:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                          for(s -= 2, e1 = 2; s[0] = s[1]; s++)
                                              ~~~~~^~~~~~
  ./cspice/src/cspice/wref.c:131:29: note: place parentheses around the assignment to silence this warning
                          for(s -= 2, e1 = 2; s[0] = s[1]; s++)
                                                   ^
                                              (          )
  ./cspice/src/cspice/wref.c:131:29: note: use '==' to turn this assignment into an equality comparison
                          for(s -= 2, e1 = 2; s[0] = s[1]; s++)
                                                   ^
                                                   ==
  ./cspice/src/cspice/wref.c:221:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if (n = f__scale)
              ~~^~~~~~~~~~
  ./cspice/src/cspice/wref.c:221:8: note: place parentheses around the assignment to silence this warning
          if (n = f__scale)
                ^
              (           )
  ./cspice/src/cspice/wref.c:221:8: note: use '==' to turn this assignment into an equality comparison
          if (n = f__scale)
                ^
                ==
  ./cspice/src/cspice/wref.c:224:3: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                  else
                  ^
  ./cspice/src/cspice/wref.c:271:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          while(n = *b++)
                ~~^~~~~~
  ./cspice/src/cspice/wref.c:271:10: note: place parentheses around the assignment to silence this warning
          while(n = *b++)
                  ^
                (       )
  ./cspice/src/cspice/wref.c:271:10: note: use '==' to turn this assignment into an equality comparison
          while(n = *b++)
                  ^
                  ==
  4 warnings generated.
  ./cspice/src/cspice/wsfe.c:53:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n=c_sfe(a)) return(n);
             ~^~~~~~~~~
  ./cspice/src/cspice/wsfe.c:53:6: note: place parentheses around the assignment to silence this warning
          if(n=c_sfe(a)) return(n);
              ^
             (         )
  ./cspice/src/cspice/wsfe.c:53:6: note: use '==' to turn this assignment into an equality comparison
          if(n=c_sfe(a)) return(n);
              ^
              ==
  1 warning generated.
  ./cspice/src/cspice/wsle.c:14:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n=c_le(a)) return(n);
             ~^~~~~~~~
  ./cspice/src/cspice/wsle.c:14:6: note: place parentheses around the assignment to silence this warning
          if(n=c_le(a)) return(n);
              ^
             (        )
  ./cspice/src/cspice/wsle.c:14:6: note: use '==' to turn this assignment into an equality comparison
          if(n=c_le(a)) return(n);
              ^
              ==
  1 warning generated.
  ./cspice/src/cspice/wsne.c:14:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
          if(n=c_le(a))
             ~^~~~~~~~
  ./cspice/src/cspice/wsne.c:14:6: note: place parentheses around the assignment to silence this warning
          if(n=c_le(a))
              ^
             (        )
  ./cspice/src/cspice/wsne.c:14:6: note: use '==' to turn this assignment into an equality comparison
          if(n=c_le(a))
              ^
              ==
  1 warning generated.
  ./cspice/src/cspice/zzdafgsr.c:669:23: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              cindex = (dindex - 1 << 3) + 1;
                        ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzdafgsr.c:669:23: note: place parentheses around the '-' expression to silence this warning
              cindex = (dindex - 1 << 3) + 1;
                               ^
                        (         )
  ./cspice/src/cspice/zzdafgsr.c:710:21: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
                  left = 256 - (i__ - 1 << 1) * sumsiz - (*nd << 1) - 6;
                                ~~~~^~~ ~~
  ./cspice/src/cspice/zzdafgsr.c:710:21: note: place parentheses around the '-' expression to silence this warning
                  left = 256 - (i__ - 1 << 1) * sumsiz - (*nd << 1) - 6;
                                    ^
                                (      )
  2 warnings generated.
  ./cspice/src/cspice/zzekbs01.c:1166:16: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          nambas = (i__ - 1 << 5) + 64 - (cpagno - 1 << 10);
                    ~~~~^~~ ~~
  ./cspice/src/cspice/zzekbs01.c:1166:16: note: place parentheses around the '-' expression to silence this warning
          nambas = (i__ - 1 << 5) + 64 - (cpagno - 1 << 10);
                        ^
                    (      )
  ./cspice/src/cspice/zzekbs01.c:1166:41: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          nambas = (i__ - 1 << 5) + 64 - (cpagno - 1 << 10);
                                          ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekbs01.c:1166:41: note: place parentheses around the '-' expression to silence this warning
          nambas = (i__ - 1 << 5) + 64 - (cpagno - 1 << 10);
                                                 ^
                                          (         )
  ./cspice/src/cspice/zzekbs01.c:1174:45: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              cdscrs[i__ * 11 - 7] = cbase + (cpagno - 1 << 10) + nambas;
                                              ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekbs01.c:1174:45: note: place parentheses around the '-' expression to silence this warning
              cdscrs[i__ * 11 - 7] = cbase + (cpagno - 1 << 10) + nambas;
                                                     ^
                                              (         )
  ./cspice/src/cspice/zzekbs01.c:1183:42: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
                  cdscrs[i__ * 11 - 7] = cbase + (cpagno - 1 << 10) + nambas;
                                                  ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekbs01.c:1183:42: note: place parentheses around the '-' expression to silence this warning
                  cdscrs[i__ * 11 - 7] = cbase + (cpagno - 1 << 10) + nambas;
                                                         ^
                                                  (         )
  ./cspice/src/cspice/zzekbs01.c:1218:41: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          dscbas = (i__ - 1) * 11 + 24 - (ipagno - 1 << 8);
                                          ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekbs01.c:1218:41: note: place parentheses around the '-' expression to silence this warning
          dscbas = (i__ - 1) * 11 + 24 - (ipagno - 1 << 8);
                                                 ^
                                          (         )
  5 warnings generated.
  ./cspice/src/cspice/zzekbs02.c:1166:16: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          nambas = (i__ - 1 << 5) + 64 - (cpagno - 1 << 10);
                    ~~~~^~~ ~~
  ./cspice/src/cspice/zzekbs02.c:1166:16: note: place parentheses around the '-' expression to silence this warning
          nambas = (i__ - 1 << 5) + 64 - (cpagno - 1 << 10);
                        ^
                    (      )
  ./cspice/src/cspice/zzekbs02.c:1166:41: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          nambas = (i__ - 1 << 5) + 64 - (cpagno - 1 << 10);
                                          ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekbs02.c:1166:41: note: place parentheses around the '-' expression to silence this warning
          nambas = (i__ - 1 << 5) + 64 - (cpagno - 1 << 10);
                                                 ^
                                          (         )
  ./cspice/src/cspice/zzekbs02.c:1174:45: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              cdscrs[i__ * 11 - 7] = cbase + (cpagno - 1 << 10) + nambas;
                                              ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekbs02.c:1174:45: note: place parentheses around the '-' expression to silence this warning
              cdscrs[i__ * 11 - 7] = cbase + (cpagno - 1 << 10) + nambas;
                                                     ^
                                              (         )
  ./cspice/src/cspice/zzekbs02.c:1183:42: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
                  cdscrs[i__ * 11 - 7] = cbase + (cpagno - 1 << 10) + nambas;
                                                  ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekbs02.c:1183:42: note: place parentheses around the '-' expression to silence this warning
                  cdscrs[i__ * 11 - 7] = cbase + (cpagno - 1 << 10) + nambas;
                                                         ^
                                                  (         )
  ./cspice/src/cspice/zzekbs02.c:1206:41: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          dscbas = (i__ - 1) * 11 + 24 - (ipagno - 1 << 8);
                                          ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekbs02.c:1206:41: note: place parentheses around the '-' expression to silence this warning
          dscbas = (i__ - 1) * 11 + 24 - (ipagno - 1 << 8);
                                                 ^
                                          (         )
  5 warnings generated.
  ./cspice/src/cspice/zzekjoin.c:889:32: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          offset = nsv1 * nt1 + 4 + (s1 - 1 << 1) + 1;
                                     ~~~^~~ ~~
  ./cspice/src/cspice/zzekjoin.c:889:32: note: place parentheses around the '-' expression to silence this warning
          offset = nsv1 * nt1 + 4 + (s1 - 1 << 1) + 1;
                                        ^
                                     (     )
  ./cspice/src/cspice/zzekjoin.c:923:36: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              offset = nsv2 * nt2 + 4 + (s2 - 1 << 1) + 1;
                                         ~~~^~~ ~~
  ./cspice/src/cspice/zzekjoin.c:923:36: note: place parentheses around the '-' expression to silence this warning
              offset = nsv2 * nt2 + 4 + (s2 - 1 << 1) + 1;
                                            ^
                                         (     )
  ./cspice/src/cspice/zzekjoin.c:951:36: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              offset = nsv3 * nt3 + 4 + (s3 - 1 << 1) + 1;
                                         ~~~^~~ ~~
  ./cspice/src/cspice/zzekjoin.c:951:36: note: place parentheses around the '-' expression to silence this warning
              offset = nsv3 * nt3 + 4 + (s3 - 1 << 1) + 1;
                                            ^
                                         (     )
  ./cspice/src/cspice/zzekjoin.c:982:36: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              offset = nsv3 * nt3 + 4 + (s3 - 1 << 1) + 2;
                                         ~~~^~~ ~~
  ./cspice/src/cspice/zzekjoin.c:982:36: note: place parentheses around the '-' expression to silence this warning
              offset = nsv3 * nt3 + 4 + (s3 - 1 << 1) + 2;
                                            ^
                                         (     )
  4 warnings generated.
  ./cspice/src/cspice/zzekjsqz.c:428:45: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          cntloc = *jrsbas + 4 + nsv * svsize + (i__ - 1 << 1) + 2;
                                                 ~~~~^~~ ~~
  ./cspice/src/cspice/zzekjsqz.c:428:45: note: place parentheses around the '-' expression to silence this warning
          cntloc = *jrsbas + 4 + nsv * svsize + (i__ - 1 << 1) + 2;
                                                     ^
                                                 (      )
  ./cspice/src/cspice/zzekjsqz.c:500:49: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              cntloc = *jrsbas + 4 + nsv * svsize + (i__ - 1 << 1) + 2;
                                                     ~~~~^~~ ~~
  ./cspice/src/cspice/zzekjsqz.c:500:49: note: place parentheses around the '-' expression to silence this warning
              cntloc = *jrsbas + 4 + nsv * svsize + (i__ - 1 << 1) + 2;
                                                         ^
                                                     (      )
  ./cspice/src/cspice/zzekjsqz.c:545:48: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          cntloc = *jrsbas + 4 + newnsv * svsize + (i__ - 1 << 1) + 2;
                                                    ~~~~^~~ ~~
  ./cspice/src/cspice/zzekjsqz.c:545:48: note: place parentheses around the '-' expression to silence this warning
          cntloc = *jrsbas + 4 + newnsv * svsize + (i__ - 1 << 1) + 2;
                                                        ^
                                                    (      )
  ./cspice/src/cspice/zzekjsqz.c:606:48: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          cntloc = *jrsbas + 4 + newnsv * svsize + (i__ - 1 << 1) + 2;
                                                    ~~~~^~~ ~~
  ./cspice/src/cspice/zzekjsqz.c:606:48: note: place parentheses around the '-' expression to silence this warning
          cntloc = *jrsbas + 4 + newnsv * svsize + (i__ - 1 << 1) + 2;
                                                        ^
                                                    (      )
  4 warnings generated.
  ./cspice/src/cspice/zzekjtst.c:1915:35: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              addrss = lbase + 7 + (lrvidx - 1 << 1) + 1;
                                    ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekjtst.c:1915:35: note: place parentheses around the '-' expression to silence this warning
              addrss = lbase + 7 + (lrvidx - 1 << 1) + 1;
                                           ^
                                    (         )
  ./cspice/src/cspice/zzekjtst.c:1917:35: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              addrss = rbase + 7 + (rrvidx - 1 << 1) + 1;
                                    ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekjtst.c:1917:35: note: place parentheses around the '-' expression to silence this warning
              addrss = rbase + 7 + (rrvidx - 1 << 1) + 1;
                                           ^
                                    (         )
  ./cspice/src/cspice/zzekjtst.c:2079:35: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              addrss = lbase + 7 + (lrvidx - 1 << 1) + 1;
                                    ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekjtst.c:2079:35: note: place parentheses around the '-' expression to silence this warning
              addrss = lbase + 7 + (lrvidx - 1 << 1) + 1;
                                           ^
                                    (         )
  ./cspice/src/cspice/zzekjtst.c:2081:35: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              addrss = rbase + 7 + (rrvidx - 1 << 1) + 1;
                                    ~~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekjtst.c:2081:35: note: place parentheses around the '-' expression to silence this warning
              addrss = rbase + 7 + (rrvidx - 1 << 1) + 1;
                                           ^
                                    (         )
  4 warnings generated.
  ./cspice/src/cspice/zzeknres.c:810:14: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
                  base = ((j - 1 << 1) + 1) * 6 + 19;
                           ~~^~~ ~~
  ./cspice/src/cspice/zzeknres.c:810:14: note: place parentheses around the '-' expression to silence this warning
                  base = ((j - 1 << 1) + 1) * 6 + 19;
                             ^
                           (    )
  ./cspice/src/cspice/zzeknres.c:837:16: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
                  base = ((i__ - 1 << 1) + 1) * 6 + 19;
                           ~~~~^~~ ~~
  ./cspice/src/cspice/zzeknres.c:837:16: note: place parentheses around the '-' expression to silence this warning
                  base = ((i__ - 1 << 1) + 1) * 6 + 19;
                               ^
                           (      )
  2 warnings generated.
  ./cspice/src/cspice/zzekpage.c:982:22: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              addr__ = (freec - 1 << 10) + 1;
                        ~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:982:22: note: place parentheses around the '-' expression to silence this warning
              addr__ = (freec - 1 << 10) + 1;
                              ^
                        (        )
  ./cspice/src/cspice/zzekpage.c:998:17: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              *base = *p - 1 << 10;
                      ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:998:17: note: place parentheses around the '-' expression to silence this warning
              *base = *p - 1 << 10;
                         ^
                      (     )
  ./cspice/src/cspice/zzekpage.c:1031:22: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              addr__ = (freed - 1 << 7) + 1;
                        ~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:1031:22: note: place parentheses around the '-' expression to silence this warning
              addr__ = (freed - 1 << 7) + 1;
                              ^
                        (        )
  ./cspice/src/cspice/zzekpage.c:1045:17: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              *base = *p - 1 << 7;
                      ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:1045:17: note: place parentheses around the '-' expression to silence this warning
              *base = *p - 1 << 7;
                         ^
                      (     )
  ./cspice/src/cspice/zzekpage.c:1078:22: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              addr__ = (freei - 1 << 8) + 257;
                        ~~~~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:1078:22: note: place parentheses around the '-' expression to silence this warning
              addr__ = (freei - 1 << 8) + 257;
                              ^
                        (        )
  ./cspice/src/cspice/zzekpage.c:1091:18: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              *base = (*p - 1 << 8) + 256;
                       ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:1091:18: note: place parentheses around the '-' expression to silence this warning
              *base = (*p - 1 << 8) + 256;
                          ^
                       (     )
  ./cspice/src/cspice/zzekpage.c:1272:15: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          addr__ = (*p - 1 << 10) + 1;
                    ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:1272:15: note: place parentheses around the '-' expression to silence this warning
          addr__ = (*p - 1 << 10) + 1;
                       ^
                    (     )
  ./cspice/src/cspice/zzekpage.c:1305:15: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          addr__ = (*p - 1 << 7) + 1;
                    ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:1305:15: note: place parentheses around the '-' expression to silence this warning
          addr__ = (*p - 1 << 7) + 1;
                       ^
                    (     )
  ./cspice/src/cspice/zzekpage.c:1338:15: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          addr__ = (*p - 1 << 8) + 257;
                    ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:1338:15: note: place parentheses around the '-' expression to silence this warning
          addr__ = (*p - 1 << 8) + 257;
                       ^
                    (     )
  ./cspice/src/cspice/zzekpage.c:1495:18: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
      addr__ = (*p - 1 << 10) + 1;
                ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:1495:18: note: place parentheses around the '-' expression to silence this warning
      addr__ = (*p - 1 << 10) + 1;
                   ^
                (     )
  ./cspice/src/cspice/zzekpage.c:1636:18: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
      addr__ = (*p - 1 << 7) + 1;
                ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:1636:18: note: place parentheses around the '-' expression to silence this warning
      addr__ = (*p - 1 << 7) + 1;
                   ^
                (     )
  ./cspice/src/cspice/zzekpage.c:1773:18: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
      addr__ = (*p - 1 << 8) + 257;
                ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:1773:18: note: place parentheses around the '-' expression to silence this warning
      addr__ = (*p - 1 << 8) + 257;
                   ^
                (     )
  ./cspice/src/cspice/zzekpage.c:1935:18: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
      addr__ = (*p - 1 << 10) + 1;
                ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:1935:18: note: place parentheses around the '-' expression to silence this warning
      addr__ = (*p - 1 << 10) + 1;
                   ^
                (     )
  ./cspice/src/cspice/zzekpage.c:2085:18: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
      addr__ = (*p - 1 << 7) + 1;
                ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:2085:18: note: place parentheses around the '-' expression to silence this warning
      addr__ = (*p - 1 << 7) + 1;
                   ^
                (     )
  ./cspice/src/cspice/zzekpage.c:2234:18: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
      addr__ = (*p - 1 << 8) + 257;
                ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:2234:18: note: place parentheses around the '-' expression to silence this warning
      addr__ = (*p - 1 << 8) + 257;
                   ^
                (     )
  ./cspice/src/cspice/zzekpage.c:2356:13: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          *base = *p - 1 << 10;
                  ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:2356:13: note: place parentheses around the '-' expression to silence this warning
          *base = *p - 1 << 10;
                     ^
                  (     )
  ./cspice/src/cspice/zzekpage.c:2358:13: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          *base = *p - 1 << 7;
                  ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:2358:13: note: place parentheses around the '-' expression to silence this warning
          *base = *p - 1 << 7;
                     ^
                  (     )
  ./cspice/src/cspice/zzekpage.c:2360:14: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          *base = (*p - 1 << 8) + 256;
                   ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:2360:14: note: place parentheses around the '-' expression to silence this warning
          *base = (*p - 1 << 8) + 256;
                      ^
                   (     )
  ./cspice/src/cspice/zzekpage.c:2495:13: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          *base = *p - 1 << 10;
                  ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:2495:13: note: place parentheses around the '-' expression to silence this warning
          *base = *p - 1 << 10;
                     ^
                  (     )
  ./cspice/src/cspice/zzekpage.c:2498:13: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          *base = *p - 1 << 7;
                  ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:2498:13: note: place parentheses around the '-' expression to silence this warning
          *base = *p - 1 << 7;
                     ^
                  (     )
  ./cspice/src/cspice/zzekpage.c:2501:14: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
          *base = (*p - 1 << 8) + 256;
                   ~~~^~~ ~~
  ./cspice/src/cspice/zzekpage.c:2501:14: note: place parentheses around the '-' expression to silence this warning
          *base = (*p - 1 << 8) + 256;
                      ^
                   (     )
  21 warnings generated.
  ./cspice/src/cspice/zzekweed.c:469:58: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
              base = bases[cand - 1] + 4 + ncndsv * svsize + (csv - 1 << 1);
                                                              ~~~~^~~ ~~
  ./cspice/src/cspice/zzekweed.c:469:58: note: place parentheses around the '-' expression to silence this warning
              base = bases[cand - 1] + 4 + ncndsv * svsize + (csv - 1 << 1);
                                                                  ^
                                                              (      )
  ./cspice/src/cspice/zzekweed.c:516:56: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
                          base = bases[pred - 1] + 4 + nprdsv * svsize + (psv -
                                                                          ~~~~^
  ./cspice/src/cspice/zzekweed.c:516:56: note: place parentheses around the '-' expression to silence this warning
                          base = bases[pred - 1] + 4 + nprdsv * svsize + (psv -
                                                                              ^
                                                                          (
  2 warnings generated.
  /var/folders/kn/ntp_0cf90h933jsqr2zq7l_00000gn/T/cspice_spiceypy_jao5akfe/libcspice.so
  Copying built cspice: /var/folders/kn/ntp_0cf90h933jsqr2zq7l_00000gn/T/cspice_spiceypy_jao5akfe/libcspice.so to /private/var/folders/kn/ntp_0cf90h933jsqr2zq7l_00000gn/T/pip-req-build-nm4oqkxy/spiceypy/utils/libcspice.so
  Done!
  error: package directory 'spiceypy' does not exist
  ----------------------------------------
  ERROR: Failed building wheel for spiceypy
  Running setup.py clean for spiceypy
Failed to build spiceypy
Installing collected packages: spiceypy
    Running setup.py install for spiceypy: started
    Running setup.py install for spiceypy: finished with status 'done'
  DEPRECATION: spiceypy was installed using the legacy 'setup.py install' method, because a wheel could not be built for it. A possible replacement is to fix the wheel build issue reported above. You can find discussion regarding this at https://github.com/pypa/pip/issues/8368.
Successfully installed spiceypy-4.0.2

Code of Conduct

AndrewAnnex commented 3 years ago

To update the above, I have created a new PR for my project in which I switch over to using a src layout and setup.cfg removing most of what I do in setup.py but the issue persists https://github.com/AndrewAnnex/SpiceyPy/pull/428

AndrewAnnex commented 3 years ago

Okay while I have not been able to directly create a breakpoint in setuptools to debug the issue which would have solved it much faster, I worked out that I had a chdir command I wasn't undoing in my setup.py that threw off pip/setuptools. I'm closing this issue.