Thread View: fj.lang.misc
4 messages
4 total messages
Started by KAWAGUCHI Yuuichi
Thu, 22 Jan 1998 00:00
Installation of Python1.5
Author: KAWAGUCHI Yuuichi
Date: Thu, 22 Jan 1998 00:00
Date: Thu, 22 Jan 1998 00:00
41 lines
1812 bytes
1812 bytes
川口@苫小牧高専といいます. 今回python1.5をコンパイルしてみました.環境は OS: SunOS 4.1.3_U1 (w/o JLE) Compiler: gcc 2.7.2.2 X: X11R6.3 です.READMEに従い"sh ./configure","make"しましたと ころ,途中はエラーや警告さえなくうまくいっていたので すが,最後に gcc -g -O2 -I./../Include -I.. -DHAVE_CONFIG_H -c python.c -o python.o gcc python.o \ -L.. -lpython1.5 -ldl -lm -lc.1.9 -o python collect2: ld returned 4 exit status ld: -lpython1.5: expected libx.so(.major.minor.xxx) make[1]: *** [link] Error 1 make[1]: Leaving directory `/usr/local/src/Python-1.5/Modules' make: *** [python] Error 1 ってなことで怒られます.このldのエラーは -lpython1.5 (つまりlibpython1.5.a) は libx.so.mm.nn.xxを必要としていますが, それが見付かりません. という意味だと思うのですが, (1) その解釈は正しいかどうか (2) このエラーを無くする方法には何があるか に関して,どなたかご存じの方がいっらしゃいましたら, 情報の提供をお願いします. # "-l"が付いているのは何か変な気がします. -- 苫小牧工業高等専門学校 情報工学科 教官 川口 雄一 電話:0144-67-8936 mail:yuuichi@jo.tomakomai-ct.ac.jp
Re: Installation of Python1.5
Author: ISHIKAWA, Masahiro
Date: Fri, 23 Jan 1998 00:00
Date: Fri, 23 Jan 1998 00:00
86 lines
4227 bytes
4227 bytes
石川@DB研.筑波大 と申します.
yuuichi@georg.jo.tomakomai-ct.ac.jp (KAWAGUCHI Yuuichi) writes:
> 川口@苫小牧高専といいます.
[snip]
> gcc -g -O2 -I./../Include -I.. -DHAVE_CONFIG_H -c python.c -o python.o
> gcc python.o \
> -L.. -lpython1.5 -ldl -lm -lc.1.9 -o python
> collect2: ld returned 4 exit status
> ld: -lpython1.5: expected libx.so(.major.minor.xxx)
>
> make[1]: *** [link] Error 1
> make[1]: Leaving directory `/usr/local/src/Python-1.5/Modules'
> make: *** [python] Error 1
>
> ってなことで怒られます.このldのエラーは
あまり SunOS 4.x は触っていないし, その上で Python 1.5 をコンパイルした
事もなかったんですが,
SunOS 4.1.4
gcc 2.7.2
で試してみました.
このエラーが発生する根本的な原因は分りませんでしたが, 一応こちらで
試してわかった事だけ書きます.
エラーの回避法については最後に書きました.
こちらでも
$ (cd Modules; gcc python.o -L.. -lpython1.5 -lnsl -ldl -lm -o python)
collect2: ld returned 4 exit status
ld: -lpython1.5: expected libx.so(.major.minor.xxx)
と, 同様のエラーになりました.
-lpython1.5.a というオプションは -L.. で指定している Modules/.. に
出来ているはずの libpython1.5.a とリンクするためのものですので, 不
正なものではないと思うのですが...
なぜだろう, と思いながら次のようにしてみると同様なエラーになりまし
た(-lnsl を -lnsl1.0 にして -lpython1.5 の前に持っていっただけ):
$ (cd Modules; gcc python.o -L.. -lnsl1.0 -lpython1.5 -ldl -lm -o python)
collect2: ld returned 4 exit status
ld: -lnsl1.0: expected libx.so(.major.minor.xxx)
さらに次のようにしても同様のエラーになりました (-lmonty.python にし
た):
$ (cd Modules; gcc python.o -L.. -lmonty.python -ldl -lnls -lm -o python)
collect2: ld returned 4 exit status
ld: -lmonty.python: expected libx.so(.major.minor.xxx)
存在しないライブラリを指定すると
$ (cd Modules; gcc python.o -L.. -lmontypython -lnsl -ldl -lm -o python)
collect2: ld returned 4 exit status
ld: -lmontypython: No such file or directory
というメッセージになるはずですので, どうも -l オプションで指定する
ライブラリ名の中に `.' が入っているとこのようなエラーにされてしまう
ようです(この理由は分りません...).
とりあえずこのエラーを避けるには
$ (cd Modules; gcc python.o ../libpython1.5.a -ldl -lnls -lm -o python)
とすれば良いです.
この部分だけ手でやるのも何ですので, Modules/Makefile.pre.in を次の
ように変更してから ./configure すればあとは make 一発で最後まで通る
と思います.
135c135
< -L.. -lpython$(VERSION) $(MODLIBS) $(LIBS) $(SYSLIBS) -o python $(LDLAST)
---
> $(LIBRARY) $(MODLIBS) $(LIBS) $(SYSLIBS) -o python $(LDLAST)
P.S.
ご存知かも知れませんが ;-) 日本語で Python についての情報交換をす
るためのメイリングリスト python-ml-jp というものがあります.
<A HREF="http://www.dblab.is.tsukuba.ac.jp/python-ml-jp/">
ただ今(というかいつでも)参加者募集中です :-)
/\
\\ 石川雅弘 ISHIKAWA, Masahiro // |==|
\\ 筑波大学大学院工学研究科 電子・情報工学専攻(博士後期1年) // |DD|
\\ 筑波大学電子情報工学系 データベース研究室 tel 0298-53-5385 // /||\
Re: Installation of Python1.5
Author: KAWAGUCHI Yuuichi
Date: Sat, 24 Jan 1998 00:00
Date: Sat, 24 Jan 1998 00:00
35 lines
1952 bytes
1952 bytes
川口@苫小牧高専です. 色々やっていただいたようで,お手数をおかけしました. どうもあり難うございます. In article <sqtafcn75vz.fsf@tierra.dblab.is.tsukuba.ac.jp> lunatic@tierra.dblab.is.tsukuba.ac.jp (ISHIKAWA, Masahiro) writes: > とりあえずこのエラーを避けるには > > $ (cd Modules; gcc python.o ../libpython1.5.a -ldl -lnls -lm -o python) > > とすれば良いです. 何人かの方から,石川さんのおっしゃるような -lpython1.5 → libpython1.5.a という変更をメイルで教えていただきました.それで,最 初のコンパイル時に忘れていたTcl/Tkとreadlineを Modules/Setupに追加してコンパイルし直してみました. 今度はlibtcl.aとlibtk.aとlibreadline.aで同じような ことを言われます.実際には,この三つのうち最初にある やつについて怒られます.どうやらlibxxx.aだけがあって, libxxx.so.n.mのないライブラリについては,怒られてし まうようですね. 全部libxxx.aに書き換えて,もう一度コンパイルしてみ ようと思います.こんなエラーは初めてです:-) 経験の浅 さを露呈してしまいました. # SunOS 4.1.3ってもう過去のOSなんですね:-) あぁ(嘆息). -- 川口 雄一@苫高専情報 (yuuichi@jo.tomakomai-ct.ac.jp)
Re: Installation of Python1.5
Author: KAWAGUCHI Yuuichi
Date: Sat, 24 Jan 1998 00:00
Date: Sat, 24 Jan 1998 00:00
32 lines
1874 bytes
1874 bytes
川口@苫小牧高専です. Python-1.5をSunOS 4.1.3_U1上でコンパイルできました. 私の質問に対して助言をいただいたたくさんの方に感謝し ます.実際に試行作業までしていただいた石川さんには厚 くお礼申し上げます. 結局,みなさんのおっしゃるとおり -lpython1.5 → ../libpython1.5.a の書き換えでうまくゆきました.なお, In article <YUUICHI.98Jan24095028@georg.jo.tomakomai-ct.ac.jp> yuuichi@georg.jo.tomakomai-ct.ac.jp (KAWAGUCHI Yuuichi) writes: > 今度はlibtcl.aとlibtk.aとlibreadline.aで同じような > ことを言われます.実際には,この三つのうち最初にある > やつについて怒られます. ここは,私の誤りでした.実際の作業はlibtcl.a等ではな くlibtcl76.aというバージョン番号が付いていました.こ れを誤って"-ltcl7.6"と(禁断の)「.」を付けたために怒 られたのでした. # Solaris 2.5では,一発だったのですが. LaTeXのドキュメントを読もうと思っていますが,全部 で300ページぐらいありそうなので,印刷を躊躇していま す:-) -- 川口 雄一@苫高専情報 (yuuichi@jo.tomakomai-ct.ac.jp)
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads