Ruby 1.8.3 preview1 Build Error on AIX 5.2

P

Philippe Lucas

------=_NextPart_000_00C5_01C57B4F.7B4E77A0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hello,

I've found other errors on AIX 5.2 with gcc 3.4.4 :

-A) Configuration error :

The configure script don't choose the right install program. It chooses the
../install-sh.
In the /usr/bin directory, there are 2 install program (install and
installbsd). The script must choose "/usr/sbin/installbsd -c"

For instance, one can add the following lines after line 3803 of configure :
...
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" ; then
# AIX install. (AIX >= 4 can have install and installbsd)
# First assure that we have AIX
# Then we have installbsd program
ac_prog=installbsd
if test -x "$as_dir/$ac_prog$ac_exec_ext"; then
# # AIX install with installbsd
ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
break 3
fi
# AIX install. It has an incompatible calling convention.
elif test $ac_prog = install &&
...


-B) Can't build the socket extension for 2 reasons :

-B1) The t_open function is in the libxti. So you have to change the
extconf.rb. Probably one can write something like :
when /powerpc-aix[45].*/
test_func = "socket"
have_library("xti", "t_open")
have_library("c","socket")
else
...

-B2) The configuration fails with an IPV6 test. But, i don't use IPV6.
So I have no idea about this error. In the attached file, you will find
mkmf.log.
On the screen i have the following messages :

RUBY_PLATFORM => [powerpc-aix5.2.0.0]
checking for t_open() in -lxti... yes
checking for socket() in -lc... yes
checking for ipv6... yes
checking for struct sockaddr_in.sin_len... yes
checking for struct sockaddr_storage.ss_family... no
checking for struct sockaddr_storage.ss_family... yes
checking for struct sockaddr.sa_len... yes
checking for netinet/tcp.h... yes
checking for netinet/udp.h... yes
checking for sendmsg()... yes
checking for recvmsg()... yes
checking for struct msghdr.msg_control... yes
checking for struct msghdr.msg_accrights... no
checking for wide getaddrinfo... no

Fatal: --enable-ipv6 is specified, and your OS seems to support IPv6
feature.
But your getaddrinfo() and getnameinfo() are appeared to be broken. Sorry,
you cannot compile IPv6 socket classes with broken these functions.
You can try --enable-wide-getaddrinfo.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
--with-opt-dir
--with-opt-include=${opt-dir}/include
--with-opt-lib=${opt-dir}/lib
--with-make-prog=make
--srcdir=.
--curdir=/usr11/home/phil/RUBY/ruby-1.8.3/UNIX_SHARED/PB_SOCKET
--ruby=/usr/local/ruby-183/bin/ruby
--with-xtilib=xti
--with-clib=c
--enable-ipv6
--disable-ipv6
--with-ipv6-lib
--with-ipv6-libdir
--enable-wide-getaddrinfo
--disable-wide-getaddrinfo

Any body has an idea ?

Philippe Lucas

------=_NextPart_000_00C5_01C57B4F.7B4E77A0
Content-Type: application/gz;
name="mkmf.log.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="mkmf.log.gz"

H4sICLNRwEIAA21rbWYubG9nAO1a/1PaShD/PX/FVmdaYiEBtbQTqm9Q02mmCA6g0/c6nbwzHOSm
IWGSQ+W1/u9v7/KFgPBEq9X6jCPkLrt3e5/P7t4mwSVn1PbYaUjCiQGOS51vzB9APwiB28GI+gUV
mA8l74IzTdOgtOCACY0UZW3gOABQCpzA73MacShZ+jgKKxXdDYZUH7nM09vHe3/q4fh0Uqpo77Qt
/bhpfbY7H+tt80A/2rM7rf1PZjdR1L3AIV4i/W5LRytlQ0dVfRSc03DklAi7eKNtamWtjFMPoNTa
BEgN0NCeUmNtyVhrwlhP9kSccObEixSdPQ8/nHAywjV4QynnrCkSHNqDURgMQjKEcxIZir4Bp3SA
CG3oCjZ4MMIT5nMYEiaw+w4h5ePQh3INLuUFLntTcGsz13E06vfkWIuAVhR3OV1RgNbxlC7nyZGV
sTNL2a+lLQX5hrTNEMVGZ9UnyI6zmKHb87LOfMcb9yi8jyaRzicjGmnu7lx3TIjoj5lTviuQslT/
YFtNs1stggDD7nTbZv2wCGW1pqzAmSSh5DwY9KUDs1nfa5i2dXRShTwViF12bmwbWwas0zBEz8r3
vzFAdhowImFE4waCix5I4dXu7ivgwTfq34QGn3KG/zrzBd5p1Kyzvt+jfRBmIt5tq26fmO2O1Woq
6/Gsyq48FkjAWKjioD14Lw9lHUlh/Tw7zzzcjAfb/lQ/NG17Hv20/xnz22Aucg0ORoYLIe+2Oh+t
vXqcbq4AP3P1CcFfMbbfGZCb6ayqJ4DpAq+zqhBmA801oBlANHZc6DOPApLRYyF1eBBOHojPVaxe
FFsn1YNFoSW7nxC1jyay/jK7dfvQatYPrSXRdUViFRpkHR3xcOxwe0iHpzScr6blNVlJkF4vtDHX
Rsy3PeqvULo9BL8H8dpX4vnaivja0gu3n97pXDXGQwTvvyq0ZTvYagV4BDtQcFwSwob6slC4StCG
WlZLuwlLUMqEy7UV76tu4g8R5i4yoFoU2X0yZN5kqVv4wW/iFbnEXs7CPF73GKPbJRGuBWJ0wCdD
9KC/s+W/eppeldCcuFa62MfjXA+cczIDd2w7h47oxxiMO2Uw/t+z04P4kRaRx7xhPTvPas6TOA25
7bbmUtK74iqpmdwZae4qHmL+vh6Se4hVCqYtdqNnUDOA7d4F9OPeM/Q3gl4Ctir0/bHvzKdHVBtG
g4L66J++3hH8P//09pc/X08pus17kQWUh9Q5e6b8UVOeUXQbyleohnBsF2sh/LIRHB4G3nNBdKOC
aLbS+ZmKJqYirmdyfNxTGZwjnjhOyAYujx7pXfq9MD+9n3+76u38DFZ3ckt/f86T2XlD95lxlXOG
Rg4oF3U28/vB9f7xvEvc92vdu70Byw/Sw0UlnfHjZfOz1bU7x/v7ZqejrMdPjWc6oZw+PJ5R+VC3
Gsdtc1Yl6YRKqpLp1D/YjdZ+vZHJpx3iRDhIppF7iS0iYUSiiJ3RIgwIwwgugljZNoZHOT6titOa
eOMdx0jqxuCidlSEDcLkBwadkJJRgqJC7Iv0D7t+cNDudNsNs/m1KC6NgpB/qVS/1hSUFxFSSGyQ
M6UGwfsdqGSt168xilEcRDaJKC+8TKZHKyP2Dw36BdmhqjUpJRsaYan37sQwdI7M/TkBdCKO0eah
iHV01G51W3Z3/2h+FI8MRMpIbfsD6pZ9VO90rBMTjBifnLjwGeF1qJH7WUAsxPpQKMRY4+VcXig0
jxuNIqy92d7arKwVIV3hS4mtqsILhCdFAaBwFrCeOhCz8VCm3mTUBAGAAS4MTkkvbl/KTwk3YThz
zBh+iX/ZLu3iYD694NNJhLHJhRTIncyzVBHjGAhjWrsqLlYlhMWi4MePREAcOQGRRVCmPCuAmIi9
QmKSEy7OaRZzKvkjcb7ML5K2mvle/opoq8tGalp28/jQbFv7H1ud7o9ps2O2T+b5mMc7RTxGBady
hqNCZkHC8uqDROeMO+4cG1NFh0Qy5EXEGdlgYubEZfNzzJsUw7VW1uTfAqMWGZY3Ds+AemjBtXNU
Nt/KWRYtfYVZpisTSer166nYaUjJt9oCNKq3hcMw7hUJw7gLDKrXYhAnPWOpg82p4e5Bxh6fyuO+
SvyAu1jBJSkgGo+EE/8hdtqFY1xmCedSpHix/BeFZFuJox2y1qaqKvNmTRWqMwrVxQpKmnhEmoyz
XEhpllbjfjEuvWC8kN96VaGMYxi3GCLZiud/6KXpaeGzpDb8F//oHX8OKwAA

------=_NextPart_000_00C5_01C57B4F.7B4E77A0--
 
N

nobuyoshi nakada

Hi,

At Tue, 28 Jun 2005 02:29:11 +0900,
Philippe Lucas wrote in [ruby-talk:146569]:
-A) Configuration error :

The configure script don't choose the right install program. It chooses the
../install-sh.
In the /usr/bin directory, there are 2 install program (install and
installbsd). The script must choose "/usr/sbin/installbsd -c"

It is not a stuff of ruby, you should claim it to autoconf
developers instead. If it is incorporated to newer autoconf,
the problem will be solved.

Or this doesn't work?

configure INSTALL="/usr/sbin/installbsd -c"
-B) Can't build the socket extension for 2 reasons :

-B1) The t_open function is in the libxti. So you have to change the
extconf.rb. Probably one can write something like :
when /powerpc-aix[45].*/
test_func = "socket"
have_library("xti", "t_open")
have_library("c","socket")

Thank you the info.
-B2) The configuration fails with an IPV6 test. But, i don't use IPV6.
So I have no idea about this error. In the attached file, you will find
mkmf.log.
On the screen i have the following messages : (snip)
Fatal: --enable-ipv6 is specified, and your OS seems to support IPv6
feature.
But your getaddrinfo() and getnameinfo() are appeared to be broken. Sorry,
you cannot compile IPv6 socket classes with broken these functions.
You can try --enable-wide-getaddrinfo.

Have you tried `configure' with the above option, or
--disable-ipv6?
 
P

Philippe Lucas

Hi,
It is not a stuff of ruby, you should claim it to autoconf
developers instead. If it is incorporated to newer autoconf,
the problem will be solved.

OK, I 'll do that.
It would be interesting for people using ruby on AIX to know that !.

Or this doesn't work?

configure INSTALL="/usr/sbin/installbsd -c"

Yes, It works.


Have you tried `configure' with the above option, or
--disable-ipv6?

Yes, it works with --enable-wide-getaddrinfo and also with --disable-ipv6.
But, I have an AIX installed by IBM. So, because extconf.rb detects that
IPV6 libraries exists, why it fails on a getaddrinfo function ?. Is it an
AIX bug or a Ruby extension configuration bug ? That's the question ?.
Perhaps, anybody using Ruby on AIX have an idea about that.

How can I give (pass on) atomaticaly somes parameters as --disable-ipv6, to
an extension module (socket) from the main Makefile ?
Is it possible ?

Thanks.

Philippe Lucas.
 
N

nobu.nokada

Hi,

At Tue, 28 Jun 2005 19:36:32 +0900,
Philippe Lucas wrote in [ruby-talk:146635]:
Yes, it works with --enable-wide-getaddrinfo and also with --disable-ipv6.
But, I have an AIX installed by IBM. So, because extconf.rb detects that
IPV6 libraries exists, why it fails on a getaddrinfo function ?. Is it an
AIX bug or a Ruby extension configuration bug ? That's the question ?.
Perhaps, anybody using Ruby on AIX have an idea about that.

Can't you show the mkmf.log file?
How can I give (pass on) atomaticaly somes parameters as --disable-ipv6, to
an extension module (socket) from the main Makefile ?
Is it possible ?

$ configure --disable-ipv6

or

$ make configure_args='--disable-ipv6'

would work.
 
K

KUBO Takehiro

Hi,

Philippe Lucas said:
Yes, it works with --enable-wide-getaddrinfo and also with --disable-ipv6.
But, I have an AIX installed by IBM. So, because extconf.rb detects that
IPV6 libraries exists, why it fails on a getaddrinfo function ?. Is it an
AIX bug or a Ruby extension configuration bug ? That's the question ?.
Perhaps, anybody using Ruby on AIX have an idea about that.

How about 'patch2' of ruby-talk:142201, which is already commited to
the CVS repository
http://www.ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/142201
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,744
Latest member
CortneyMcK

Latest Threads

Top