More problems than I care to think about
Paul Schmehl
pschmehl_lists at tx.rr.com
Sun Nov 18 04:40:28 UTC 2012
--On November 15, 2012 4:54:10 PM -0600 Bryan Drewery <bryan at 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
More information about the freebsd-ruby
mailing list