忍者ブログ

素人翻訳

適当に翻訳する。

freetypeを作った時のエラー

 エラーその1(freetype-2.8)

[user@localhost freetype-2.8]$ make
...
...
...
libtool: link: gcc -shared -fPIC -DPIC /home/user/freetype/freetype-2.8/objs/.libs/ftsystem.o /home/user/freetype/freetype-2.8/objs/.libs/ftdebug.o /home/user/freetype/freetype-2.8/objs/.libs/ftinit.o /home/user/freetype/freetype-2.8/objs/.libs/ftbase.o /home/user/freetype/freetype-2.8/objs/.libs/ftbbox.o /home/user/freetype/freetype-2.8/objs/.libs/ftbdf.o /home/user/freetype/freetype-2.8/objs/.libs/ftbitmap.o /home/user/freetype/freetype-2.8/objs/.libs/ftcid.o /home/user/freetype/freetype-2.8/objs/.libs/ftfntfmt.o /home/user/freetype/freetype-2.8/objs/.libs/ftfstype.o /home/user/freetype/freetype-2.8/objs/.libs/ftgasp.o /home/user/freetype/freetype-2.8/objs/.libs/ftglyph.o /home/user/freetype/freetype-2.8/objs/.libs/ftgxval.o /home/user/freetype/freetype-2.8/objs/.libs/ftlcdfil.o /home/user/freetype/freetype-2.8/objs/.libs/ftmm.o /home/user/freetype/freetype-2.8/objs/.libs/ftotval.o /home/user/freetype/freetype-2.8/objs/.libs/ftpatent.o /home/user/freetype/freetype-2.8/objs/.libs/ftpfr.o /home/user/freetype/freetype-2.8/objs/.libs/ftstroke.o /home/user/freetype/freetype-2.8/objs/.libs/ftsynth.o /home/user/freetype/freetype-2.8/objs/.libs/fttype1.o /home/user/freetype/freetype-2.8/objs/.libs/ftwinfnt.o /home/user/freetype/freetype-2.8/objs/.libs/truetype.o /home/user/freetype/freetype-2.8/objs/.libs/type1.o /home/user/freetype/freetype-2.8/objs/.libs/cff.o /home/user/freetype/freetype-2.8/objs/.libs/type1cid.o /home/user/freetype/freetype-2.8/objs/.libs/pfr.o /home/user/freetype/freetype-2.8/objs/.libs/type42.o /home/user/freetype/freetype-2.8/objs/.libs/winfnt.o /home/user/freetype/freetype-2.8/objs/.libs/pcf.o /home/user/freetype/freetype-2.8/objs/.libs/bdf.o /home/user/freetype/freetype-2.8/objs/.libs/sfnt.o /home/user/freetype/freetype-2.8/objs/.libs/autofit.o /home/user/freetype/freetype-2.8/objs/.libs/pshinter.o /home/user/freetype/freetype-2.8/objs/.libs/raster.o /home/user/freetype/freetype-2.8/objs/.libs/smooth.o /home/user/freetype/freetype-2.8/objs/.libs/ftcache.o /home/user/freetype/freetype-2.8/objs/.libs/ftgzip.o /home/user/freetype/freetype-2.8/objs/.libs/ftlzw.o /home/user/freetype/freetype-2.8/objs/.libs/ftbzip2.o /home/user/freetype/freetype-2.8/objs/.libs/psaux.o /home/user/freetype/freetype-2.8/objs/.libs/psnames.o -L/usr/local/lib -lbz2 /usr/local/lib/libpng12.so -lz -lm -Wl,-soname -Wl,libfreetype.so.6 -Wl,-version-script -Wl,/home/user/freetype/freetype-2.8/objs/.libs/libfreetype.ver -o /home/user/freetype/freetype-2.8/objs/.libs/libfreetype.so.6.14.0
/usr/bin/ld: /usr/local/lib/libbz2.a(bzlib.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libbz2.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [/home/user/freetype/freetype-2.8/objs/libfreetype.la] エラー 1
[user@localhost freetype-2.8]$

 ソースコードからインストールした「bzip2-1.0.6」の Makefile を次のように書き換え、アンインストール・再構築・再インストールして解決。

...
...
#CC=gcc
CC=gcc -fPIC
...
...

==========

 エラーその2(freetype-2.9)

[user@localhost freetype-2.9]$ make
...
...
...
type-2.9/objs/raster.lo /home/user/freetype/freetype-2.9/objs/smooth.lo /home/user/freetype/freetype-2.9/objs/ftcache.lo /home/user/freetype/freetype-2.9/objs/ftgzip.lo /home/user/freetype/freetype-2.9/objs/ftlzw.lo /home/user/freetype/freetype-2.9/objs/ftbzip2.lo /home/user/freetype/freetype-2.9/objs/psaux.lo /home/user/freetype/freetype-2.9/objs/psnames.lo -rpath /usr/local/lib -version-info 22:0:16 -L/usr/local/lib -lz -lbz2 -L/usr/local/lib -lpng12 -L/usr/local/lib -lharfbuzz -no-undefined -export-symbols /home/user/freetype/freetype-2.9/objs/ftexport.sym
/bin/grep: /usr/local/lib/libfreetype.la: No such file or directory
/bin/sed: can't read /usr/local/lib/libfreetype.la: No such file or directory
libtool: error: '/usr/local/lib/libfreetype.la' is not a valid libtool archive
make: *** [/home/user/freetype/freetype-2.9/objs/libfreetype.la] エラー 1
[user@localhost freetype-2.9]$

 harfbuzz有りのfreetypeを作るべく、まず「freetype-2.9」をインストールし、次いで「harfbuzz-1.7.5」をインストールし終えていた。その状況で「freetype-2.9」を再インストールしようとして上記のエラーが発生。

 原因は、freetypeを作り直す前にfreetypeをアンインストールしてしまったことだと思われる。

[user@localhost freetype-2.9]$ sudo make uninstall
[user@localhost freetype-2.9]$ make clean
[user@localhost freetype-2.9]$ ./configure --prefix=/usr/local
[user@localhost freetype-2.9]$ make

 としたのが問題だったようだ。「sudo make uninstall」が余計だった。

 もう一度harfbuzz無しのfreetypeをインストールし、重ねてharfbuzz有りのfreetypeを作って解決。

[user@localhost freetype-2.9]$ make clean
[user@localhost freetype-2.9]$ ./configure --prefix=/usr/local --with-harfbuzz=no
[user@localhost freetype-2.9]$ make
[user@localhost freetype-2.9]$ sudo make install
[user@localhost freetype-2.9]$ make clean
[user@localhost freetype-2.9]$ ./configure --prefix=/usr/local
[user@localhost freetype-2.9]$ make
[user@localhost freetype-2.9]$ sudo make install
PR

icu4c-59_1 の make でエラー(古いgcc)

 icu-59.1を作る際に下記のエラーが出た。

[user@localhost source]$ make
...
...
In file included from unicode/unistr.h:33,
from charstr.h:18,
from putil.cpp:73:
./unicode/char16ptr.h:69: error: expected ‘)’ before ‘p’
./unicode/char16ptr.h:117: error: expected ‘)’ before ‘p’
./unicode/char16ptr.h:176: error: expected unqualified-id before ‘p’
./unicode/char16ptr.h:176: error: expected ‘)’ before ‘p’
./unicode/char16ptr.h:176: error: expected ‘;’ before ‘p’
./unicode/char16ptr.h:225: error: expected unqualified-id before ‘p’
./unicode/char16ptr.h:225: error: expected ‘)’ before ‘p’
./unicode/char16ptr.h:225: error: expected initializer before ‘p’
...
...
...
istr.h:4002: error: expected primary-expression before ‘const’
unicode/unistr.h:4003: error: expected ‘)’ before ‘srcStart’
unicode/unistr.h:4004: error: expected ‘)’ before ‘srcLength’
unicode/unistr.h:4004: error: initializer expression list treated as compound expression
unicode/unistr.h:4004: 警告: left-hand operand of comma has no effect
unicode/unistr.h:4004: error: expected ‘,’ or ‘;’ before ‘const’
putil.cpp:2379: error: expected ‘}’ at end of input
putil.cpp:2379: error: expected ‘}’ at end of input
unicode/unistr.h:1765: 警告: inline function ‘int32_t icu_59::UnicodeString::length() const’ used but never defined
*** Failed compilation command follows: ----------------------------------------------------------
g++ -I/usr/local/include -D_REENTRANT -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=0 -DU_HAVE_STRTOD_L=1 -I. -DDEFAULT_ICU_PLUGINS="/usr/local/lib/icu" -DU_ATTRIBUTE_DEPRECATED= -DU_COMMON_IMPLEMENTATION -std=c++0x -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long -c -DPIC -fPIC -o putil.o putil.cpp
--- ( rebuild with "make VERBOSE=1 all" to show all parameters ) --------
make[1]: *** [putil.o] エラー 1
make[1]: ディレクトリ `/home/user/icu/icu/source/common' から出ます
make: *** [all-recursive] エラー 2
[user@localhost source]$

 gcc-4.4.5を使用していたのが問題らしい。gcc-4.8.1をインストールしたら解決した。

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

最新コメント

[08/18 NONAME]
[05/18 NONAME]
[04/09 NONAME]
[03/21 NONAME]
[03/20 NONAME]

最新記事

ブログ内検索

広告

バーコード

広告