■掲示板に戻る■ 1- 最新10



レス数が1000を超えています。残念ながら全部は表示しません。

Solaris教えてスレッド Solaris8(其の8)

[553:馬鹿犬 (02/09/08 02:35)]

普段はrpmばっかりの犬厨ですが、ひょんな事からblade100をゲッチューしました。
OSはSolaris9で、現在使いやすい環境を構築しようと奮闘中です。
そこでEmacs21.2の導入に手間取っているので、どなたか手助けお願いします。

私の環境は
Solaris9 インストールは Enterprise(OEM support) で行いました。
Sun Freeware Package から 以下のソフトをインストール。
SMCautoc autoconf
SMCautom automake
SMCbison bison
SMCgawk gawk
SMCgcc gcc
SMCglib glib
SMClibgcc libgcc
SMCmake make
SMCperl perl


[554:馬鹿犬 (02/09/08 02:35)]
emacsのソースは、sunsite から貰ってきた emacs21.2 と leim21.2 を使用しています。


まず、./configure の段階でSolarisがはじめから持っているはずのtiffやjpegと言った
画像関係のヘッダやライブラリを見つけてくれません。configureのオプションは
--with-x-toolkit=motif \
--with-jpeg --with-png --with-tiff --with-xpm \
--x-includes=/usr/sfw/include:/usr/openwin/include \
--x-libraries=/usr/sfw/include:/usr/openwin/lib
としているはずなのに何故 (TT
pkgchkで確認しても間違いなく上で指定している場所にライブラリは存在しています。

しょうがないから画像関係はあきらめてmake すると、
In file included from /usr/openwin/include/X11/Xos.h:79,
from xfaces.c:279:
/usr/include/strings.h:25: conflicting types for `memmove'
/usr/include/iso/string_iso.h:62: previous declaration of `memmove'
/usr/include/strings.h:26: parse error before numeric constant
make[1]: *** [xfaces.o] Error 1
make[1]: Leaving directory `/opt/src/emacs-21.2/src'
make: *** [src] Error 2

とエラーになってしますのです(TT
memmoveってのが重複して定義されてるって言われても
厨な私にはどう対処して良いのかわかりません・・・

--with-x=no でmake するとちゃんと通るのですが、
できればGUIで操作したいのです・・・厨ですいません。

どうかよろしくお願いします。


[555:馬鹿犬 (02/09/08 02:54)]
一部自己解決しました(^^;
画像関係のライブラリが認識されないのはconfigureのキャッシュ(?)のせいみたいでした。
--with-x-toolkit=motif --with-jpeg --with-png --with-tiff --with-xpm \
--x-includes=/usr/sfw/include:/usr/openwin/include \
--x-libraries=/usr/sfw/lib:/usr/openwin/lib
でOKでした。

でも、>>554 の string.h と string_iso.h でmemmove()が重複している問題は解決できません(TT
どっちかを一時的にリネームすれば良いんですか?
ん〜でもそうするとリネームした方のヘッダが無いと怒られそうですし・・・
どうすれば良いんでしょうか?


[556:名無しさん@Emacs (02/09/08 03:35)]
>>555
http://130.158.36.68/pooh/emacs/


[557:名無しさん@お腹いっぱい。 (02/09/08 09:17)]
さりげなくレベル高けーですね、このスレ!

Solaris 8 2/02 Intel 落としそこねたゾヽ(`Д´)ノゴルァ
SPARC持っていてもIntelも動かしたいんだゾヽ(`Д´)ノゴルァ


[558:名無しさん@お腹いっぱい。 (02/09/08 10:22)]
>さりげなくレベル高けーですね、このスレ!
うん、日本の英知が集まってるから、ここ。
(けど、うちは質問ばっかり・・・。と、とりあえず「感謝してま〜す」)


[559:名無しさん@Emacs (02/09/08 13:50)]
gmake distclean した? > 馬鹿犬


[560:名無しさん@お腹いっぱい。 (02/09/08 14:00)]
馬鹿犬って...
すごいハンドルだな。呼びかけにくい。


[561:名無しさん@お腹いっぱい。 (02/09/08 14:57)]
>>555
手元の Solaris 8 / SPARC でも同じエラーが出たので、プリプロセッサ
使って追ってみた。確かに gcc -E -I/usr/openwin/include
-I/usr/dt/include xfaces.c と実行すると、
extern void *memcopy (void *, const void *, size_t);
extern void memcopy (void *, const void *, size_t);
の2行が入ってて、衝突してる。でも標準ヘッダをいくら追いかけても
下の行(戻り値がポインタじゃないほう)は出てこない。よくよく見たら
xfaces.c は emacs-21.2/src/s/usg5-4.h をインクルードしてて、
その201行目で
#define bcopy(src,dst,n) memmove(dst,src,n)
なんて書いてある。こいつが悪さをしてたんだな。
というわけで、emacs-21.2/src/s/usg5-4.h の 201〜203行目あたりを
コメントアウトしてみよう。

# 型の衝突なんかを追うには、プリプロセッサ (gcc -E または cpp) の
# 使い方を勉強すると良いぞ。


[562:馬鹿犬 (02/09/08 15:02)]
みなさんありがとうございます(^^

>>556
見れませぬ(TT

>>559
あ、なるほど。
make にそんなオプションがあるとは
Makefileとか消してくれるんですね。
ありがとうございます。勉強になりました(^^

>>560
いやいや質問のレベルを見てもらえればわかる思いますが本当に馬鹿なんです。
前はrpmばっかりでしたから(^^;


次10 前10 最新10

read.cgi ver5.26+ (01/10/21-)