FreeBSD Port: ruby18-1.8.2_2

Garance A Drosihn drosih at rpi.edu
Tue Feb 22 20:11:45 PST 2005


At 3:28 PM -0600 2/22/05, Jeremy Messenger wrote:
>On Tue, 22 Feb 2005, Garance A Drosihn <drosih at 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 at gilead.netel.rpi.edu
Senior Systems Programmer           or  gad at freebsd.org
Rensselaer Polytechnic Institute    or  drosih at rpi.edu


More information about the freebsd-ports mailing list