Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Nov 2012 22:40:25 -0600
From:      Paul Schmehl <pschmehl_lists@tx.rr.com>
To:        FreeBSD Ruby List <freebsd-ruby@freebsd.org>
Cc:        Bryan Drewery <bryan@shatow.net>
Subject:   Re: More problems than I care to think about
Message-ID:  <B628A366138E0FF150D96DA3@Pauls-MacBook-Pro.local>
In-Reply-To: <50A57292.5050005@shatow.net>
References:  <76BB3E3F07A4F68477B30C11@utd71538.campus.ad.utdallas.edu> <50A57292.5050005@shatow.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--On November 15, 2012 4:54:10 PM -0600 Bryan Drewery <bryan@shatow.net> 
wrote:

> On 11/15/2012 1:03 PM, Paul Schmehl wrote:
>> I've been trying to port Snorby to FreeBSD.  Emphasis on trying.  I run
>> into problems at every turn, and some seem unresolvable.  Snorby
>> requires ruby 1.9.2 or better.  The default version on FreeBSD is 1.8.
>> Putting RUBY_DEFAULT_VER=1.9 in /etc/make.conf breaks some of the
>> rubygem ports that will only build on 1.8.
>>
>> sysutils/rubygem-bundler was giving me fits.  I discovered that while
>> the port version is 1.1.5, the current version, which fixes the problems
>> I was having, is 1.2.2.  I created a port update for that and was going
>> to submit it, but then I discovered devel/rubygem-eventmachine "blows
>> up" with a core dump if built with 1.9.
>>
>> This is beyond discouraging and has caused me to abandon the project
>> entirely.
>>
>> It seems that we need a massive effort to update ruby and rails and all
>> gems to the latest versions.  Who is responsible for that?  How can we
>> get that done?
>>
>
> I've had similar endeavors with the ruby ports. It's not that someone is
> dropping the ball necessarily. Gems really do not work well as ports, in
> their current form, due to their hard version dependencies. I've twice
> now tried adding ports and given up, as it would mean adding multiple
> new ports, copying some others for specific versions, and even
> specifically for 1.9. It's all more trouble than it is worth.
>
> Note that I've had similar experiences with Debian as well. On my
> production rails sites, I usually just give up and use gem/bundler
> directly.
>
> I can envision this being fixed by letting gem do its own thing, and
> registering those as packages, similar to bsdpan, but I don't think this
> idea is popular, and I myself do not have time to implement even a
> proof-of-concept.
>

I gave up on a port and resorted to installing gem directly, then running 
gem install rails and bundle install to download everything the app needs. 
After all that, the command 'bundle exec rake snorby:setup' failed because 
I had the wrong libmysqlclient.so.num file installed.  (I had 
libmysqlclient.so.18, and the do_msql gem required libmysqlclient.so.15. 
Even symlinking the file failed, which is an old trick that often works.) 
That's beyond ridiculous.

So I uninstalled the mysql client and installed the correct version.  I ran 
the 'bundle exec' command again and got an error message that some function 
returned nil.

At that point I REALLY gave up.  Snorby might be the world's greatest app, 
but it is not worth the pain of rails and gem hell.  Whoever designed that 
system had their head so far up their tookus they won't see daylight for 
years.

Rule number one of programming is to write your programs so they're very 
forgiving of build dependencies.  Anything above a certain version should 
work so long as the software is being actively maintained.  But the 
do_mysql gem had a *hard-coded* dependency on mysql 5.0.  Totally nuts.

Who was the genius who decided that having hundreds of independently 
maintained gems was a good idea?  Talk about begging for failure!

I don't think there's any way the rails-gems mess could be made to work in 
the FreeBSD ports system.  In fact, I think what's there should be stripped 
out.

I understand the (FreeBSD ports) concern of wanting to make sure that the 
checksums match what you're downloading, but the rails-gems hell is not 
worthy of even running on FreeBSD and will never work in the FreeBSD ports 
system.

That's the last time I'll ever try to port that mess to FreeBSD.

Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions
are my own and not those of my employer.
*******************************************
"It is as useless to argue with those who have
renounced the use of reason as to administer
medication to the dead." Thomas Jefferson
"There are some ideas so wrong that only a very
intelligent person could believe in them." George Orwell




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