https://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17113305112010-01-25T09:54:14ZRuby Issue Tracking SystemBackport191 - Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.https://bugs.ruby-lang.org/issues/2638?journal_id=78082010-01-25T09:54:14Znaruse (Yui NARUSE)naruse@airemix.jp
<ul></ul><p>=begin<br>
./configure --with-opt-dir=/opt/mce-pware can help you?</p>
<p>% ./configure --help<br>
`configure' configures this package to adapt to many kinds of systems.</p>
<p>Usage: ../../ruby/configure [OPTION]... [VAR=VALUE]...<br>
(snip)<br>
--with-opt-dir=DIR add optional headers and libraries DIR<br>
=end</p> Backport191 - Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.https://bugs.ruby-lang.org/issues/2638?journal_id=78192010-01-25T11:01:04Zyugui (Yuki Sonoda)yugui@yugui.jp
<ul><li><strong>Category</strong> set to <i>build</i></li><li><strong>Status</strong> changed from <i>Open</i> to <i>Assigned</i></li><li><strong>Assignee</strong> set to <i>kanemoto (Yutaka Kanemoto)</i></li></ul><p>=begin</p>
<p>=end</p> Backport191 - Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.https://bugs.ruby-lang.org/issues/2638?journal_id=78332010-01-25T17:17:30Zrubisher (Joel Soete)
<ul></ul><p>=begin<br>
no luck to me:<br>
root@myserver:/.../ruby-1.9.1-p378-aix0 # ./configure --help<br>
`configure' configures this package to adapt to many kinds of systems.</p>
<p>Usage: ./configure [OPTION]... [VAR=VALUE]...</p>
<p>To assign environment variables (e.g., CC, CFLAGS...), specify them as<br>
VAR=VALUE. See below for descriptions of some of the useful variables.</p>
<p>Defaults for the options are specified in brackets.</p>
<p>Configuration:<br>
-h, --help display this help and exit<br>
--help=short display options specific to this package<br>
--help=recursive display the short help of all the included packages<br>
-V, --version display version information and exit<br>
-q, --quiet, --silent do not print <code>checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for </code>--cache-file=config.cache'<br>
-n, --no-create do not create output files<br>
--srcdir=DIR find the sources in DIR [configure dir or `..']</p>
<p>Installation directories:<br>
--prefix=PREFIX install architecture-independent files in PREFIX<br>
[/usr/local]<br>
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX<br>
[PREFIX]</p>
<p>By default, <code>make install' will install all the files in </code>/usr/local/bin', <code>/usr/local/lib' etc. You can specify an installation prefix other than </code>/usr/local' using <code>--prefix', for instance </code>--prefix=$HOME'.</p>
<p>For better control, use the options below.</p>
<p>Fine tuning of the installation directories:<br>
--bindir=DIR user executables [EPREFIX/bin]<br>
--sbindir=DIR system admin executables [EPREFIX/sbin]<br>
--libexecdir=DIR program executables [EPREFIX/libexec]<br>
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]<br>
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]<br>
--localstatedir=DIR modifiable single-machine data [PREFIX/var]<br>
--libdir=DIR object code libraries [EPREFIX/lib]<br>
--includedir=DIR C header files [PREFIX/include]<br>
--oldincludedir=DIR C header files for non-gcc [/usr/include]<br>
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]<br>
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]<br>
--infodir=DIR info documentation [DATAROOTDIR/info]<br>
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]<br>
--mandir=DIR man documentation [DATAROOTDIR/man]<br>
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]<br>
--htmldir=DIR html documentation [DOCDIR]<br>
--dvidir=DIR dvi documentation [DOCDIR]<br>
--pdfdir=DIR pdf documentation [DOCDIR]<br>
--psdir=DIR ps documentation [DOCDIR]</p>
<p>Program names:<br>
--program-prefix=PREFIX prepend PREFIX to installed program names<br>
--program-suffix=SUFFIX append SUFFIX to installed program names<br>
--program-transform-name=PROGRAM run sed PROGRAM on installed program names</p>
<p>System types:<br>
--build=BUILD configure for building on BUILD [guessed]<br>
--host=HOST cross-compile to build programs to run on HOST [BUILD]<br>
--target=TARGET configure for building compilers for TARGET [HOST]</p>
<p>Optional Features:<br>
--disable-option-checking ignore unrecognized --enable/--with options<br>
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)<br>
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]<br>
--enable-frame-address use GCC __builtin_frame_address().<br>
--disable-largefile omit support for large files<br>
--enable-pthread use pthread library.<br>
--enable-setreuid use setreuid()/setregid() according to need even if obsolete.<br>
--disable-rpath embed run path into extension libraries.<br>
--enable-shared build a shared library for Ruby.<br>
--disable-install-doc do not install rdoc indexes during install</p>
<p>Optional Packages:<br>
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]<br>
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)<br>
--with-baseruby=RUBY use RUBY as baseruby; RUBY is the pathname of ruby<br>
--without-gcc never use gcc<br>
--with-setjmp-type select setjmp type<br>
--with-valgrind enable valgrind memcheck support.<br>
--with-dln-a-out use dln_a_out if possible<br>
--with-static-linked-ext link external modules statically<br>
--with-ruby-version=STR ruby version string for version specific directories [full] (full|minor|STR)<br>
--with-sitedir=DIR site libraries in DIR [LIBDIR/ruby/site_ruby]<br>
--with-vendordir=DIR vendor libraries in DIR [LIBDIR/ruby/vendor_ruby]<br>
--with-search-path=DIR specify the additional search path<br>
--with-rubyhdrdir=DIR core headers in DIR<br>
[[INCLUDEDIR/RUBY_BASE_NAME-RUBY_VERSION]]<br>
--with-site-hdrdir=DIR core headers in DIR INCLUDEDIR<br>
--with-vendor-hdrdir=DIR core headers in DIR INCLUDEDIR<br>
--with-mantype=TYPE specify man page type; TYPE is one of man and doc</p>
<p>Some influential environment variables:<br>
CC C compiler command<br>
CFLAGS C compiler flags<br>
LDFLAGS linker flags, e.g. -L if you have libraries in a<br>
nonstandard directory <br>
LIBS libraries to pass to the linker, e.g. -l<br>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if<br>
you have headers in a nonstandard directory <br>
CXX C++ compiler command<br>
CXXFLAGS C++ compiler flags<br>
CPP C preprocessor</p>
<p>Use these variables to override the choices made by `configure' or to help<br>
it to find libraries and programs with nonstandard names/locations.</p>
<p>Report bugs to the package provider.</p>
<p>=== <> ===</p>
<p>Sorry I don't find this configure option?</p>
<p>Thanks anyway,<br>
J.<br>
=end</p> Backport191 - Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.https://bugs.ruby-lang.org/issues/2638?journal_id=78342010-01-25T17:34:58Znaruse (Yui NARUSE)naruse@airemix.jp
<ul></ul><p>=begin<br>
1.9.1's configure --help doesn't have description about --with-opt-dir (r25767) but it actually has option.<br>
So you can use --with-opt-dir, please try it.<br>
=end</p> Backport191 - Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.https://bugs.ruby-lang.org/issues/2638?journal_id=78452010-01-25T22:42:47Zrubisher (Joel Soete)
<ul></ul><p>=begin<br>
Sorry Sir to disappoint you, first because I don't have direct access to svn ruby trunk (and I would very need it because the configure file of ruby-1.9.1-p378.tar.bz2 doesn't contains anything related to 'opt-dir').<br>
Secondly, because I have no clue how to generate this 'configure' from the svn configure.in.<br>
More over I read from ViewVC <a href="http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/configure.in?view=markup" class="external">http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/configure.in?view=markup</a> that it should request autoconf 2.60 [AC_PREREQ(2.60)] and unfortunately I only have 2.59 release.<br>
And finaly because my job will terminate by the end of week so I will not have more time to finalize this test.</p>
<p>Very sorry,<br>
J.</p>
<p>=end</p> Backport191 - Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.https://bugs.ruby-lang.org/issues/2638?journal_id=78462010-01-25T22:51:57Znaruse (Yui NARUSE)naruse@airemix.jp
<ul></ul><p>=begin<br>
I see, please report it when you can.<br>
=end</p> Backport191 - Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.https://bugs.ruby-lang.org/issues/2638?journal_id=78622010-01-26T01:13:27Zkanemoto (Yutaka Kanemoto)kinpoco@gmail.com
<ul></ul><p>=begin<br>
Hello Joel,</p>
<p>Are you using --enable-shared when you run configure?<br>
If so, is it possible to try without --enable-shared?</p>
<p>I was able to recreate this issue with --enable-shared.<br>
And unfortunately, --with-opt-dir was not able to resolve this issue<br>
in my environment.<br>
I think, getting LIBGCCPATH using <code>gcc -print-libgcc-file-name</code> in<br>
configure might be the solution.<br>
If you have any concern, please let me know. I will write a patch, later.</p>
<p>--<br>
Yutaka KANEMOTO<br>
<a href="http://d.hatena.ne.jp/kinpoco/" class="external">http://d.hatena.ne.jp/kinpoco/</a></p>
<p>=end</p> Backport191 - Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.https://bugs.ruby-lang.org/issues/2638?journal_id=78632010-01-26T01:22:59Zkanemoto (Yutaka Kanemoto)kinpoco@gmail.com
<ul></ul><p>=begin<br>
Sorry, it seemed that my issue seemed to be different from yours.<br>
In my env, the file which ruby can not find is libgcc_s.a, not libgcc.a.</p>
<p>Could you tell me exact arguments which you've passed to configure?</p>
<p>On Tue, Jan 26, 2010 at 1:13 AM, Yutaka Kanemoto <a href="mailto:kinpoco@gmail.com" class="email">kinpoco@gmail.com</a> wrote:</p>
<blockquote>
<p>Hello Joel,</p>
<p>Are you using --enable-shared when you run configure?<br>
If so, is it possible to try without --enable-shared?</p>
<p>I was able to recreate this issue with --enable-shared.<br>
And unfortunately, --with-opt-dir was not able to resolve this issue<br>
in my environment.<br>
I think, getting LIBGCCPATH using <code>gcc -print-libgcc-file-name</code> in<br>
configure might be the solution.<br>
If you have any concern, please let me know. I will write a patch, later.</p>
</blockquote>
<p>--<br>
Yutaka KANEMOTO<br>
<a href="http://d.hatena.ne.jp/kinpoco/" class="external">http://d.hatena.ne.jp/kinpoco/</a></p>
<p>=end</p> Backport191 - Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.https://bugs.ruby-lang.org/issues/2638?journal_id=78862010-01-26T18:05:14Zrubisher (Joel Soete)
<ul></ul><p>=begin<br>
Hello Sir,</p>
<p>Please accept my apology, I am always trying to be more accurate in my pr report but here I was a bit disturbe.</p>
<p>So here is my configure options:<br>
./configure <br>
--prefix=/opt/${Co}pware <br>
--program-suffix=1.9 <br>
--libexecdir="${prefix}/lib/ruby1.9" <br>
--mandir=/opt/${Co}pware/man <br>
--infodir=/opt/${Co}pware/info <br>
--enable-shared</p>
<p>(with variable Co="mce-" as you certainly guess)</p>
<p>That said, # gcc -print-libgcc-file-name<br>
/opt/freeware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.0/libgcc.a</p>
<p>returns well the full path of libgcc.a but my libgcc_s.a is in the same dir:</p>
<a name="ll-optfreewarelibgccpowerpc-ibm-aix5300420"></a>
<h1 >ll /opt/freeware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.0/<a href="#ll-optfreewarelibgccpowerpc-ibm-aix5300420" class="wiki-anchor">¶</a></h1>
<p>total 7616<br>
drwxr-xr-x 6 root system 4096 Aug 07 06:49 .<br>
drwxr-xr-x 3 root system 256 Mar 25 2008 ..<br>
drwxr-xr-x 7 root system 4096 Aug 07 06:47 include<br>
drwxr-xr-x 3 root system 256 Jul 31 07:11 install-tools<br>
-rw-r--r-- 1 root system 124713 Mar 25 2008 libgcc.a<br>
-rw-r--r-- 1 root system 45584 Mar 25 2008 libgcc_eh.a<br>
-rw-r--r-- 1 root system 125986 Feb 18 2008 libgcc_s.a<br>
-rw-r--r-- 1 root system 27086 Mar 25 2008 libgcov.a<br>
-rwxr-xr-x 1 root system 3376733 Mar 25 2008 libstdc++.a<br>
-rw-r--r-- 1 root system 178720 Mar 25 2008 libsupc++.a<br>
drwxr-xr-x 2 root system 256 Aug 07 06:49 ppc64<br>
drwxr-xr-x 3 root system 256 Aug 07 06:49 pthread</p>
<p>Well it would be more clean to run full 'make test' but after the installation some samples seems to work fine:</p>
<a name="ruby19-samplefibrb"></a>
<h1 >ruby1.9 ./sample/fib.rb<a href="#ruby19-samplefibrb" class="wiki-anchor">¶</a></h1>
<p>6765</p>
<a name="ruby19-testtest_timeoutrb"></a>
<h1 >ruby1.9 ./test/test_timeout.rb<a href="#ruby19-testtest_timeoutrb" class="wiki-anchor">¶</a></h1>
<p>Loaded suite ./test/test_timeout<br>
Started<br>
.<br>
Finished in 0.134635 seconds.</p>
<a name="ruby19-testrubytest_threadrb"></a>
<h1 >ruby1.9 ./test/ruby/test_thread.rb<a href="#ruby19-testrubytest_threadrb" class="wiki-anchor">¶</a></h1>
<p>Loaded suite ./test/ruby/test_thread<br>
Started<br>
...............................<br>
Finished in 21.258614 seconds.</p>
<p>31 tests, 101 assertions, 0 failures, 0 errors, 0 skips</p>
<p>1 tests, 1 assertions, 0 failures, 0 errors, 0 skips</p>
<p>Anyway, I already see 2 issues:<br>
- I don't now if it wouldn't be better to use the 'pthread' version of libgcc_s<br>
(/opt/freeware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.0/pthread)?<br>
- how would I manage a 64bit build:<br>
* normaly I would simply use -m64 gcc compile option to do so;<br>
* but "# gcc -m64 -print-libgcc-file-name" always return same result and not<br>
/opt/freeware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.0/ppc64?</p>
<p>Thanks a lot for your attention,<br>
J.</p>
<p>=end</p> Backport191 - Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.https://bugs.ruby-lang.org/issues/2638?journal_id=79322010-01-27T16:42:35Zrubisher (Joel Soete)
<ul></ul><p>=begin<br>
Hello Sir,</p>
<p>Just a small update to tell you how did I also manage some 'make test'.</p>
<p>Because ruby1.9 is not yet installed at the moment of the make test, I have to add the build dir to the lib search path thanks to LIBPATH:</p>
<a name="export-LIBPATHMyBuildTreeruby-191-p378-aix0"></a>
<h1 >export LIBPATH="/MyBuildTree/ruby-1.9.1-p378-aix0"<a href="#export-LIBPATHMyBuildTreeruby-191-p378-aix0" class="wiki-anchor">¶</a></h1>
<p>And also because some more mem for some test,</p>
<a name="export-LDR_CNTRL0x80000000"></a>
<h1 >export LDR_CNTRL=0x80000000<a href="#export-LDR_CNTRL0x80000000" class="wiki-anchor">¶</a></h1>
<p>finaly I can grab following results:<br>
Testing.</p>
<p>sample/test.rb:assignment ....................................................................................................................................................................................................................................................................................................................................................................................<br>
sample/test.rb:condition ..<br>
sample/test.rb:if/unless ...<br>
sample/test.rb:case .....<br>
sample/test.rb:while/until ........<br>
sample/test.rb:exception ..........<br>
sample/test.rb:array .......................................<br>
sample/test.rb:hash ...........................<br>
sample/test.rb:iterator ...............................................................................................................<br>
sample/test.rb:float ................................................................................<br>
sample/test.rb:bignum ...............................<br>
sample/test.rb:string & char ..............................................................<br>
sample/test.rb:assignment ..........<br>
sample/test.rb:call ......<br>
sample/test.rb:proc .........<br>
sample/test.rb:signal ..<br>
sample/test.rb:eval .............................<br>
sample/test.rb:system .........<br>
sample/test.rb:const .....<br>
sample/test.rb:clone .....<br>
sample/test.rb:marshal ....<br>
sample/test.rb:pack ....<br>
sample/test.rb:math ..<br>
sample/test.rb:struct ......<br>
sample/test.rb:variable ...........<br>
sample/test.rb:trace ...<br>
sample/test.rb:defined? ............<br>
sample/test.rb:alias ......<br>
sample/test.rb:path .......................<br>
sample/test.rb:gc ....<br>
test succeeded</p>
<p>test_attr.rb ..<br>
test_autoload.rb ..........<br>
test_block.rb .......................................................<br>
test_class.rb ............................................<br>
test_eval.rb ...................................<br>
test_exception.rb .................................<br>
test_finalizer.rb .<br>
test_flip.rb .<br>
test_flow.rb ............................................<br>
test_fork.rb .<br>
test_io.rb ............F.<br>
test_jump.rb .........................<br>
test_literal.rb ....................................................................................................................................................<br>
test_load.rb ..<br>
test_marshal.rb .<br>
test_massign.rb ..................................<br>
test_method.rb ...........................................................................................................................................................................................................................<br>
test_objectspace.rb ...<br>
test_proc.rb .................................bootstraptest.tmp.rb:5:in <code><main>': ok (RuntimeError) . test_struct.rb . test_syntax.rb ..................................................................................................................................................... test_thread.rb .............................................. #239 test_io.rb:93:in </code>block in <top (required)>':<br>
at_exit { p :foo }</p>
<pre><code> megacontent = "abc" * 12345678
#File.open("megasrc", "w") {|f| f << megacontent }
Thread.new { sleep rand*0.2; Process.kill(:INT, $$) }
r1, w1 = IO.pipe
r2, w2 = IO.pipe
t1 = Thread.new { w1 << megacontent; w1.close }
t2 = Thread.new { r2.read }
IO.copy_stream(r1, w2) rescue nil
r2.close; w2.close
r1.close; w1.close
#=> killed by SIGKILL (signal 9)
</code></pre>
<p>FAIL 1/902 tests failed<br>
make: *** [btest-ruby] Error 1</p>
<p>I have to kill 'test_io.rb' because it never end; truss showing me:<br>
[snip]<br>
yield() =<br>
thread_tsleep(0, 0xF0483C84, 0x00000000, 0x30116E38) = 0<br>
thread_waitact(400) = 1<br>
yield() =<br>
thread_tsleep(0, 0xF0483C84, 0x00000000, 0x30116E38) = 0<br>
thread_waitact(400) = 1<br>
yield() =<br>
[snip]</p>
<p>Hope it can help: this certainly my last opportunity of test on this platform,<br>
J.<br>
=end</p> Backport191 - Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.https://bugs.ruby-lang.org/issues/2638?journal_id=811682019-08-27T16:56:12Zjeremyevans0 (Jeremy Evans)merch-redmine@jeremyevans.net
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/81168/diff?detail_id=54845">diff</a>)</li><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Closed</i></li></ul>