[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [IMP-dev] NBL cleanup and other small patches



Daniel Russel wrote:
...
The second patches the init file as above. It also adds an argument extraroot which adds to the include search path and the lib path (and to the runtime link path since it is needed to make the boost tests pass currently).

I can't apply this patch because it would break builds for everything except gcc and Python 2.5 on Linux. But I can certainly put in an equivalent feature which works everywhere if you can briefly explain the use case.

Also, as a general point, the SConscript files which build things should all be changed to add the local include and lib paths to the front so that local headers mask globally installed headers.

I'm 95% sure the include path search order is compiler-dependent, so this probably would only have the desired effect for gcc, but I agree that it's a good statement of intent if nothing else.

The fifth adds set_particles to the the list restraint I added before (this is independent of anything else).

Wouldn't compile for me:
kernel/include/IMP/restraints/SingletonListRestraint.h:41: error: no members matching 'using IMP::Restraint::set_particles' in 'class IMP::Restraint'

As regards the nonbonded list, we cannot include CGAL in the kernel since it restricts the use of IMP to that of the QPL license. I certainly agree that CGAL has some useful features which we may want to use in IMP - but it cannot go in the kernel. Thus, it should go in an extension module. This appears to preclude use of the current patch, since Algorithm is an enum - I guess either Algorithm needs to become a class, or a CGAL_NBL class (in a module) can derive from a base NBL class (in the kernel). At the Python level it is easy to fall back from CGAL_NBL to regular NBL at runtime if the extension module is not available - just wrap the import in a try block.

	Ben
--
                      http://salilab.org/~ben/
"It is a capital mistake to theorize before one has data."
	- Sir Arthur Conan Doyle