[#7064] How to put version number of shared library? — Ryo HAYASAKA <hayasaka@...21.u-aizu.ac.jp>
早坂@会津大学です。
4 messages
1999/06/02
[#7082] [BUG] unpack('m') — 民斗 <tommy@...>
民斗です。
6 messages
1999/06/07
[#7091] [BUG?] load in thread — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
7 messages
1999/06/09
[#7092] Re: [BUG?] load in thread
— matz@... (Yukihiro Matsumoto)
1999/06/09
まつもと ゆきひろです
[#7102] Ruby 1.3.4-990611 — Yukihiro Matsumoto <matz@...>
Ruby 1.3.4-990611 is out, check out:
20 messages
1999/06/11
[#7108] Re: Ruby 1.3.4-990611
— Koji Arai <JCA02266@...>
1999/06/12
新井です。
[#7123] Re: Ruby 1.3.4-990611
— nagai@...
1999/06/16
永井@知能.九工大です.
[#7110] --enable-shared support — Katsuyuki Komatsu <komatsu@...>
小松です。
11 messages
1999/06/14
[#7111] Re: --enable-shared support
— WATANABE Tetsuya <tetsu@...>
1999/06/15
渡辺哲也です。
[#7173] [BUG] <<`HERE_DOC` — Koji Arai <JCA02266@...>
新井です。
7 messages
1999/06/22
[#7178] [PATCH] rubydb3x.el, ruby-mode.el — nobu.nakada@...
中田です。
7 messages
1999/06/22
[#7181] acknowledgement — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
6 messages
1999/06/23
[#7210] Ruby 1.3.4-990624 — Yukihiro Matsumoto <matz@...>
Ruby 1.3.4-990624 is out, check out:
7 messages
1999/06/24
[#7223] Ruby 1.3.4-990625 — Yukihiro Matsumoto <matz@...>
Ruby 1.3.4-990625 is out, check out:
14 messages
1999/06/25
[#7224] -Wl,-rpath on Linux (Re: Ruby 1.3.4-990625)
— Ryo HAYASAKA <hayasaka@...21.u-aizu.ac.jp>
1999/06/25
早坂@会津大学です。
[#7225] Re: -Wl,-rpath on Linux (Re: Ruby 1.3.4-990625)
— Katsuyuki Komatsu <komatsu@...>
1999/06/25
小松です。
[#7226] Re: -Wl,-rpath on Linux (Re: Ruby 1.3.4-990625)
— Katsuyuki Komatsu <komatsu@...>
1999/06/25
小松です。
[#7227] Re: -Wl,-rpath on Linux (Re: Ruby 1.3.4-990625)
— Katsuyuki Komatsu <komatsu@...>
1999/06/25
小松です。
[#7253] Re: Ruby 1.3.4-990625 — SHIROYAMA Takayuki <psi@...>
9 messages
1999/06/29
[#7258] TkVariable — Koji Arai <JCA02266@...>
新井です。
6 messages
1999/06/29
[ruby-dev:7220] install report (1.3.4-990624)
From:
Katsuyuki Komatsu <komatsu@...>
Date:
1999-06-25 07:50:00 UTC
List:
ruby-dev #7220
小松です。
1. ext/*/lib/*.rbがインストールされない
既存のマシンではファイルが残っていたので気がつかなかったのですが、
Build Directoryを作って作成する手順 ([ruby-dev:6897]参照) で
新規のマシン (RedHat-5.2) にrubyを入れたところ、
kconv.rb等の「ext/*/lib/*.rb」がインストールされませんでした。
ext/extmk.rb.inを変更して対処。
2. ext/*/dependが無視される
Build Directoryを作成した場合、ext/*/dependがまったく無視されて
いました。あと、たとえばext/dbm/dependは、
dbm.o: dbm.c $(hdrdir)/ruby.h $(hdrdir)/config.h $(hdrdir)/defines.h
となってますが、config.hはruby.hとある場所が違うので、
Makefileにtopdirを導入して、ext/extmk.rb.inで
$(hdrdir)/config.h → $(topdir)/config.h
にするような変更をしています。
dependを全部書き換えるのは面倒なのでやめました。
これに伴いAIXのDLDFLAGSの、
-bI:$(hdrdir)/ruby.imp
を
-bI:$(topdir)/ruby.imp
に変更しました。
configure.in, lib/mkmf.rb, ext/extmk.rb.inを変更して対処。
3. RedHat 5.2 --enable-sharedの微調整
RedHat 5.2で--enable-sharedでインストール後に環境変数
LD_LIBRARY_PATHを設定しなくてもシェアードライブラリを見つけ
られるようにconfigure.inで
-Wl,-rpath,/usr/lib:/lib:${prefix}/lib
をXLDFLAGSを使って追加しました。
他のプラットフォームと違ってデフォルトのパス (/lib) も入れる
必要がありました。/usr/libは不要ですがld(1)の記述を尊重して
念のため入れています。
configure.inを変更して対処。
Index: configure.in
===================================================================
RCS file: /home/cvs/ruby/configure.in,v
retrieving revision 1.1.1.2.2.22
diff -u -r1.1.1.2.2.22 configure.in
--- configure.in 1999/06/24 04:23:47 1.1.1.2.2.22
+++ configure.in 1999/06/25 07:25:05
@@ -458,7 +458,7 @@
rb_cv_dlopen=yes ;;
aix*) LDSHARED='/usr/ccs/bin/ld'
XLDFLAGS='-Wl,-bE:ruby.imp'
- DLDFLAGS='-eInit_$(TARGET) -bI:$(hdrdir)/ruby.imp -bM:SRE -T512 -H512 -lc'
+ DLDFLAGS='-eInit_$(TARGET) -bI:$(topdir)/ruby.imp -bM:SRE -T512 -H512 -lc'
rb_cv_dlopen=yes ;;
human*) DLDFLAGS=''
@@ -673,7 +673,11 @@
LIBRUBYARG='-L. -l$(RUBY_INSTALL_NAME)'
CFLAGS="$CFLAGS $CCDLFLAGS"
case "$host_os" in
- sunos4*|linux*)
+ sunos4*)
+ LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).so'
+ ;;
+ linux*)
+ XLDFLAGS='-Wl,-rpath,/usr/lib:/lib:${prefix}/lib'
LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).so'
;;
freebsd*)
Index: ext/extmk.rb.in
===================================================================
RCS file: /home/cvs/ruby/ext/extmk.rb.in,v
retrieving revision 1.1.1.3.2.22
diff -u -r1.1.1.3.2.22 extmk.rb.in
--- ext/extmk.rb.in 1999/06/24 04:24:05 1.1.1.3.2.22
+++ ext/extmk.rb.in 1999/06/25 07:25:05
@@ -147,12 +147,13 @@
end
end
-def install_rb(mfile)
+def install_rb(mfile, srcdir)
+ libdir = srcdir + "/lib"
path = []
dir = []
- Find.find("lib") do |f|
+ Find.find(libdir) do |f|
next unless /\.rb$/ =~ f
- f = f[4..-1]
+ f = f[libdir.length+1..-1]
path.push f
dir |= File.dirname(f)
end
@@ -161,7 +162,7 @@
mfile.printf "\t@test -d $(DESTDIR)$(pkglibdir)/%s || mkdir $(DESTDIR)$(pkglibdir)/%s\n", f, f
end
for f in path
- mfile.printf "\t$(INSTALL_DATA) lib/%s $(DESTDIR)$(pkglibdir)/%s\n", f, f
+ mfile.printf "\t$(INSTALL_DATA) $(srcdir)/lib/%s $(DESTDIR)$(pkglibdir)/%s\n", f, f
end
end
@@ -347,13 +348,14 @@
srcdir = #{$srcdir}
VPATH = #{$srcdir}
-hdrdir = #{$topdir}
+topdir = #{$topdir}
+hdrdir = #{$top_srcdir}
DESTDIR =
CC = @CC@
prefix = @prefix@
-CFLAGS = %s -I#{$topdir} -I#{$top_srcdir} -I@includedir@ #{CFLAGS} #$CFLAGS %s
+CFLAGS = %s -I$(topdir) -I$(hdrdir) -I@includedir@ #{CFLAGS} #$CFLAGS %s
DLDFLAGS = #$DLDFLAGS #$LDFLAGS
LDSHARED = @LDSHARED@ #{defflag}
", if $static then "" else "@CCDLFLAGS@" end, $defs.join(" ")
@@ -418,7 +420,7 @@
$(INSTALL_DLLIB) $(DLLIB) $(DESTDIR)$(archdir)/$(DLLIB)
"
end
- install_rb(mfile)
+ install_rb(mfile, $srcdir)
mfile.printf "\n"
if $static
@@ -449,11 +451,11 @@
"
end
- if File.exist?("depend")
- dfile = open("depend", "r")
+ if File.exist?("#{$srcdir}/depend")
+ dfile = open("#{$srcdir}/depend", "r")
mfile.printf "###\n"
while line = dfile.gets()
- mfile.printf "%s", line
+ mfile.printf "%s", line.gsub('\$\(hdrdir\)/config.h', '$(topdir)/config.h')
end
dfile.close
end
Index: lib/mkmf.rb
===================================================================
RCS file: /home/cvs/ruby/lib/mkmf.rb,v
retrieving revision 1.1.1.2.2.18
diff -u -r1.1.1.2.2.18 mkmf.rb
--- lib/mkmf.rb 1999/06/24 04:24:08 1.1.1.2.2.18
+++ lib/mkmf.rb 1999/06/25 07:25:05
@@ -349,6 +349,7 @@
#### Start of system configuration section. ####
srcdir = #{$srcdir}
+topdir = #{$hdrdir}
hdrdir = #{$hdrdir}
CC = #{CONFIG["CC"]}
--
小松克行 / Katsuyuki Komatsu <komatsu@sarion.co.jp>