Thanks Darix, On 10/22/2010 at 12:24 AM, Marcus Rueckert <darix@opensu.se> wrote:
On 2010-10-21 06:45:08 -0600, Tim Serong wrote:
Can anyone tell me if BleakHouse[1] is packaged anywhere on openSUSE? I note a commented-out define to enable it in the ruby spec file, and a note in the changelog from 2007-12-06 that support for building with bleak_house was added, but this requires the "ruby-bleakhouse" package, which doesn't seem to exist (hopefully I'm just missing something obvious).
I was planning on shipping with because the original patch had no significant overhead. but right before i wanted to enable the patch in factory upstream changed it so that the overhead became significant.
nowadays you would need a paralle ruby installation for that. but i didnt package that yet.
I've experimentally packaged it (see home:tserong/rubygem-bleak_house), but TBH I think "that way lies madness". It seems to work on SLE 11 SP1, and builds on SLE 11, SLE 11 SP1 and openSUSE 11.2, but not on 11.3 or Factory. This is because the gem itself includes a copy of the Ruby source (ruby-1.8.7-p174.tar.bz2) which obviously doesn't have any of our patches applied from devel:languages:ruby/ruby. So while it does run and give you a leak report, if you use it, you're running against a slightly different version of Ruby than you ordinarily would be. I'd need to make it pull in our ruby srpm (or something like that during build) to correct this. Also, I had to patch the gem a bit, which I'm not wildly happy about. In home:tserong/rubygem-bleak_house see: make-configure-newer-than-configure.in.patch nasty-hack-to-fix-bindir.patch Do you think there's any point pursuing this further?
Alternately, can anyone recommend any other good memory leak checkers?
memprof [1] comes to mind. but it doesnt work with external debugsymbols yet. :/ I asked upstream about it already but I havent seen anything about supporting that in the release notes so far.
Looks like the i586 build is busted. I get: gcc -I. -I/usr/include/libdwarf -I. -I/usr/lib/ruby/1.8/i586-linux -I. -DHAVE_YAJL_YAJL_GEN_H -DHAVE_ELF -DHAVE_DWARF -D_ARCH_i586_ -D_FILE_OFFSET_BITS=64 -fPIC -march=i586 -mtune=i686 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -g -fno-strict-aliasing -fPIC -c memprof.c In file included from memprof.c:22: arch.h:9:2: error: #error "Unsupported architecture! Cannot continue compilation." I haven't looked at this in any detail yet though. Regards, Tim -- Tim Serong <tserong@novell.com> Senior Clustering Engineer, OPS Engineering, Novell Inc. -- To unsubscribe, e-mail: opensuse-ruby+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ruby+help@opensuse.org