Re: [Rdkit-devel] [Rdkit-discuss] RDKit packaging issues
Open-Source Cheminformatics and Machine Learning
Brought to you by:
glandrum
|
From: Gianluca S. <gi...@gm...> - 2010-07-06 18:16:18
|
On Tue, Jul 6, 2010 at 6:29 AM, Greg Landrum <gre...@gm...> wrote:
>
> If there are no objections, I suggest we take the rest of this
> discussion to the rdkit-devel list since it's probably not one of
> general interest.
Doh... I blame gmail auto-completion for this ;)
>>
>> For instance, libraries (lib*.so.*") are usually to be installed in
>> /usr/lib{64}, binaries in /usr/bin, header files in /usr/include and
>> so on; I believe cmake has all we need to use these these standard
>> paths, but I'd need to dig manuals and/or other projects to find out
>> the correct spell to cast...
>
> I haven't looked into this part at all; hopefully the CMakeLists.txt
> don't have anything that runs counter to this.
It seems this part is not hard, cmake will happily add DESTDIR as a
prefix to any DESTINATION with a relative path, so something like
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0cfb0b6..67a0e7a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,8 +20,8 @@ option(RDK_BUILD_COMPRESSED_SUPPLIERS "build in
support for compressed MolSuppli
# Config variables:
set(RDKit_CodeDir "${CMAKE_SOURCE_DIR}/Code")
set(RDKit_ExternalDir "${CMAKE_SOURCE_DIR}/External")
-set(RDKit_BinDir "${CMAKE_SOURCE_DIR}/bin")
-set(RDKit_LibDir "${CMAKE_SOURCE_DIR}/lib")
+set(RDKit_BinDir "bin")
+set(RDKit_LibDir "lib${LIB_SUFFIX}")
set(RDKit_PythonDir "${CMAKE_SOURCE_DIR}/rdkit")
# defines macros: rdkit_python_extension, rdkit_test
seems sufficient to make it work.
>
>>
>> I think I could uncover more packaging issues as I proceed, but I
>> wanted to kick off some discussions on these points early so we move
>> on quicker toward good linux packages.
>
> I guess the problem is going to be installing the directories
> $RDBASE/{Docs,Projects,Contrib} and what to do about $RDBASE. Would
> putting those into $DESTDIR/share/rdkit and setting $RDBASE to that
> work?
I guess RDBASE should not be necessary once the files are correctly
deployed system wide but I will double check this later.
So, after another session afternoon I managed to produced a binary
RPM; unfortunately it fails installing like:
Resolving Dependencies
--> Running transaction check
---> Package rdkit.x86_64 0:2010.Q2-1.fc12 set to be updated
--> Processing Dependency: libInfoTheory.so()(64bit) for package:
rdkit-2010.Q2-1.fc12.x86_64
--> Processing Dependency: libfastentropy.so()(64bit) for package:
rdkit-2010.Q2-1.fc12.x86_64
--> Processing Dependency: libhc.so()(64bit) for package:
rdkit-2010.Q2-1.fc12.x86_64
--> Finished Dependency Resolution
Error: Package: rdkit-2010.Q2-1.fc12.x86_64 (/rdkit-2010.Q2-1.fc12.x86_64)
Requires: libfastentropy.so()(64bit)
Error: Package: rdkit-2010.Q2-1.fc12.x86_64 (/rdkit-2010.Q2-1.fc12.x86_64)
Requires: libhc.so()(64bit)
Error: Package: rdkit-2010.Q2-1.fc12.x86_64 (/rdkit-2010.Q2-1.fc12.x86_64)
Requires: libInfoTheory.so()(64bit)
I will need to investigate why it claims to need those since they are
statically built so there is actually no *.so
--
Gianluca Sforna
http://morefedora.blogspot.com
http://www.linkedin.com/in/gianlucasforna
|