PDA

View Full Version : Installation Error


baDibere
2008-11-22, 23:25
After make command I have an error :

ArabicShaping.cpp: In function 'fribidi_boolean CharacterMapContains(FriBidiChar)':
ArabicShaping.cpp:151: error: 'FRIBIDI_TRUE' was not declared in this scope
ArabicShaping.cpp:154: error: 'FRIBIDI_FALSE' was not declared in this scope
ArabicShaping.cpp: In function 'fribidi_boolean IsTransparent(FriBidiChar)':
ArabicShaping.cpp:189: error: 'FRIBIDI_TRUE' was not declared in this scope
ArabicShaping.cpp:191: error: 'FRIBIDI_FALSE' was not declared in this scope

*** 4 errors, 0 warnings
make[1]: *** [ArabicShaping.o] Error 1
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/utils'
make: *** [utils] Error 2


What's the problem and solution?

I'm using GCC 4.3.2

althekiller
2008-11-23, 04:11
Presumably you're missing the headers for fribidi. Install them. Your bare minimum info, results in a bare minimum diagnosis.

baDibere
2008-11-23, 04:22
Fribidi is installed. But I'll look for build files of it to check.

Here is the make output.. I'm lazy to type "make clean". :D If it is necessary to type "make clean", I'll do it.

guDa@baDibere XBMC $ LC_ALL="C" make
make -C guilib
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/guilib'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/guilib'
make -C xbmc
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc'
make -C xbmc/FileSystem
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/FileSystem'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/FileSystem'
make -C xbmc/FileSystem/MusicDatabaseDirectory
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/FileSystem/MusicDatabaseDirectory'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/FileSystem/MusicDatabaseDirectory'
make -C xbmc/FileSystem/VideoDatabaseDirectory
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/FileSystem/VideoDatabaseDirectory'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/FileSystem/VideoDatabaseDirectory'
make -C xbmc/cores
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/cores'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/cores'
make -C xbmc/cdrip
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/cdrip'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/cdrip'
make -C xbmc/cores/paplayer
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/cores/paplayer'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/cores/paplayer'
make -C xbmc/cores/DllLoader/exports
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/cores/DllLoader/exports'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/cores/DllLoader/exports'
make -C xbmc/cores/DllLoader/exports/util
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/cores/DllLoader/exports/util'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/cores/DllLoader/exports/util'
make -C xbmc/cores/DllLoader
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/cores/DllLoader'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/cores/DllLoader'
make -C xbmc/xbox
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/xbox'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/xbox'
make -C xbmc/linux
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/linux'
make[1]: Nothing to be done for `lib'.
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/linux'
make -C xbmc/utils
make[1]: Entering directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/utils'
/usr/bin/ccache g++ -MD -c -g -D_DEBUG -Wall -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -I/usr/include/lzo -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_PCRE -D'SVN_REV="exported"' -DINSTALL_PATH="\"/usr/share/xbmc\"" -DDLL_PATH_LIBCURL="\"/usr/lib/libcurl.so.4\"" -I. -I.. -I../linux -I../../guilib ArabicShaping.cpp -o ArabicShaping.o
ArabicShaping.cpp: In function 'fribidi_boolean CharacterMapContains(FriBidiChar)':
ArabicShaping.cpp:151: error: 'FRIBIDI_TRUE' was not declared in this scope
ArabicShaping.cpp:154: error: 'FRIBIDI_FALSE' was not declared in this scope
ArabicShaping.cpp: In function 'fribidi_boolean IsTransparent(FriBidiChar)':
ArabicShaping.cpp:189: error: 'FRIBIDI_TRUE' was not declared in this scope
ArabicShaping.cpp:191: error: 'FRIBIDI_FALSE' was not declared in this scope

*** 4 errors, 0 warnings
make[1]: *** [ArabicShaping.o] Error 1
make[1]: Leaving directory `/home/guDa/Desktop/XBMC-8.10.src/XBMC/xbmc/utils'
make: *** [utils] Error 2

althekiller
2008-11-23, 06:36
Whatever distro you're using must put the headers somewhere other than where we're looking. Symlink them to one of the paths preceded by -I (capital i) in the last g++ command.

baDibere
2008-11-23, 15:29
Fribidi headers are located in /usr/include
I've installed Fribidi from Pisi Package and then from source and I've got same error.

BLKMGK
2008-11-23, 17:18
Might help if you would reveal the secret of the Distro you're using? 32bit? 64bit?

baDibere
2008-11-23, 17:25
Might help if you would reveal the secret of the Distro you're using? 32bit? 64bit?

:D

Sorry,

My distro is Pardus 2008.1, using GCC 4.3.2, KDE 3.5.10, Fribidi 0.19.1, make 3.81

larstobi
2009-03-25, 12:45
Whatever distro you're using must put the headers somewhere other than where we're looking.
I don't think so.

fribidi-0.19.1 doesn't define FRIBIDI_(TRUE|FALSE). I can make it work with this patch:

--- xbmc/utils/ArabicShaping.h.orig 2009-03-24 20:01:30.965343857 +0100
+++ xbmc/utils/ArabicShaping.h 2009-03-24 20:01:45.367968410 +0100
@@ -30,7 +30,9 @@
#include "lib/libfribidi/fribidi.h"
#else
#include <fribidi/fribidi.h>
-#include <fribidi/fribidi_char_sets.h>
+#include <fribidi/fribidi-char-sets.h>
+#define FRIBIDI_TRUE 1
+#define FRIBIDI_FALSE 0
#endif

/**