| adm | Find | login register |
guest |
我使用 archlinux,以下列方式產生 gcin
cd $startdir/src/$pkgname-$pkgver 發現 必須先 cd /usr/lib/gcin 才能執行 gcin 不然會找不到 gcin 的 library. | |||||||||
guest |
The error message is: gcin: error while loading shared libraries: gcin1.so: cannot open shared object file: No such file or directory
it works on linux 32 system. But can not work on linux 64 bit I think this is caused by configure file or loading lib algorithm. Or, do you know what *.c file is related to this problem?
I've already contact the archlinux's package maintainer, but as you see, there is nothing special configure as my previous post. | |||||||||
eliu joined: 2007-08-09 posted: 11474 promoted: 617 bookmarked: 187 新竹, 台灣 |
| |||||||||
guest |
不是這樣的, archlinux 64 bit 上只有一個 /usr/lib 目錄. | |||||||||
eliu joined: 2007-08-09 posted: 11474 promoted: 617 bookmarked: 187 新竹, 台灣 |
看一下 可能 LD_RUN_PATH 有錯 ?
$ldd /usr/local/bin/gcin | |||||||||
guest |
ldd `which gcin` 請問這要怎麼設呢? 要怎麼讓package maintainer可以包裝好呢? | |||||||||
eliu joined: 2007-08-09 posted: 11474 promoted: 617 bookmarked: 187 新竹, 台灣 |
gcin1.so 的 path 是由 LD_RUN_PATH 指定 如果弄不出來,可以考慮不要拆成 .so Makefile
gcin: $(OBJS) $(IMdkitLIB) $(im-srv) | |||||||||
guest |
我想應該是這一行的指定在 configure 時沒效. libdir=$startdir/pkg/usr/lib 我看到 config.mak 裏面 libdir=$(DESTDIR)/usr/lib64 但還是不知道改怎麼修正.(難道是要 report 給 autoconf 作者?) | |||||||||
eliu joined: 2007-08-09 posted: 11474 promoted: 617 bookmarked: 187 新竹, 台灣 |
| |||||||||
guest |
難道不是 ./configure 產生的 libdir=$(DESTDIR)/usr/lib64 嗎? | |||||||||
guest |
我找到問題, 但是, 這需要 gcin 作者修改. 測過 1.4.1 仍有此問題. 即 - 參考 http://bugs.archlinux.org/task/7225 在 configure 過後, 手工修改 config.mak
libdir=$(DESTDIR)/usr/lib64 libdir=$(DESTDIR)/usr/lib
主要原因是作者假設 arch 64 系統依定會有 /usr/lib64 目錄, 但是 ArchLinux x86_64 底下, 標榜只放純 64 bit 程式, 所以沒有那個目錄. 只有 /usr/lib, 另外, 要額外裝才有 /usr/lib32 | |||||||||
dlin joined: 2008-06-20 posted: 11 promoted: 0 bookmarked: 0 |
這應該是 gcin 作者要調整的, autoconf 就是要能夠適應各種環境. 因為設定的好, confingure 就應該能引用 /usr/lib/gcin, 而非 /usr/lib64/gcin 才對. | |||||||||
dlin joined: 2008-06-20 posted: 11 promoted: 0 bookmarked: 0 |
不好意思. 我手動下 ./configure 時出現
testing if you have QT_IM_MODULE dir:/usr/lib/qt4/plugins/lib64/inputmethods support 請問這是不是我少裝什麼呢? 還是並不一定需要. 我有裝 qt4. 我大概知道問題出在那 configure script
LIB='lib' 因為 archlinux 也有 /lib64 目的是為了一些 binary distribution package 用. 所以 LIB=lib64 而最後 libdir=$(DESTDIR)/usr/local/lib64 並非 archlinux 想要用的 libdir=$(DESTDIR)/usr/local/lib 我再去找 archlinux package maintainer 問問看... 謝啦!
| |||||||||
swyear joined: 2007-10-04 posted: 127 promoted: 4 bookmarked: 0 |
舉例說明 在 openSUSE qt3 inputmethods 目錄在 /usr/lib64/qt3/plugins/inputmethods 而非像 mandrava 在 /usr/lib/qt3/plugins/lib64/inputmethods 所以就自己改以符合發行版本的特性就好了
--- configure.orig 2007-07-10 11:22:51.000000000 +0800 | |||||||||
本人已不在此站活動 joined: 2007-09-19 posted: 4946 promoted: 325 bookmarked: 206 歸隱山林 |
把 configure 以下的判斷式註解起來就行了:
#if [ -d /lib64 ]; then
|
| adm | Find | login register |