On 4/20/07, Michal Suchanek <hramrach / centrum.cz> wrote: > On 4/19/07, Nobuyoshi Nakada <nobu / ruby-lang.org> wrote: > > Hi, > > > > At Thu, 19 Apr 2007 22:30:47 +0900, > > Michal Suchanek wrote in [ruby-core:10970]: > > > This would break the previous fix so I did not even try to apply this ^ > > > > Sorry, mistaken. > > > > > This part looks good and it allows building ruby as long as the binary > > > extension dir is different. However, after changing config.guess to > > > report the same platform as the previous build I can no longer build > > > ruby. > > > > Why did you change config.guess? What do you mean by "the > > previous build"? > > > > > Apparently the dl extension uses the etc extension in some way, > > > I tried to rename ect to 0etc so that it is built first, and add > > > -I$(extout) to the miniruby command line but it still does not work: > > > > 'etc' is required via fileutils.rb and mkmf.rb. > > > > > ../../miniruby -I'../..' -I'../.././lib' -I../../.ext > > > ../.././ext/dl/mkcallback.rb > callback.func > > > /sw/lib/ruby/1.8/i686-darwin/etc.bundle: [BUG] Bus Error > > > ruby 1.8.6 (2007-03-13) [i686-darwin] > > > > Can't you show the backtrace if core exists? > > > For some reason the crash does not create a core. However, running > with the same arguments inside gdb gives tis backtrace: > hmm, it does not work with the new etc extension either. Only building full ruby and using that (with DYLD_LIBRARY_PATH) works. That is also what distribution patches use. (gdb) run -I'../..' -I'../.././lib' -I../../.ext -I../../.ext/i686-darwin ../.././ext/dl/mkcallback.rb The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /sw/src/fink.build/ruby18-1.8.6-1/ruby-1.8.6/miniruby -I'../..' -I'../.././lib' -I../../.ext -I../../.ext/i686-darwin ../.././ext/dl/mkcallback.rb Reading symbols for shared libraries . done Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x00000000 0x0057a662 in st_lookup (table=0x0, key=1949342, value=0xbfffd17c) at st.c:250 250 in st.c (gdb) bt #0 0x0057a662 in st_lookup (table=0x0, key=1949342, value=0xbfffd17c) at st.c:250 #1 0x00550c49 in rb_intern (name=0x1dbe9e "Etc") at parse.y:6023 #2 0x0050e801 in rb_define_module (name=0x1dbe9e "Etc") at class.c:305 #3 0x001db647 in Init_etc () at etc.c:506 #4 0x000841e5 in dln_load (file=0x48f8e0 "../../.ext/i686-darwin/etc.bundle") at dln.c:1476 #5 0x00018c76 in rb_require_safe (fname=3294280, safe=0) at eval.c:7222 #6 0x0000c458 in rb_call0 (klass=1944720, recv=3235220, id=9449, oid=9449, argc=1, argv=0xbfffd570, body=0x1cbd80, flags=2) at eval.c:5815 #7 0x0000cdb7 in rb_call (klass=1944720, recv=3235220, mid=9449, argc=1, argv=0xbfffd570, scope=1, self=3235220) at eval.c:6062 #8 0x0000a421 in rb_eval (self=3235220, n=0x0) at eval.c:3468 #9 0x000098b2 in rb_eval (self=3235220, n=0x0) at eval.c:3263 #10 0x00016a86 in module_setup (module=0, n=0x315dbc) at eval.c:4152 #11 0x0000bebc in rb_eval (self=1939860, n=0x0) at eval.c:4082 #12 0x000185c5 in rb_load (fname=3379620, wrap=0) at eval.c:6857 #13 0x00018c23 in rb_require_safe (fname=1869740, safe=0) at eval.c:7213 #14 0x0000c458 in rb_call0 (klass=1944720, recv=1939860, id=9449, oid=9449, argc=1, argv=0xbfffea80, body=0x1cbd80, flags=2) at eval.c:5815 #15 0x0000cdb7 in rb_call (klass=1944720, recv=1939860, mid=9449, argc=1, argv=0xbfffea80, scope=1, self=1939860) at eval.c:6062 #16 0x0000a421 in rb_eval (self=1939860, n=0x0) at eval.c:3468 #17 0x000185c5 in rb_load (fname=1870020, wrap=0) at eval.c:6857 #18 0x00018c23 in rb_require_safe (fname=1877520, safe=0) at eval.c:7213 #19 0x0000c458 in rb_call0 (klass=1944720, recv=1939860, id=9449, oid=9449, argc=1, argv=0xbffff110, body=0x1cbd80, flags=2) at eval.c:5815 #20 0x0000cdb7 in rb_call (klass=1944720, recv=1939860, mid=9449, argc=1, argv=0xbffff110, scope=1, self=1939860) at eval.c:6062 #21 0x0000a421 in rb_eval (self=1939860, n=0x0) at eval.c:3468 #22 0x00018f13 in ruby_exec_internal () at eval.c:1608 #23 0x00018f44 in ruby_exec () at eval.c:1628 #24 0x00018f6f in ruby_run () at eval.c:1638 #25 0x000024f3 in main (argc=6, argv=0xbffff520, envp=0xbffff53c) at main.c:48 Thanks Michal