Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Feb 2005 22:59:35 -0600
From:      "Jeremy Messenger" <mezz7@cox.net>
To:        "Garance A Drosihn" <drosih@rpi.edu>
Cc:        ports@freebsd.org
Subject:   Re: FreeBSD Port: ruby18-1.8.2_2
Message-ID:  <opsmmv5lj89aq2h7@mezz.mezzweb.com>
In-Reply-To: <p06210219be4190359234@[128.113.24.47]>
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> <p06210219be4190359234@[128.113.24.47]>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 22 Feb 2005 23:11:28 -0500, Garance A Drosihn <drosih@rpi.edu>  
wrote:

> 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:

Oh, I thought you mean by ruby-1.8.2_1...

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

This should be no difference with with my patch, because my patch doesn't  
enable pthread stuff. I removed the pthread stuff because it causes few  
more troubles.

> 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.

I have decided to remove all patches that were from Debian and Gentoo, I  
get several emails with good points. My reason of add patches was to try  
to see if it will solve the enable threads support on multi-platform. My  
ruby28.diff is such smaller now.

> 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.

This is very weird.. Why does sparc64 dislike the -pthread? sparc64  
doesn't has libpthread support? My lastest patch will removing -lc after I  
have learned, so I have no idea if it will actually make the difference on  
sparc64 but it will be on FreeBSD 4.x.

> 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...

Thanks a lot for test!

> 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.

I don't think it needs to add amd64 like sparc64 needs, because I get many  
reports that it works fine with amd64 so far.

Cheers,
Mezz


-- 
mezz7@cox.net  -  mezz@FreeBSD.org
FreeBSD GNOME Team
http://www.FreeBSD.org/gnome/  -  gnome@FreeBSD.org



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