[#29190] AIXでのコンパイル (オプションの統一など) — "Yutaka Kanemoto" <kinpoco@...>

金本ともうします。

21 messages 2006/08/06

[#29200] Re: [ruby-cvs:17336] ruby/lib/date: * lib/date/format.rb: specify maximum number of digits to parse — Tadayoshi Funaba <tadf@...>

ふなばです。

9 messages 2006/08/07

[#29252] 1.8.5への最終コミット — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

14 messages 2006/08/10

[#29284] CGI#out で MIMEエンコード文字列がデコードされる — とみたまさひろ <tommy@...>

とみたです。

26 messages 2006/08/17
[#29285] Re: CGI#out で MIMEエンコード文字列がデコードされる — Takahiro Kambe <taca@...> 2006/08/17

In message <20060817182312.adce9ff7.tommy@tmtm.org>

[#29286] Re: CGI#out で MIMEエンコード文字列がデコードされる — とみたまさひろ <tommy@...> 2006/08/17

とみたです。

[#29287] Re: CGI#out で MIMEエンコード文字列がデコードされる — Fujioka <fuj@...> 2006/08/17

藤岡です。

[#29288] Re: CGI#out で MIMEエンコード文字列がデコードされる — Fujioka <fuj@...> 2006/08/17

藤岡です。

[#29290] Re: CGI#out で MIMEエンコード文字列がデコードされる — Yukihiro Matsumoto <matz@...> 2006/08/17

まつもと ゆきひろです

[#29292] Re: CGI#out で MIMEエンコード文字列がデコードされる — Fujioka <fuj@...> 2006/08/17

藤岡です。

[#29291] ruby 1.8.5 preview4 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

21 messages 2006/08/17
[#29314] Re: ruby 1.8.5 preview4 — URABE Shyouhei <root@...> 2006/08/18

卜部です。

[#29319] Re: ruby 1.8.5 preview4 — Yukihiro Matsumoto <matz@...> 2006/08/19

[#29321] Re: ruby 1.8.5 preview4 — URABE Shyouhei <root@...> 2006/08/19

卜部です。

[ruby-dev:29190] AIXでのコンパイル (オプションの統一など)

From: "Yutaka Kanemoto" <kinpoco@...>
Date: 2006-08-06 16:34:49 UTC
List: ruby-dev #29190
金本ともうします。
AIXでのコンパイル環境を改善しようとしています。

先日の[ruby-dev:29173]とあわせまして、今回提出するpatchで
AIX 4.3.3.11, VisualAgeC++ 6.0, GCC4.1.1
AIX 5.1.0.9, IBM XL C/C++ Compiler 8.0, GCC4.0.0
AIX 5.3.0.4, IBM XL C/C++ Compiler 8.0, GCC4.0.0
で"--disable-ipv6(あるいは--with-wide-getaddrinfo)をつければ"、あとは余計なことをしなくてもとりあえずコンパイルはできるようしてみました。
ネットワークまわりについては今後の課題にしたいと思います。

以下変更点の簡単な説明です。
configure.inにて、gccとIBMのコンパイラでのパラメータの切り分けと統一をしました。
common.mkにて、ruby.impというエクスポートする関数を列挙したファイルを作るタイミングを変更しました。
上書きインストールのときにminirubyが落ちていたことに対する回避と、make ruby.impと明示的にしなくてもすむためです。
socket.cにて、AIX4.3.3などで欠落したマクロの定義を加えました。openldapなどいくつかのopen
sourceのものにも同じようなマクロがついていました。

また、
common.mkにて、install前にインストールしてあるライブラリを消す作業を入れました。AIXは共有モジュールをOSがつかんでしまって、インストール時にTEXT
BUSYといわれてしまうときがあります。slibcleanというコマンドをrootでうつか、そのファイルを消す必要があります。これを認めていただけるのであれば、上記のminirubyへの対応の必要がなくなるかもしれません。

このあと別便でとある#pragmaに関するワーニングを消すパッチを送ろうと思っています。
こちらであまりAIXでテストできる方がいらっしゃらなければ、ruby-talkなど別のメーリングリストなどでフィードバックを集めてからもう一度報告をするという手もあるかと思っています。
このパッチ自身についても含めて何かご意見いただけると幸いです。
よろしくおねがいいたします。

-- 
Yutaka KANEMOTO
http://d.hatena.ne.jp/kinpoco/

Attachments (1)

libmk.patch (3.06 KB, text/x-diff)
Index: common.mk
===================================================================
RCS file: /src/ruby/common.mk,v
retrieving revision 1.13.2.6
diff -r1.13.2.6 common.mk
69c69
< $(LIBRUBY_A):	$(OBJS) $(DMYEXT)
---
> $(LIBRUBY_A):	$(OBJS) $(DMYEXT) $(ARCHFILE)
71c71
< $(LIBRUBY_SO):	$(OBJS) $(DLDOBJS) $(LIBRUBY_A) $(PREP) $(ARCHFILE)
---
> $(LIBRUBY_SO):	$(OBJS) $(DLDOBJS) $(LIBRUBY_A) $(PREP)
77,78c77,78
< ruby.imp: $(LIBRUBY_A)
< 	@$(NM) -Pgp $(LIBRUBY_A) | awk 'BEGIN{print "#!"}; $$2~/^[BD]$$/{print $$1}' | sort -u -o $@
---
> ruby.imp: $(OBJS)
> 	@$(NM) -Pgp $(OBJS) | awk 'BEGIN{print "#!"}; $$2~/^[BD]$$/{print $$1}' | sort -u -o $@
114a115,116
> 	$(RM) $(prefix)/lib/$(LIBRUBY)
> 	$(RM) -r $(prefix)/lib/ruby/$(MAJOR).$(MINOR)/$(arch)
Index: configure.in
===================================================================
RCS file: /src/ruby/configure.in,v
retrieving revision 1.212.2.58
diff -r1.212.2.58 configure.in
996,1005c996,1014
< 	aix*)		: ${LDSHARED='/usr/ccs/bin/ld'}
< 			XLDFLAGS="$XLDFLAGS -Wl,-bE:ruby.imp"
< 			DLDFLAGS='-brtl -eInit_$(TARGET) -bI:$(topdir)/ruby.imp -bM:SRE -T512 -H512 '"$DLDFLAGS"
< 			LDFLAGS="-brtl $LDFLAGS"
< 			: ${ARCHFILE="ruby.imp"}
< 			TRY_LINK='$(CC) $(LDFLAGS) -oconftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS) $(CFLAGS)'
< 			TRY_LINK="$TRY_LINK"' $(src) $(LIBPATH) $(LOCAL_LIBS) $(LIBS)'
< 			: ${LIBPATHENV=SHLIB_PATH}
< 			rb_cv_dlopen=yes ;;
< 
---
>         aix*)           if test "$GCC" = yes; then
>                            : ${LDSHARED='gcc -shared'}
>                            #XLDFLAGS='-Wl,-bE:ruby.imp'
>                            DLDFLAGS='-Wl,-G -eInit_$(TARGET)'
>                            LDFLAGS='-Wl,-brtl -Wl,-bE:ruby.imp'
>                            #LDFLAGS='-Wl,-brtl -Wl,-blibpath:$(prefix)/lib:/usr/lib -L.'
>                         else
>                           : ${LDSHARED='/usr/ccs/bin/ld'}
>                           #XLDFLAGS="$XLDFLAGS -Wl,-bE:ruby.imp"
>                           #XLDFLAGS="-Wl,-bE:ruby.imp"
>                           DLDFLAGS='-G -eInit_$(TARGET)'
>                           #DLDFLAGS='-G -eInit_$(TARGET) -bI:$(topdir)/ruby.imp'
>                           LDFLAGS="-brtl -bE:ruby.imp"
>                         fi
>                         : ${ARCHFILE="ruby.imp"}
>                         TRY_LINK='$(CC) $(LDFLAGS) -oconftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS)'
>                         TRY_LINK="$TRY_LINK"' $(CFLAGS) $(src) $(LIBPATH) $(LOCAL_LIBS) $(LIBS)'
>                         : ${LIBPATHENV=SHLIB_PATH}
>                         rb_cv_dlopen=yes ;;
1313c1322
< 	LIBRUBYARG_SHARED='-L${libdir} -Wl,lib$(RUBY_SO_NAME).so'
---
> 	LIBRUBYARG_SHARED='-L${libdir} -lruby'
Index: ext/socket/socket.c
===================================================================
RCS file: /src/ruby/ext/socket/socket.c,v
retrieving revision 1.108.2.52
diff -r1.108.2.52 socket.c
197a198,203
> #ifndef CMSG_SPACE
> # define CMSG_SPACE(len) (_CMSG_ALIGN(sizeof(struct cmsghdr)) + _CMSG_ALIGN(len))
> #endif
> #ifndef CMSG_LEN
> # define CMSG_LEN(len) (_CMSG_ALIGN(sizeof(struct cmsghdr)) + (len))
> #endif

In This Thread

Prev Next