Open jowodo opened 1 year ago
I found the solution to this specific problem after trying this:
$ pkgconf --libs mmdb2
Package mmdb2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `mmdb2.pc'
to the PKG_CONFIG_PATH environment variable
Package 'mmdb2', required by 'virtual:world', not found
This resolved mmdb2 error:
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/apps/mmdb2/2.0.22/lib/pkgconfig
$ ./configure
Now I get:
./configure
...
checking for SQLite3... yes
checking for mmdb2... yes
checking for ssm... no
configure: error: in `/tmp/tmp.ydDJN1WHl7/coot-1.0.05':
configure: error: ssm not found
See `config.log' for more details
So I installed ssm from https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/ but when configuring ssm i get:
$ ./configure
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
...
checking for MMDB_CCIF_Init in -lmmdb2... no
configure: error: mmdb2 library not found.
The solution to configure ssm was:
$ LDFLAGS=-L$PATH_TO_MMDB2_LIBS ./configure
Now I'm stuck at fftw point when configuring coot:
$ ./configure --with-fftw-prefix=/home/app/fftw/2.1.5
...
checking for mmdb2... yes
checking for ssm... yes
no
checking for non-prefixed single-precision FFTW2 (fftw.h)... no
no
configure: error: single-precision FFTW 2 library not found.
Even for fftw I found a solution:
Just use ./configure --with-fftw-prefix=$(pkgconf --variable=prefix fftw)
or probably
--with-fftw-prefix=$PATH_TO_FFTW2_INSTALL
anyway, the next dependency is clipper and I managed to get past the configuration step of clipper with the following command:
$ wget https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/clipper-configure-2.patch
$ sed -i "s/p = a/*p = &a/" configure
$ LDFLAGS=$(pkgconf --cflags fftw) ./configure --prefix=$MODULEBASE/$MODULENAME/$MODULEVERSION --with-fftw2-prefix=$(pkgconf --variable=prefix fftw)
BUT, during the make command I get:
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I/home/apps/fftw/2.1.5/include -MT libclipper_core_la-fftmap.lo -MD -MP -MF .deps/libclipper_core_la-fftmap.Tpo -c fftmap.cpp
-o libclipper_core_la-fftmap.o
In file included from /usr/include/stdio.h:33,
from /usr/include/c++/8/cstdio:42,
from /usr/include/c++/8/ext/string_conversions.h:43,
from /usr/include/c++/8/bits/basic_string.h:6404,
from /usr/include/c++/8/string:52,
from clipper_message.h:49,
from clipper_thread.h:49,
from clipper_memory.h:49,
from clipper_types.h:50,
from cell.h:50,
from coords.h:49,
from fftmap.h:49,
from fftmap.cpp:43:
fftmap.cpp:55:36: error: cannot convert 'fftw_real*' {aka 'double*'} to 'float*' in initialization
static float* dummy = (fftw_real*) NULL;
Some programmer dude in a comment to this question points out that converting pointer of double to float is problematic since they normally have a different size. I'm not a C++ specialist, so this makes sense. I've seen other people pass the configuration test steps, though. Could it have to do with the gcc version?
Oh dear. Sorry for missing this issue. One builds coot from the build-it
script for the GTK+2-based build. Or the build-it-3-3
script for current build.
Thanks for your reply. I'll have a look next week.
How can I tell the
configure
command where to find mmdb2? About the system:But still, when I run
configure
from the coot-1.0.05 directory, I get: