[Debian-med-packaging] Bug#937262: Help with scons needed (Was: Help needed (Was: pdb2pqr: Python2 removal in sid/bullseye))

Andreas Tille andreas at an3as.eu
Fri Dec 13 08:49:47 GMT 2019


Hi Scott,

On Thu, Dec 12, 2019 at 04:34:09PM -0500, Scott Talbert wrote:
> On Thu, 12 Dec 2019, Andreas Tille wrote:
> > mkdir -p /build/pdb2pqr-2.1.1+dfsg/debian/tmp/usr/share/pdb2pqr
> > scons \
> >        URL="http://localhost/pdb2pqr/" \
> >        PREFIX="/build/pdb2pqr-2.1.1+dfsg/debian/tmp/usr/share/pdb2pqr"
> > scons: Reading SConscript files ...
> > not using opal
> > scons: done reading SConscript files.
> > scons: Building targets ...
> > CopySubAction("pdb2pqr.py", "pdb2pqr.py.in")
> > scons: *** [pdb2pqr.py] Can't write target file pdb2pqr.py
> > scons: building terminated because of errors.
> 
> I think you need to change the other open() call in that function to write
> in text mode also.

Thanks a lot for your patience and your always helpful hints.  After
changing this and some other issues with the C++ code I was (hopefully)
able to solve myself[1] I'm facing the next stumbling stone which is
most probably easy to solve for someone more experienced than me:


...
scons \
        URL="http://localhost/pdb2pqr/" \
        PREFIX="/usr/share/pdb2pqr"
scons: Reading SConscript files ...
not using opal 
scons: done reading SConscript files.
scons: Building targets ...
CopySubAction("pdb2pqr.py", "pdb2pqr.py.in")
Chmod("pdb2pqr.py", 0755)
CopySubAction("apbs_cgi.cgi", "apbs_cgi.py")
Chmod("apbs_cgi.cgi", 0755)
CopySubAction("visualize.cgi", "visualize.py")
Chmod("visualize.cgi", 0755)
CopySubAction("querystatus.cgi", "querystatus.py")
Chmod("querystatus.cgi", 0755)
CopySubAction("src/aconf.py", "src/aconf.py.in")
CopySubAction("html/server.html", "html/server.html.in")
Copy("pdb2pqr.cgi", "pdb2pqr.py")
g++ -o pdb2pka/substruct/Algorithms.os -c -g -fPIC -I/usr/include/python3.7m -I/usr/lib/python3/dist-packages/numpy/core/include pdb2pka/substruct/Algorithms.cpp
In file included from /usr/include/python3.7m/numpy/ndarraytypes.h:1830,
                 from /usr/include/python3.7m/numpy/ndarrayobject.h:12,
                 from /usr/include/python3.7m/numpy/arrayobject.h:4,
                 from pdb2pka/substruct/Algorithms.cpp:43:
/usr/include/python3.7m/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
   17 | #warning "Using deprecated NumPy API, disable it with " \
      |  ^~~~~~~
pdb2pka/substruct/Algorithms.cpp: In function 'PyObject* initAlgorithms()':
pdb2pka/substruct/Algorithms.cpp:333:1: warning: control reaches end of non-void function [-Wreturn-type]
  333 | };
      | ^
g++ -o pdb2pka/substruct/Algorithms.cpython-37m-x86_64-linux-gnu.so -Wl,-z,relro -Wl,-z,now -shared pdb2pka/substruct/Algorithms.os -L/usr/lib -lpython3.7
/usr/bin/ld: cannot find -lpython3.7
collect2: error: ld returned 1 exit status
scons: *** [pdb2pka/substruct/Algorithms.cpython-37m-x86_64-linux-gnu.so] Error 1
scons: building terminated because of errors.

TARGETS: ['pdb2pqr.py', 'apbs_cgi.cgi', 'visualize.cgi', 'querystatus.cgi', 'src/aconf.py', 'html/server.html', 'pdb2pqr.cgi', 'pdb2pka/substruct/Algorithms.cpython-37m-x86_64-linux-gnu.so', 'pdb2pka/_pMC_mult.cpython-37m-x86_64-linux-gnu.so']

========================
Configuration Parameters
========================

Version: 2.1.1
Install directory: /usr/share/pdb2pqr/
pdb2pka and ligand support: True
Path to the website directory: http://localhost/pdb2pqr/
PDB2PQR jobs run via the web interface will be forked on the server.

The preferred way to configure the build is by editing the file build_config.py

Run scons with the python3 that you intend to use with pdb2pqr.
For example: "scons" will setup pdb2pqr to be run with Debian default Python3 interpreter

Run "scons install" to install pdb2pqr in /usr/share/pdb2pqr/

Run "scons basic-test" for a basic functionality test
Run "scons advanced-test" for a single test of ligand and PROPKA support. Requires numpy and PDB2PKA support compiled.
Run "scons complete-test" for a complete test of all functionality EXCEPT PDB2PKA. Requires numpy and PDB2PKA support compiled.
Run "scons pdb2pka-test" for a test of PDB2PKA functionality.
    Requires numpy, PDB2PKA support compiled AND the APBS python3 libraries compiled and installed in the pdb2pka directory.

To setup a web service create a symbolic link to /usr/share/pdb2pqr/ that enables you to view http://localhost/pdb2pqr/ after running "scons install"

Run "scons msvs" to build Visual Studio projects for the Algorithms and pMC_mult modules.
VS project generation is not well supported in scons. Resulting projects should build using NMAKE but cannot be used for debugging.
The resulting projects will need to modified to use VS natively to compile the code or debug.

FAILED!!!!
Failed building pdb2pka/substruct/Algorithms.cpython-37m-x86_64-linux-gnu.so: Error 1
...


So how can I enable proper linking to -lpython3.7 which is obviously not
in the library search path (but package libpython3.7 is definitely
installed in the pbuilder chroot).

Any further hint?

Kind regards and thanks again for all your help

     Andreas.


[1] https://salsa.debian.org/med-team/pdb2pqr/commit/2497134056ff92e64a5953e1b8dea3179d5aa377
 
-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list