Dear all,
again the question about coot 0.5/6 under SuSE... Any news, anyone success
with a pre-built binary running under SuSE? I tried a lot, nothing works.
I tried to build my own binary (for a SuSE 10.0), using the GTK-2 script,
with and w/o python. No luck, the compilation crashes in the final coot make
with the following error (see details in attachment):
Making all in coords
make[1]: Entering directory `blabla/coot-0.6.1/coords'
if /bin/sh ../libtool --tag=CXX [...] ; exit 1; fi
g++ -DPACKAGE_NAME=\"\" [...] -c Bond_lines.cc -o Bond_lines.o
Bond_lines.cc: In member function int
Bond_lines_container::set_rainbow_colours(int, CMMDBManager*):
Bond_lines.cc:2343: error: invalid conversion from const char* to char*
make[1]: *** [Bond_lines.lo] Error 1
make[1]: Leaving directory
`/root/coot/autobuild/hdbprint_2010-02-15__T18_01_40/coot-0.6.1/coords'
make: *** [all-recursive] Error 1
make failed.
The resp. line in Bond_lines.cc is
char *chain_id = chain_p->GetChainID();
I'm no c++ expert but I think the type def of GetChainID() comes from
mmdb_atom.h which is located in coot's $autobuild/[...]/include/mmdb
directory. I see these defines:
/autobuild/Linux-hdbprint-gtk2/include/mmdb # grep GetChainID *
mmdb_atom.h: pstr GetChainID ();
mmdb_atom.h: pstr GetChainID ();
mmdb_chain.h: cpstr GetChainID () { return chainID; }
mmdb_chain.h: cpstr GetChainID ( pstr ChID ); // returns /m/c
This mmdb_atom.h is version 1.18.
I have another mmdb include dir, because I previously installed mmdb 1.19 by
hand . It is installed under /usr/local/include/mmdb and here I see
different defines:
# grep GetChainID /usr/local/include/mmdb/*
/usr/local/include/mmdb/mmdb_atom.h: pstr GetChainID ();
/usr/local/include/mmdb/mmdb_atom.h: pstr GetChainID ();
/usr/local/include/mmdb/mmdb_chain.h: pstr GetChainID () { return chainID; }
/usr/local/include/mmdb/mmdb_chain.h: pstr GetChainID ( pstr ChID );
// returns /m/c
BTW this file has version 1.17 which is striking because it comes definitely
from a 1.19 tar.gz source.
The g++ include switch in the make script is set to (see also attached file):
-I. -I. -I../skeleton -I../utils -I../coot-utils -I../geometry -I../mini-mol
-I../compat -I/root/autobuild/Linux-hdbprint-gtk2/include
-I/root/autobuild/Linux-hdbprint-gtk2/include/mmdb
So I dont see why make should choose the (wrong?) mmdb in /usr/local
version. I dont even know if this is the origin of what goes wrong.
Only that this is where my knowledge ends... :-(
Any help appreciated!!
|