pemsley/coot

current svn doesn not compile on Debian7

Closed this issue · 6 comments

Hello, it seem sthat the current svn does not compile on my Debian7 system

I got this error.

/bin/bash ../libtool --tag=CXX   --mode=link g++ -DHAVE_GSL  
-DPKGDATADIR='"/usr/local/share/coot"' -g -O2   -o test-hole test-hole.o 
./libcoot-coord-utils.la ../utils/libcoot-utils.la  
libtool: link: g++ -DHAVE_GSL -DPKGDATADIR=\"/usr/local/share/coot\" -g -O2 -o 
.libs/test-hole test-hole.o  ./.libs/libcoot-coord-utils.so 
../utils/.libs/libcoot-utils.so
/usr/bin/ld: test-hole.o: undefined reference to symbol 
'_ZN4coot16protein_geometry13init_standardEv'
/usr/bin/ld: note: '_ZN4coot16protein_geometry13init_standardEv' is defined in 
DSO /home/picca/Projets/coot/geometry/.libs/libcoot-geometry.so.0 so try adding 
it to the linker command line
/home/picca/Projets/coot/geometry/.libs/libcoot-geometry.so.0: could not read 
symbols: Invalid operation
collect2: error: ld returned 1 exit status


cheers

Frederic

Original issue reported on code.google.com by pi...@synchrotron-soleil.fr on 21 May 2013 at 10:08

Here a patch that solve this issue

See you

Frederic

Original comment by pi...@synchrotron-soleil.fr on 8 Jun 2013 at 9:03

Attachments:

Next error:

make[1]: entrant dans le répertoire « /home/picca/Projets/coot/src »
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" 
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" 
-DPACKAGE=\"coot\" -DVERSION=\"0.7.1-pre\" -DSTDC_HEADERS=1 
-DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 
-DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 
-DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I../compat 
-I../coords -I../ccp4mg-utils -I../utils -I../coot-utils -I../protein_db 
-I../intl -I../skeleton -I../angles -I../db-main -I../mini-mol -I../ligand 
-I../geometry -I../ideal -I../coot-surface -I../surface -I../density-contour 
-I../build -I../high-res -I../analysis -I../cootilus -I../cootaneer 
-I../lidia-core -I../libgtkgraph -I../goograph -I../lbg   
-DHAVE_SYS_STDTYPES_H=0      -DHAVE_GNOME_CANVAS -pthread 
-I/usr/include/pango-1.0 -I/usr/include/gail-1.0 -I/usr/include/libart-2.0 
-I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 
-I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz 
-I/usr/include/freetype2 -I/usr/include/atk-1.0 
-I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/cairo 
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0/ 
-I/usr/include/pixman-1 -I/usr/include/libpng12 
-I/usr/include/libgnomecanvas-2.0   -DCOOT_USE_GTK2_INTERFACE  -pthread 
-I/usr/include/gtk-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include 
-I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo 
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 
-I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 
-I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/atk-1.0 
-I/usr/include/harfbuzz -I/usr/include/gtkglext-1.0 
-I/usr/lib/gtkglext-1.0/include    -DHAVE_GOOCANVAS 
-I/usr/include/goocanvas-1.0 -pthread -I/usr/include/gtk-2.0 
-I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 
-I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 
-I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 
-I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 
-I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/harfbuzz   
-DHAVE_MMDB_IGNORE_HASH -DHAVE_MMDB_WITH_CISPEP   -I/usr/include                
        -DPKGDATADIR='"/usr/local/share/coot"' 
-DPACKAGE_LOCALE_DIR='"/usr/local/share/coot/locale"' 
-DDATADIR='"/usr/local/share"' 
-DCOOT_SYS_BUILD_TYPE='"Linux-i686-debian-gnu/linux-gtk2"' 
-DCOOT_BUILD_INFO_STRING='""' -DUSE_LIBCURL -DHAVE_SYS_STDTYPES_H=0      
-DHAVE_GSL -fopenmp -g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o 
main.cc
main.cc: In function ‘int main(int, char**)’:
main.cc:229:6: warning: ‘void g_type_init()’ is deprecated (declared at 
/usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
main.cc:229:18: warning: ‘void g_type_init()’ is deprecated (declared at 
/usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
main.cc: In function ‘void setup_application_icon(GtkWindow*)’:
main.cc:827:4: warning: ‘void gdk_pixbuf_unref(GdkPixbuf*)’ is deprecated 
(declared at /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h:243): Use 
'g_object_unref' instead [-Wdeprecated-declarations]
main.cc:827:33: warning: ‘void gdk_pixbuf_unref(GdkPixbuf*)’ is deprecated 
(declared at /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h:243): Use 
'g_object_unref' instead [-Wdeprecated-declarations]
mv -f .deps/main.Tpo .deps/main.Po
make[1]: *** Pas de règle pour fabriquer la cible « svn-revision.o », 
nécessaire pour « coot-real ». Arrêt.
make[1]: quittant le répertoire « /home/picca/Projets/coot/src »
make: *** [all-recursive] Erreur 1

I do not know how to generate this svn-revision.o file

Original comment by pi...@synchrotron-soleil.fr on 8 Jun 2013 at 9:27

ok I found the ./generate-svn-revision-cc.sh script.

now this script should be run in the Makefile to produce the svn-revision.cc 
file during the build.

I am right ?

Original comment by pi...@synchrotron-soleil.fr on 8 Jun 2013 at 9:35

No.  The script is not run set to run in the Makefile - it should be in the 
tarball already.  Is it not for you?  Which tar file are you using?

Original comment by pemsley@gmail.com on 2 Jul 2013 at 11:23

In fact I am using the svn repository to propose patch upto date with the 
current svn head.

So I generated the file, but I am wondering if the right things would not be to 
generate this version number from the configure.ac file like they do with the 
enlightenment project.
something like this on top of the configure.ac
look at the m4_esyscmd command. this should be adapted to svn indeed.

##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
m4_define([v_maj], [4])
m4_define([v_min], [99])
m4_define([v_mic], [99])
m4_define([v_rev], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 
0) | tr -d '\n']))dnl
##--   When released, remove the dnl on the below line
dnl m4_undefine([v_rev])
##--   When doing snapshots - change soname. remove dnl on below line
dnl m4_define([relname], [ver-pre-svn-07])
dnl m4_define([v_rel], [-release relname])
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], 
[m4_define([v_ver], [v_maj.v_min.v_mic])])
m4_define([lt_cur], m4_eval(v_maj + v_min))
m4_define([lt_rev], v_mic)
m4_define([lt_age], v_min)
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##

AC_PREREQ([2.69])
AC_INIT([hkl],[v_ver],[picca@synchrotron-soleil.fr])
AC_CONFIG_SRCDIR([config.h.in])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR(config)

AM_INIT_AUTOMAKE([silent-rules tar-ustar -Wno-portability])

# Checks for programs.
AC_PROG_CXX
AC_PROG_AWK
AC_PROG_CC_C99
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
LT_INIT
AM_SILENT_RULES

##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
m4_ifdef([v_rel], , [m4_define([v_rel], [])])
AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
version_info="lt_cur:lt_rev:lt_age"
release_info="v_rel"
AC_SUBST(version_info)
AC_SUBST(release_info)
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
VMAJ=v_maj
AC_SUBST(VMAJ)



this way the build process after a clean checkout of the repository could be
surpriseless :)

Original comment by pi...@synchrotron-soleil.fr on 3 Jul 2013 at 6:33

I've done something like that for 0.8.3 - thanks.