Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Feb 2005 23:11:28 -0500
From:      Garance A Drosihn <drosih@rpi.edu>
To:        "Jeremy Messenger" <mezz7@cox.net>
Cc:        ports@freebsd.org
Subject:   Re: FreeBSD Port: ruby18-1.8.2_2
Message-ID:  <p06210219be4190359234@[128.113.24.47]>
In-Reply-To: <opsmma9em59aq2h7@mezz.mezzweb.com>
References:  <64348.207.219.213.162.1109011818.squirrel@207.219.213.162> <a5d5f155be4e65d41f9775df96135160@khera.org> <20050221194954.GA49438@xor.obsecurity.org> <opsmkkzit99aq2h7@mezz.mezzweb.com> <6a2d0a658b1cfe9503183eb978e4e2d6@snsonline.net> <opsmklbltj9aq2h7@mezz.mezzweb.com> <p0621020abe40281a2ae3@[128.113.24.47]> <opsmk268vc9aq2h7@mezz.mezzweb.com> <p06210211be4077eee0cc@[128.113.24.47]> <opsmk4tyj19aq2h7@mezz.mezzweb.com> <opsmladoez9aq2h7@mezz.mezzweb.com> <fe58da1363cefb8f0cbf9c24ba7b2aa9@snsonline.net> <opsmlb11jb9aq2h7@mezz.mezzweb.com> <opsmleaxs29aq2h7@mezz.mezzweb.com> <p06210218be4149c30f49@[128.113.24.47]> <opsmma9em59aq2h7@mezz.mezzweb.com>

next in thread | previous in thread | raw e-mail | index | archive | help
At 3:28 PM -0600 2/22/05, Jeremy Messenger wrote:
>On Tue, 22 Feb 2005, Garance A Drosihn <drosih@rpi.edu> wrote:
>>
>>This still runs into a core-dump in mini-ruby on Sparc64,
>>6.x-current.  The present ruby18 port (ruby-1.8.2_2) also
>>coredumps.  The previous port (ruby-1.8.2_1) does compile
>>and work on sparc64.
>
>What will it happens if you redo a clean ruby18, but only apply
>Makefile patch? Only difference between ruby-1.8.2_1 and patch
>are multi-patches from Debian/Gentoo and get ruby to use the
>${PTHREAD_*}. Can -lc and ${PTHREAD_LIBS} be use at the same
>time?

It seems there are two different issues.

When it comes to the present port (ruby-1.8.2_2), it compiles
fine on sparc64 if I change one line in the Makefile:

  .include <bsd.port.pre.mk>
-.if ${OSVERSION} >= 502102
+.if ${OSVERSION} >= 502102 && ${ARCH} != "sparc64"
  RUBY_ENABLE_PTHREAD?=  public demand
  .endif

That would be the quickest and safest fix when it comes to the
sparc64 platform.

   - - - -
When it comes to the version with the changes you posted, it
*compiles* fine on sparc64 if I remove the file:

      files/patch-ruby-1.6.8-fix-x86_64

which is one of the patches that you added.  However, while that
gets it to compile, the result then fails a 'make test' done in
the work/ruby-1.8.2 directory.  So I also had to change a few
lines in what you had in the makefile.  Note that if I do *just*
the makefile changes, I still get the coredump.  So the above
file still needs to be removed in addition to the makefile changes.

The patch that I end up with is at:

http://people.freebsd.org/~gad/ports/ruby18+mezz+gad_3.diff

My patch is about the same as your last patch, minus the
patch-ruby-1.6.8-fix-x86_64 file, plus my changes to the Makefile.

I compiled and tested this on powerpc and sparc64.  I haven't done
much else testing on it.  I realize that seems lame, but my sparc64
system is the slowest machine I have.  As it was, this minor change
took me about six hours to come up with...

This probably needs much more testing before being committed, in
which case it might be a good idea to commit the first change that
I described (probably adding && ${ARCH} != "amd64" to it), just so
people can build ruby until we can come up with a full-tested patch
for all the platforms.

-- 
Garance Alistair Drosehn            =   gad@gilead.netel.rpi.edu
Senior Systems Programmer           or  gad@freebsd.org
Rensselaer Polytechnic Institute    or  drosih@rpi.edu



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?p06210219be4190359234>