[sword-devel] Compile, Link errors on FC2, partial fix

Torrey Hoffman thoffman at arnor.net
Tue Jun 29 14:42:11 MST 2004


Hello.  

While doing a basic ./configure & make of gnomesword 2.0.0 on my Fedora
Core 2 machine, I got this error:

Making all in gnome2
make[3]: Entering directory `/usr/local/src/gnomesword2-2.0.0/src/gnome2'
if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -DORBIT2=1 -pthread -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/bonobo-activation-2.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/X11R6/include -I/usr/include/freetype2/config -I/usr/include/libxml2 -I/usr/include/libgtkhtml-3.0 -I/usr/include/libgnomeprint-2.2 -I/usr/include/libgnomeprintui-2.2 -I/usr/include/libglade-2.0 -I/usr/include/gal-2.0 -I/usr/include/sword   -I../../src -DPREFIX=\""/usr"\" -DSYSCONFDIR=\""/etc"\" -DDATADIR=\""/usr/share"\" -DLIBDIR=\""/usr/lib"\" -DGNOME_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED    -g -O2 -MT bibletext_dialog.o -MD -MP -MF ".deps/bibletext_dialog.Tpo" \
  -c -o bibletext_dialog.o `test -f 'bibletext_dialog.c' || echo './'`bibletext_dialog.c; \
then mv -f ".deps/bibletext_dialog.Tpo" ".deps/bibletext_dialog.Po"; \
else rm -f ".deps/bibletext_dialog.Tpo"; exit 1; \
fi
bibletext_dialog.c: In function `create_nav_toolbar':
bibletext_dialog.c:917: warning: assignment makes pointer from integer without a cast
bibletext_dialog.c:928: error: invalid type argument of `->'
distcc[18477] ERROR: compile bibletext_dialog.c on localhost failed
make[3]: *** [bibletext_dialog.o] Error 1
------------------

This seems to be because the version of GTK I have, (Fedora Core 2's
RPM: gtk2-2.4.0-1) wraps the contents of
/usr/include/gtk-2.0/gtk/gtkcombo.h with an "#ifndef
GTK_DISABLE_DEPRECATED".

When I took the GTK_DISABLE_DEPRECATED out of the Makefile, the
compilation got quite a bit further and then died with:

------------------
 if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -DORBIT2=1 -pthread -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/bonobo-activation-2.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/X11R6/include -I/usr/include/freetype2/config -I/usr/include/libxml2 -I/usr/include/libgtkhtml-3.0 -I/usr/include/libgnomeprint-2.2 -I/usr/include/libgnomeprintui-2.2 -I/usr/include/libglade-2.0 -I/usr/include/gal-2.0 -I/usr/include/sword   -I../../src -DPREFIX=\""/usr/local"\" -DSYSCONFDIR=\""/usr/local/etc"\" -DDATADIR=\""/usr/local/share"\" -DLIBDIR=\""/usr/local/lib"\" -DGNOME_DISABLE_DEPRECATED    -g -O2 -MT font_dialog.o -MD -MP -MF ".deps/font_dialog.Tpo" \
  -c -o font_dialog.o `test -f 'font_dialog.c' || echo './'`font_dialog.c; \
then mv -f ".deps/font_dialog.Tpo" ".deps/font_dialog.Po"; \
else rm -f ".deps/font_dialog.Tpo"; exit 1; \
fi
font_dialog.c:190: error: syntax error before '*' token
font_dialog.c: In function `font_set':
font_dialog.c:193: error: `mf' undeclared (first use in this function)
font_dialog.c:193: error: (Each undeclared identifier is reported only once
font_dialog.c:193: error: for each function it appears in.)
font_dialog.c:194: error: `GnomeFontPicker' undeclared (first use in this function)
font_dialog.c:194: error: syntax error before ')' token
font_dialog.c: In function `create_dialog_mod_font':
font_dialog.c:334: warning: assignment makes pointer from integer without a cast
font_dialog.c:340: error: `GNOME_FONT_PICKER_MODE_FONT_INFO' undeclared (first use in this function)
font_dialog.c: In function `gui_set_module_font':
font_dialog.c:464: error: `GnomeFontPicker' undeclared (first use in this function)
font_dialog.c:464: error: syntax error before ')' token

------------------

I then also took out the GNOME_DISABLE_DEPRECATED from the Makefile, and
it got all the way through compilation but died in linking.  I haven't
found a fix for this one yet.

At first glance it seems to not be properly linking with libsword.a,
although I do have /usr/lib/libsword.a and /usr/lib/libsword.la ...
(following output from the build has whitespace added for readability)

------------------
g++ -g -O2 -ftemplate-depth-25 -o gnomesword2 about_gnomesword.o about_modules.o about_sword.o 
        bibletext.o bibletext_dialog.o bibletext_menu.o bookmarks_menu.o bookmarks_treeview.o 
        cipher_key_dialog.o commentary.o commentary_dialog.o commentary_menu.o dialog.o 
        dictlex.o dictlex_dialog.o dictlex_menu.o display_info.o dummy.o editor.o editor_menu.o 
        editor_replace.o editor_spell.o fileselection.o find_dialog.o font_dialog.o gbs.o gbs_dialog.o 
        gbs_display.o gbs_menu.o gnomesword.o gtkhtml_display.o gui.o hints.o history.o html.o 
        main_menu.o main_window.o parallel_view.o parallel_dialog.o percomm.o 
        preferences_cell_renderer.o preferences_dialog.o search_dialog.o search_sidebar.o
        setup_druid.o sidebar.o sidebar_dialog.o splash.o studypad.o studypad_dialog.o 
        toolbar_edit.o toolbar_nav.o toolbar_style.o utilities.o 
        -pthread -Wl,--export-dynamic -pthread -Wl,--export-dynamic  -L/usr/X11R6/lib 
        -lgtkhtml-3.0 -lgnomeprintui-2-2 -lgal-2.0 -lgal-a11y-2.0 -lgnomeprint-2-2 
        /usr/lib/libsword.a 
        -L/usr/lib -lcurl -L/usr/kerberos/lib -lssl -lcrypto 
        -lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto -lresolv -lgnomeui-2 -lSM -lICE 
        -lbonoboui-2 -lgnomecanvas-2 -lgnome-2 /usr/lib/libpopt.so -lart_lgpl_2 -lpangoft2-1.0 
        -lbonobo-2 -lgconf-2 -lgnomevfs-2 -lbonobo-activation -lORBit-2 -lgthread-2.0 -lglade-2.0 
        -lgtk-x11-2.0 /usr/lib/libxml2.so -lpthread -lz -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 
        -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 
        ../../src/main/libmain.a ../../src/backend/libbackend.a

../../src/backend/libbackend.a(config.o)(.text+0x18): In function `backend_open_config_file':
/usr/include/c++/3.3.3/bits/stl_tree.h:141: undefined reference to `sword::SWConfig::SWConfig[in-charge](char const*)'

../../src/backend/libbackend.a(config.o)(.text+0x64): In function `backend_erase_config_section':
/usr/local/src/gnomesword2-2.0.0/src/backend/config.cc:172: undefined reference to `sword::SWBuf::SWBuf[in-charge](char const*, unsigned long)'

../../src/backend/libbackend.a(config.o)(.text+0xf3): In function `backend_erase_config_section':
/usr/include/c++/3.3.3/bits/stl_tree.h:491: undefined reference to `sword::SWBuf::SWBuf[in-charge](sword::SWBuf const&, unsigned long)'

(.... semi-infinite list of similar "undefined reference" errors redacted ....)

any suggestions?
-- 
Torrey Hoffman
torrey.hoffman at myrio.com (work) / thoffman at arnor.net (home)		




More information about the sword-devel mailing list