mittinatten / freesasa

C-library for calculating Solvent Accessible Surface Areas
http://freesasa.github.io/
MIT License
105 stars 37 forks source link

Compile Error on PIP #45

Closed Gab0 closed 4 years ago

Gab0 commented 4 years ago

Hello,

Running $pip install freesasa fails with this error:

    freesasa.c: In function ‘__Pyx_PyCFunction_FastCall’:
    freesasa.c:13555:13: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))meth’
         return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs, NULL);
                ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    freesasa.c: In function ‘__Pyx_PyObject_AsStringAndSize’:
    freesasa.c:15576:20: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
                 return PyUnicode_AsUTF8(o);
                        ^~~~~~~~~~~~~~~~~~~
    error: command 'gcc' failed with exit status 1
    ----------------------------------------

I can clone the repo and compile with bare ./configure just fine though, but I guess in my manual compilation the python bindings are ignored?

I'm running python 3.7 and pip 19.3 here, thanks!

mittinatten commented 4 years ago

Hi, That’s right, the python bindings are not part of the regular build. I just recently added a source package for 3.7, so haven’t seen this before. I will try to reproduce your problem during the weekend. I assume you are on Linux, since you are building from source?

Simon

fre 18 okt. 2019 kl. 04:43 skrev Gabriel Araujo notifications@github.com:

Hello,

Running $pip install freesasa fails with this error:

freesasa.c: In function ‘__Pyx_PyCFunction_FastCall’:

freesasa.c:13555:13: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))meth’

     return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs, NULL);

            ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

freesasa.c: In function ‘__Pyx_PyObject_AsStringAndSize’:

freesasa.c:15576:20: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]

             return PyUnicode_AsUTF8(o);

                    ^~~~~~~~~~~~~~~~~~~

error: command 'gcc' failed with exit status 1

----------------------------------------

I can clone the repo and compile with bare ./configure just fine though, but I guess in my manual compilation the python bindings are ignored?

I'm running python 3.7 and pip 19.3 here, thanks!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mittinatten/freesasa/issues/45?email_source=notifications&email_token=AAVV4HHYASYOPE45FZCS7NDQPEPFXA5CNFSM4JCB2IM2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HST77OA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAVV4HATUCZIJQ325V7UGM3QPEPFXANCNFSM4JCB2IMQ .

Gab0 commented 4 years ago

Hi Simon,

Yes, I'm using a recent Linux with gcc 8.3.0...

If there's a way to build manually with python bindings, that would work for me. But when running ./configure --enable-python-bindings it says "that flag doesn't exist".

Thanks.

mittinatten commented 4 years ago

Hi again, Didn't get a chance to look at it yet, but if you want to experiment with building directly from the source package in the mean time, the Python bindings have moved to https://github.com/freesasa/freesasa-python. It's been a while since the --enable-python-bindings option was removed.

Gab0 commented 4 years ago

Thanks, that one compiled perfectly. I'll try to find out what is happening on the pipy package and come up with a fix, packages with unusual setups and C code tend to be... complicated there.

mittinatten commented 4 years ago

Good to hear! Let me know what you find out. These bindings is the only Python I ever wrote, so any input is appreciated!

mittinatten commented 4 years ago

See https://github.com/freesasa/freesasa-python/issues/4#issuecomment-548067586