Home | Docs | Forums | Lists | Bugs | Planet | Store | GMN | Get Gentoo!
View Bug Activity | Format For Printing | XML | Clone This Bug
Amanith does not compile for me with USE=truetype, and appears to want internal freetype headers. The amanith ebuild DEPENDS on truetype? ( >=media-libs/freetype-2.1.10 ) It of course builds fine with USE="-truetype". I tried to look for the header in question, but I can't connect to freetype.org at the moment. make[2]: Entering directory `/var/tmp/portage/media-libs/amanith-0.3-r1/work/amanith/plugins/fonts' x86_64-pc-linux-gnu-g++ -c -O2 -march=athlon64 `pkg-config --cflags freetype2` -O2 -march=athlon64 -Wall -W -fPIC -DUSE_QT4 -D_OPENGLEXT_PLUGIN -D_JPEG_PLUGIN -D_PNG_PLUGIN -D_FONTS_PLUGIN -DDOUBLE_REAL_TYPE -DG_USE_DLL -D_FONTS_PLUGIN_EXTERNAL -D_FONTS_TRUETYPE_MODULE -D_FONTS_TYPE1_MODULE -D_FONTS_TYPE42_MODULE -D_FONTS_CFF_MODULE -D_FONTS_PFR_MODULE -D_FONTS_CID_MODULE -DG_MAKE_PLUGIN -I/usr/share/qt4/mkspecs/linux-g++ -I. -I../../include -I. -o gfontsimpexp.o gfontsimpexp.cpp gfontsimpexp.cpp:37:40: error: freetype/internal/ftgloadr.h: No such file or directory gfontsimpexp.cpp: In function 'void Amanith::LoadGlyph(Amanith::GFont2D&, FT_FaceRec_*, int, Amanith::GReal)': gfontsimpexp.cpp:201: error: 'FT_SubGlyphRec' was not declared in this scope gfontsimpexp.cpp:201: error: expected `;' before 'subGlyph' gfontsimpexp.cpp:226: error: 'subGlyph' was not declared in this scope gfontsimpexp.cpp:226: error: invalid use of undefined type 'struct FT_SubGlyphRec_' /usr/include/freetype2/freetype/freetype.h:1338: error: forward declaration of 'struct FT_SubGlyphRec_' ../../include/amanith/geometry/gmatrix.h: In member function 'const DATA_TYPE** Amanith::GMatrix<DATA_TYPE, ROWS, COLS>::Data() const [with DATA_TYPE = double, unsigned int ROWS = 2u, unsigned int COLS = 2u]': ../../include/amanith/geometry/gmatrix.h:167: instantiated from 'Amanith::GMatrix<DATA_TYPE, ROWS, COLS>::GMatrix(const Amanith::GMatrix<DATA_TYPE, ROWS, COLS>&) [with DATA_TYPE = double, unsigned int ROWS = 2u, unsigned int COLS = 2u]' ../../include/amanith/geometry/gmatrix.h:2414: instantiated from here ../../include/amanith/geometry/gmatrix.h:326: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../include/amanith/geometry/gmatrix.h: In member function 'const DATA_TYPE** Amanith::GMatrix<DATA_TYPE, ROWS, COLS>::Data() const [with DATA_TYPE = double, unsigned int ROWS = 3u, unsigned int COLS = 3u]': ../../include/amanith/geometry/gmatrix.h:167: instantiated from 'Amanith::GMatrix<DATA_TYPE, ROWS, COLS>::GMatrix(const Amanith::GMatrix<DATA_TYPE, ROWS, COLS>&) [with DATA_TYPE = double, unsigned int ROWS = 3u, unsigned int COLS = 3u]' ../../include/amanith/geometry/gmatrix.h:2416: instantiated from here ../../include/amanith/geometry/gmatrix.h:326: warning: dereferencing type-punned pointer will break strict-aliasing rules ../../include/amanith/geometry/gmatrix.h: In member function 'const DATA_TYPE** Amanith::GMatrix<DATA_TYPE, ROWS, COLS>::Data() const [with DATA_TYPE = double, unsigned int ROWS = 4u, unsigned int COLS = 4u]': ../../include/amanith/geometry/gmatrix.h:167: instantiated from 'Amanith::GMatrix<DATA_TYPE, ROWS, COLS>::GMatrix(const Amanith::GMatrix<DATA_TYPE, ROWS, COLS>&) [with DATA_TYPE = double, unsigned int ROWS = 4u, unsigned int COLS = 4u]' ../../include/amanith/geometry/gmatrix.h:2418: instantiated from here ../../include/amanith/geometry/gmatrix.h:326: warning: dereferencing type-punned pointer will break strict-aliasing rules [I] media-libs/freetype Available versions: (1) 1.3.1-r4 1.3.1-r5 (2) 2.1.9-r1 2.1.10-r2 2.1.10-r3 2.3.3 2.3.4-r2 !2.3.4_p20070414[1] !2.3.4_p20070428[1] Installed versions: 2.3.4-r2(2)(00:38:48 05/21/07)(X -bindist -debug -doc zlib) [I] sys-devel/gcc Available versions: (2.95) [P]!2.95.3-r9 [P]!2.95.3-r10 (3.1) [P]!3.1.1-r2 (3.2) [P]*3.2.2 [P]!3.2.3-r4 (3.3) [P]~3.3.2-r7 ~3.3.5-r1 ~3.3.5.20050130-r1 ~3.3.6 ~3.3.6-r1 (3.4) ~3.4.1-r3 3.4.4-r1 3.4.5 ~3.4.5-r1 ~3.4.6 3.4.6-r1 3.4.6-r2 (4.0) *4.0.3 *4.0.4 (4.1) ~4.1.0-r1 4.1.1 4.1.1-r1 4.1.1-r3 4.1.2 (4.2) [M]!4.2.0 Installed versions: 3.4.6-r2(3.4)(03:34:36 03/12/07)(-altivec -bootstrap -boundschecking -build -d -doc fortran -gcj gtk -hardened -ip28 -ip32r10k -multilib -multislot -n32 -n64 nls -nocxx -nopie -nossp -objc -test -vanilla) 4.1.2(4.1)(02:06:36 05/21/07)(-altivec -bootstrap -build -d -doc fortran -gcj gtk -hardened -ip28 -ip32r10k mudflap -multilib -multislot -n32 -n64 nls -nocxx -objc -objc++ -objc-gc -test -vanilla)
Created an attachment (id=121007) [edit] Stop using internal FreeType headers Here's a patch that will make amanith compile with freetype > 2.2.1.
Created an attachment (id=121009) [edit] Updated ebuild Updated to ebuild to use the patch. Also changed freetype dep to >=2.2.1 to enable the use of FT_Get_SubGlyph_Info instead of internal headers.
Fortunately, Amanith developers had previously asked FreeType developers about this, and in 2.2.1 the FT_Get_SubGlyph_Info function was added to help those people who had previously been using internal headers. [1] The patch just removes the internal header and uses the new function. The ebuild needed to be updated to depend on >=media-libs/freetype-2.2.1 so that this function is available. It compiles and seems to work fine (doesn't cause problems with fretsonfire, at least). [1] http://www.nabble.com/FT_SubGlyphRec-in-FreeType-2.2---Amanith-t1306926.html
Patch and ebuild work great. Thanks Elliott.
fixed in cvs, cheers