Build fails:
Making all in src
make[2]: Entering directory
`/home/rkinder/kino/dvtitlerplug-0.0.5/src'
/bin/sh ../libtool --mode=compile c++ -DHAVE_CONFIG_H
-I. -I. -I.. -funsigned-char -I../intl
-I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H
-I/usr/lib/gnome-libs/include -I/usr/include/glib-1.2
-I/usr/lib/glib/include -I/usr/include/orbit-1.0
-I/usr/include/gtk-1.2 -I/usr/X11R6/include
-I/usr/include/kino `freetype-config --cflags`
`gnome-config --cflags gdk_pixbuf`
-I/usr/include/gtk-1.2 -I/usr/include/glib-1.2
-I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -c
fontsel.cc
c++ -DHAVE_CONFIG_H -I. -I. -I.. -funsigned-char
-I../intl -I/usr/include/gnome-1.0
-DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include
-I/usr/include/glib-1.2
-I/usr/lib/glib/include -I/usr/include/orbit-1.0
-I/usr/include/gtk-1.2 -I/usr/X11R6/include
-I/usr/include/kino -I/usr/include/freetype2
-I/usr/include/gdk-pixbuf-1.0 -I/usr/include/gtk-1.2
-I/usr/include/glib-1.2 -I/usr/lib/glib/include
-I/usr/X11R6/include -I/usr/include/gtk-1.2
-I/usr/include/glib-1.2 -I/usr/lib/glib/include
-I/usr/X11R6/include -g -O2 -Wp,-MD,.deps/fontsel.pp -c
fontsel.cc -fPIC -DPIC -o fontsel.lo
fontsel.cc:18:20: hash_map: No such file or directory
fontsel.cc:19: `hash_map' not declared
fontsel.cc:33: `hash' was not declared in this scope
fontsel.cc:33: parse error before `char'
fontsel.cc: In function `void
fontsel_insert_face(FT_FaceRec_*, const gchar*,
int)':
fontsel.cc:50: `fonts' undeclared (first use this function)
fontsel.cc:50: (Each undeclared identifier is reported
only once for each
function it appears in.)
make[2]: *** [fontsel.lo] Error 1
make[2]: Leaving directory
`/home/rkinder/kino/dvtitlerplug-0.0.5/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/home/rkinder/kino/dvtitlerplug-0.0.5'
make: *** [all-recursive-am] Error 2
[rkinder@localhost dvtitlerplug-0.0.5]$
If I change #include <hash_map> to #include
<ext/hash_map> the build goes further:
c++ -DHAVE_CONFIG_H -I. -I. -I.. -funsigned-char
-I../intl -I/usr/include/gnome-1.0
-DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include
-I/usr/include/glib-1.2
-I/usr/lib/glib/include -I/usr/include/orbit-1.0
-I/usr/include/gtk-1.2 -I/usr/X11R6/include
-I/usr/include/kino -I/usr/include/freetype2
-I/usr/include/gdk-pixbuf-1.0 -I/usr/include/gtk-1.2
-I/usr/include/glib-1.2 -I/usr/lib/glib/include
-I/usr/X11R6/include -I/usr/include/gtk-1.2
-I/usr/include/glib-1.2 -I/usr/lib/glib/include
-I/usr/X11R6/include -g -O2 -Wp,-MD,.deps/fontsel.pp -c
fontsel.cc -fPIC -DPIC -o fontsel.lo
fontsel.cc:19: `hash_map' not declared
fontsel.cc:33: `hash' was not declared in this scope
fontsel.cc:33: parse error before `char'
fontsel.cc: In function `void
fontsel_insert_face(FT_FaceRec_*, const gchar*,
int)':
fontsel.cc:50: `fonts' undeclared (first use this function)
fontsel.cc:50: (Each undeclared identifier is reported
only once for each
function it appears in.)
make[2]: *** [fontsel.lo] Error 1
make[2]: Leaving directory
`/home/rkinder/kino/dvtitlerplug-0.0.5/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/home/rkinder/kino/dvtitlerplug-0.0.5'
make: *** [all-recursive-am] Error 2
I'm not too familiar with C++, so I'm not sure how to
debug this. Any suggestions appreciated!
Regards,
Richard
Logged In: NO
I have exactly the same problem on Mandrake 9.1. Please, help.
Thanks,
Rudo
Logged In: NO
Hi, I managed to compile it on Mandrake 9.1. The problem is
due to gcc version (I found it somewhere at gcc site). I
modified the file fontsel.cc as bellow and it works. It is
not general solution, as the syntax is different for
different compilers, but I do not know C++. Here is the
changed beginning of the file fontsel.cc:
#include <gnome.h>
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include <dirent.h>
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_GLYPH_H
//#include <hash_map>
#include <backward/hash_map.h>
//using std::hash_map;
namespace Sgi = ::__gnu_cxx;
#define DEFAULT_FONTPATH "/usr/X11R6/lib/X11/fonts/TrueType/"
struct eqstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2)==0;
}
};
Sgi::hash_map<const char*, const char*, hash<const char*>,
eqstr> fonts;
GList *glist1=NULL;
Logged In: NO
Hi,
The change is also working for Suse 8.2.
Thanks for the solution