Dear Matthew,
I do not think the failure in the tests (which is most likely harmless)
is related to the problem you are having with the SDWriter. I believe
you may use the 2018.03.1 release in spite of those two test failures.
I believe the reason why the SDWriter is failing is that you are
attempting to write a None object.
See example below:
>>> from rdkit import Chem
>>> import sys
>>> w = Chem.SDWriter(sys.stdout)
>>> mol = None
>>> w.write(mol)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
Boost.Python.ArgumentError: Python argument types in
SDWriter.write(SDWriter, NoneType)
did not match C++ signature:
write(RDKit::SDWriter {lvalue} self, RDKit::ROMol {lvalue} mol, int
confId=-1)
>>> mol = Chem.MolFromSmiles('C')
>>> w.write(mol)
>>> w.close()
RDKit 2D
1 0 0 0 0 0 0 0 0 0999 V2000
0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
M END
$$$$
>>>
HTH, cheers
p.
On 05/17/18 15:52, Matthew Lardy wrote:
Hi all,
I've been fighting this again with the 2017_09_1 and the 2018_03_1
builds. Both fail to pass all of the tests and for neither does the
python wrapper work at all (Java Wrappers work fine). Here is the
2017_09_1 test results:
99% tests passed, 1 tests failed out of 164
Total Test time (real) = 411.95 sec
The following tests FAILED:
163 - pythonTestDirChem (Failed)
Errors while running CTest
make: *** [test] Error 8
And when you use the the python wrapper this is what you get:
Boost.Python.ArgumentError: Python argument types in
SDWriter.write(SDWriter, NoneType)
did not match C++ signature:
write(RDKit::SDWriter {lvalue} self, RDKit::ROMol {lvalue} mol,
int confId=-1)
So, it is unusable. Here are the 2018_03_1 test results:
99% tests passed, 2 tests failed out of 167
Total Test time (real) = 475.07 sec
The following tests FAILED:
138 - JavaDistanceGeometryTests (Failed)
166 - pythonTestDirChem (Failed)
Errors while running CTest
make: *** [test] Error 8
Same version of boost (1.59.0) and swig (3.0.12) with more errors?
Again the python wrapper field test:
Boost.Python.ArgumentError: Python argument types in
SDWriter.write(SDWriter, NoneType)
did not match C++ signature:
write(RDKit::SDWriter {lvalue} self, RDKit::ROMol {lvalue} mol,
int confId=-1)
I have never seen these issues from RDKit and have no idea what's
going on. This is a build on a clean machine (CentOS 7) with Boost
1.59, CMake 3.0.11, and Swig 3.0.12. If anyone has seen this before
and fixed it, please let me know what you did! Until then I am
falling back to RDKit 2016 as that built without issues.
Thanks in advance!
Matt
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss