Following up on my on email...
The following patch fixes the build for me from the latest SVN
coot-read-only sources. Is the list preference to paste these sorts of
things inline to the email, or to send the patch as an attachment?
If anyone has any comments/suggestions on the patches, I would
appreciate hearing them.
thanks,
Cyrus
diff --git a/coot-utils/Makefile.am b/coot-utils/Makefile.am
index 6612f82..c19a66d 100644
--- a/coot-utils/Makefile.am
+++ b/coot-utils/Makefile.am
@@ -62,7 +62,8 @@ libcoot_coord_utils_la_SOURCES = coot-coord-utils.cc \
# clean
libcoot_coord_utils_la_LIBADD = \
$(top_builddir)/geometry/libcoot-geometry.la \
- $(GSL_LIBS)
+ $(GSL_LIBS) \
+ $(CLIPPER_LIBS)
libcoot_coord_utils_la_LDFLAGS = -no-undefined
@@ -96,7 +97,8 @@ libcoot_map_utils_la_SOURCES = coot-map-utils.cc
peak-search.cc peak-search-from
# clean
libcoot_map_utils_la_LIBADD = \
libcoot-coord-utils.la \
- $(GSL_LIBS)
+ $(GSL_LIBS) \
+ $(CLIPPER_LIBS)
libcoot_map_utils_la_LDFLAGS = -no-undefined
@@ -109,7 +111,8 @@ libcoot_map_heavy_la_SOURCES = coot-map-heavy.cc
coot-fffear.cc
libcoot_map_heavy_la_LIBADD = \
libcoot-map-utils.la \
libcoot-coord-utils.la \
- $(GSL_LIBS)
+ $(GSL_LIBS) \
+ $(CLIPPER_LIBS)
libcoot_map_heavy_la_LDFLAGS = -no-undefined
@@ -145,6 +148,7 @@ testcootutils_LDADD = \
./libcoot-coord-extras.la\
./libcoot-coord-utils.la \
$(GSL_LIBS) \
+ $(CLIPPER_LIBS) \
$(GLOB_LIBS)
# $(top_builddir)/geometry/libcoot-geometry.la
@@ -172,7 +176,7 @@ test_elastic_SOURCES = test-elastic.cc
test_elastic_LDADD = ./libcoot-coord-utils.la $(GLOB_LIBS)
test_spherical_SOURCES = test-spherical.cc
-test_spherical_LDADD = ./libcoot-coord-utils.la $(GSL_LIBS)
+test_spherical_LDADD = ./libcoot-coord-utils.la $(GSL_LIBS)
$(CLIPPER_LIBS)
glyco_torsions_SOURCES = test-glyco-torsions.cc
glyco_torsions_LDADD = ./libcoot-coord-utils.la
diff --git a/geometry/Makefile.am b/geometry/Makefile.am
index 266eb04..89f6bb5 100644
--- a/geometry/Makefile.am
+++ b/geometry/Makefile.am
@@ -85,5 +85,5 @@ make_shelx_restraints_SOURCES = make-shelx-restraints.cc
# why is coot-utils.la needed? I don't understand.
make_shelx_restraints_LDADD = ./libcoot-geometry.la \
- $(top_builddir)/utils/libcoot-utils.la
+ $(top_builddir)/utils/libcoot-utils.la $(CLIPPER_LIBS)
diff --git a/src/c-interface-mogul.cc b/src/c-interface-mogul.cc
index cad0b32..08a0d05 100644
--- a/src/c-interface-mogul.cc
+++ b/src/c-interface-mogul.cc
@@ -1,4 +1,6 @@
+#include <string.h>
+
#ifdef USE_PYTHON
#include <Python.h> // before system includes to stop
"POSIX_C_SOURCE" redefined problems
#endif
diff --git a/src/generic-objects.cc b/src/generic-objects.cc
index ba5c394..8c93401 100644
--- a/src/generic-objects.cc
+++ b/src/generic-objects.cc
@@ -30,6 +30,8 @@
#include <vector>
#include <string>
+#include <string.h>
+
#include <gtk/gtk.h>
#include <math.h>
On 10/27/2014 01:55 PM, Cyrus Harmon wrote:
In what I gather is a rite of passage for folks wishing to build/use
coot, I'm running into some troubles trying to build coot from source.
I think I've got the right prerequisites built and installed:
mmdb2
libccp4
clipper-2.1
ssm-1.4
and of course the various prerequisites (python, gtk, etc...)
When I try to build I coot, I get the following error message:
make[1]: Entering directory
'/home/sly/projects/structure/coot/coot-read-only/analysis'
/bin/bash ../libtool --tag=CXX --mode=link g++ -o bfactan
bfactan.o libcoot-analysis.la ../coot-utils/libcoot-coord-utils.la
../geometry/libcoot-geometry.la ../mini-mol/libcoot-mini-mol.la
../utils/libcoot-utils.la -L/usr/local/lib -lclipper-ccp4
-lclipper-cif -lclipper-minimol -lclipper-mmdb -lclipper-cns
-lclipper-phs -lclipper-contrib -lclipper-core -lccp4c -lmmdb2
-L/usr/local/lib -lmmdb2
libtool: link: g++ -o .libs/bfactan bfactan.o
./.libs/libcoot-analysis.so ../coot-utils/.libs/libcoot-coord-utils.so
../geometry/.libs/libcoot-geometry.so
../mini-mol/.libs/libcoot-mini-mol.so ../utils/.libs/libcoot-utils.so
-L/usr/local/lib /usr/local/lib/libclipper-ccp4.so
/usr/local/lib/libclipper-cif.so /usr/local/lib/libclipper-minimol.so
/usr/local/lib/libclipper-mmdb.so /usr/local/lib/libclipper-cns.so
/usr/local/lib/libclipper-phs.so /usr/local/lib/libclipper-contrib.so
/usr/local/lib/libclipper-core.so /usr/local/lib/libccp4c.so
/usr/local/lib/libmmdb2.so
../coot-utils/.libs/libcoot-coord-utils.so: undefined reference to
`clipper::SFweight_spline<float>::operator()(clipper::HKL_data<clipper::datatypes::F_phi<float>
>&, clipper::HKL_data<clipper::datatypes::F_phi<float> >&,
clipper::HKL_data<clipper::datatypes::Phi_fom<float> >&,
clipper::HKL_data<clipper::datatypes::F_sigF<float> > const&,
clipper::HKL_data<clipper::datatypes::F_phi<float> > const&,
clipper::HKL_data<clipper::datatypes::Flag> const&)'
../coot-utils/.libs/libcoot-coord-utils.so: undefined reference to
`clipper::MMDBManager::cell() const'
../coot-utils/.libs/libcoot-coord-utils.so: undefined reference to
`clipper::MMDBManager::spacegroup() const'
../coot-utils/.libs/libcoot-coord-utils.so: undefined reference to
`clipper::SFweight_spline<float>::init(int, int, int)'
collect2: error: ld returned 1 exit status
Makefile:647: recipe for target 'bfactan' failed
make[1]: *** [bfactan] Error 1
I'm a bit at a loss trying to figure out the templated classes, etc...
in sfweight.cpp so I thought I'd check to see if anyone else is having
(or has run into) this problem. Also the clipper::MMDBxxx stuff make
me wonder if this isn't the result of some stuff not yet being
converted over to mmdb2. Pointers appreciated.
thanks,
Cyrus