From: Alex Date: 2009-06-03T22:20:26+09:00 Subject: [ruby-core:23689] Re: [Bug #1550](Closed) String#lstrip! raises RuntimeError on Frozen String Despite Making No Changes --001636c5a69c4949a9046b718538 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit [alex@platypus ruby]$ cat rbconfig.rb # This file was created by mkconfig.rb when ruby was built. Any # changes made to this file will be lost the next time ruby is built. module RbConfig RUBY_VERSION == "1.9.2" or raise "ruby lib version (1.9.2) doesn't match executable version (#{RUBY_VERSION})" TOPDIR = File.dirname(__FILE__).chomp!("/lib/ruby/1.9.1/i686-linux") DESTDIR = '' unless defined? DESTDIR CONFIG = {} CONFIG["DESTDIR"] = DESTDIR CONFIG["MAJOR"] = "1" CONFIG["MINOR"] = "9" CONFIG["TEENY"] = "1" CONFIG["PATCHLEVEL"] = "-1" CONFIG["INSTALL"] = '/bin/install -c' CONFIG["EXEEXT"] = "" CONFIG["prefix"] = (TOPDIR || DESTDIR + "/usr/local") CONFIG["ruby_install_name"] = "ruby" CONFIG["RUBY_INSTALL_NAME"] = "ruby" CONFIG["RUBY_SO_NAME"] = "ruby" CONFIG["PACKAGE"] = "ruby" CONFIG["BUILTIN_TRANSSRCS"] = " newline.c" CONFIG["MANTYPE"] = "doc" CONFIG["NROFF"] = "/usr/bin/nroff" CONFIG["vendorhdrdir"] = "$(rubyhdrdir)/vendor_ruby" CONFIG["sitehdrdir"] = "$(rubyhdrdir)/site_ruby" CONFIG["rubyhdrdir"] = "$(includedir)/$(RUBY_BASE_NAME)-$(ruby_version)" CONFIG["UNIVERSAL_INTS"] = "" CONFIG["UNIVERSAL_ARCHNAMES"] = "" CONFIG["configure_args"] = "" CONFIG["vendordir"] = "$(rubylibprefix)/vendor_ruby" CONFIG["sitedir"] = "$(rubylibprefix)/site_ruby" CONFIG["ruby_version"] = "1.9.1" CONFIG["sitearch"] = "$(arch)" CONFIG["arch"] = "i686-linux" CONFIG["ridir"] = "$(DATAROOTDIR)/$(RI_BASE_NAME)" CONFIG["rubylibprefix"] = "$(libdir)/$(RUBY_BASE_NAME)" CONFIG["MAKEFILES"] = "Makefile" CONFIG["THREAD_MODEL"] = "pthread" CONFIG["EXPORT_PREFIX"] = "" CONFIG["COMMON_HEADERS"] = "" CONFIG["COMMON_MACROS"] = "" CONFIG["COMMON_LIBS"] = "" CONFIG["MAINLIBS"] = "" CONFIG["ENABLE_SHARED"] = "no" CONFIG["DLDLIBS"] = " -lc" CONFIG["SOLIBS"] = "" CONFIG["LIBRUBYARG_SHARED"] = "-Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)" CONFIG["LIBRUBYARG_STATIC"] = "-Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static" CONFIG["LIBRUBYARG"] = "$(LIBRUBYARG_STATIC)" CONFIG["LIBRUBY"] = "$(LIBRUBY_A)" CONFIG["LIBRUBY_ALIASES"] = "lib$(RUBY_SO_NAME).so" CONFIG["LIBRUBY_SO"] = "lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR).$(TEENY)" CONFIG["LIBRUBY_A"] = "lib$(RUBY_SO_NAME)-static.a" CONFIG["RUBYW_INSTALL_NAME"] = "" CONFIG["rubyw_install_name"] = "" CONFIG["LIBRUBY_DLDFLAGS"] = "" CONFIG["LIBRUBY_LDSHARED"] = "$(CC) -shared" CONFIG["warnflags"] = "-Wall -Wno-unused-parameter -Wno-parentheses -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings" CONFIG["debugflags"] = "-g" CONFIG["optflags"] = "-O3" CONFIG["cxxflags"] = " $(optflags) $(debugflags) $(warnflags)" CONFIG["cflags"] = " $(optflags) $(debugflags) $(warnflags)" CONFIG["cppflags"] = "" CONFIG["RDOCTARGET"] = "install-doc" CONFIG["ARCHFILE"] = "" CONFIG["EXTOUT"] = ".ext" CONFIG["PREP"] = "miniruby$(EXEEXT)" CONFIG["setup"] = "Setup" CONFIG["EXTSTATIC"] = "" CONFIG["STRIP"] = "strip -S -x" CONFIG["TRY_LINK"] = "" CONFIG["LIBPATHENV"] = "LD_LIBRARY_PATH" CONFIG["RPATHFLAG"] = " -Wl,-R%1$-s" CONFIG["LIBPATHFLAG"] = " -L%1$-s" CONFIG["LINK_SO"] = "" CONFIG["LIBEXT"] = "a" CONFIG["DLEXT2"] = "" CONFIG["DLEXT"] = "so" CONFIG["LDSHAREDXX"] = "$(CXX) -shared" CONFIG["LDSHARED"] = "$(CC) -shared" CONFIG["CCDLFLAGS"] = "-fPIC" CONFIG["STATIC"] = "" CONFIG["ARCH_FLAG"] = "" CONFIG["DLDFLAGS"] = "" CONFIG["ALLOCA"] = "" CONFIG["CHDIR"] = "cd -P" CONFIG["RMALL"] = "rm -fr" CONFIG["RMDIRS"] = "$(top_srcdir)/tool/rmdirs" CONFIG["MAKEDIRS"] = "mkdir -p" CONFIG["CP"] = "cp" CONFIG["RM"] = "rm -f" CONFIG["INSTALL_DATA"] = "$(INSTALL) -m 644" CONFIG["INSTALL_SCRIPT"] = "$(INSTALL)" CONFIG["INSTALL_PROGRAM"] = "$(INSTALL)" CONFIG["SET_MAKE"] = "" CONFIG["LN_S"] = "ln -s" CONFIG["DLLWRAP"] = "" CONFIG["WINDRES"] = "" CONFIG["NM"] = "" CONFIG["OBJCOPY"] = "objcopy" CONFIG["OBJDUMP"] = "objdump" CONFIG["ASFLAGS"] = "" CONFIG["AS"] = "as" CONFIG["AR"] = "ar" CONFIG["RANLIB"] = "ranlib" CONFIG["COUTFLAG"] = "-o " CONFIG["OUTFLAG"] = "-o " CONFIG["CPPOUTFILE"] = "-o conftest.i" CONFIG["GNU_LD"] = "yes" CONFIG["EGREP"] = "/bin/grep -E" CONFIG["GREP"] = "/bin/grep" CONFIG["CPP"] = "gcc -E" CONFIG["CXXFLAGS"] = "$(cxxflags)" CONFIG["CXX"] = "g++" CONFIG["OBJEXT"] = "o" CONFIG["CPPFLAGS"] = " $(DEFS) $(cppflags)" CONFIG["LDFLAGS"] = "-L. -rdynamic -Wl,-export-dynamic" CONFIG["CFLAGS"] = "$(cflags)" CONFIG["CC"] = "gcc" CONFIG["try_header"] = "" CONFIG["target_os"] = "linux" CONFIG["target_vendor"] = "pc" CONFIG["target_cpu"] = "i686" CONFIG["target"] = "i686-pc-linux-gnu" CONFIG["host_os"] = "linux-gnu" CONFIG["host_vendor"] = "pc" CONFIG["host_cpu"] = "i686" CONFIG["host"] = "i686-pc-linux-gnu" CONFIG["build_os"] = "linux-gnu" CONFIG["build_vendor"] = "pc" CONFIG["build_cpu"] = "i686" CONFIG["build"] = "i686-pc-linux-gnu" CONFIG["RUBYW_BASE_NAME"] = "rubyw" CONFIG["RUBY_BASE_NAME"] = "ruby" CONFIG["BASERUBY"] = "ruby" CONFIG["target_alias"] = "" CONFIG["host_alias"] = "" CONFIG["build_alias"] = "" CONFIG["LIBS"] = "-lpthread -lrt -ldl -lcrypt -lm " CONFIG["ECHO_T"] = "" CONFIG["ECHO_N"] = "-n" CONFIG["ECHO_C"] = "" CONFIG["DEFS"] = "-D_FILE_OFFSET_BITS=64" CONFIG["mandir"] = "$(datarootdir)/man" CONFIG["localedir"] = "$(datarootdir)/locale" CONFIG["libdir"] = "$(exec_prefix)/lib" CONFIG["psdir"] = "$(docdir)" CONFIG["pdfdir"] = "$(docdir)" CONFIG["dvidir"] = "$(docdir)" CONFIG["htmldir"] = "$(docdir)" CONFIG["infodir"] = "$(datarootdir)/info" CONFIG["docdir"] = "$(datarootdir)/doc/$(PACKAGE)" CONFIG["oldincludedir"] = "/usr/include" CONFIG["includedir"] = "$(prefix)/include" CONFIG["localstatedir"] = "$(prefix)/var" CONFIG["sharedstatedir"] = "$(prefix)/com" CONFIG["sysconfdir"] = "$(prefix)/etc" CONFIG["datadir"] = "$(datarootdir)" CONFIG["datarootdir"] = "$(prefix)/share" CONFIG["libexecdir"] = "$(exec_prefix)/libexec" CONFIG["sbindir"] = "$(exec_prefix)/sbin" CONFIG["bindir"] = "$(exec_prefix)/bin" CONFIG["exec_prefix"] = "$(prefix)" CONFIG["PACKAGE_BUGREPORT"] = "" CONFIG["PACKAGE_STRING"] = "" CONFIG["PACKAGE_VERSION"] = "" CONFIG["PACKAGE_TARNAME"] = "" CONFIG["PACKAGE_NAME"] = "" CONFIG["PATH_SEPARATOR"] = ":" CONFIG["SHELL"] = "/bin/sh" CONFIG["rubylibdir"] = "$(rubylibprefix)/$(ruby_version)" CONFIG["archdir"] = "$(rubylibdir)/$(arch)" CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)" CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)" CONFIG["vendorlibdir"] = "$(vendordir)/$(ruby_version)" CONFIG["vendorarchdir"] = "$(vendorlibdir)/$(sitearch)" CONFIG["topdir"] = File.dirname(__FILE__) MAKEFILE_CONFIG = {} CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup} def RbConfig::expand(val, config = CONFIG) val.gsub!(/\$\$|\$\(([^()]+)\)|\$\{([^{}]+)\}/) do var = $& if !(v = $1 || $2) '$' elsif key = config[v = v[/\A[^:]+(?=(?::(.*?)=(.*))?\z)/]] pat, sub = $1, $2 config[v] = false RbConfig::expand(key, config) config[v] = key key = key.gsub(/#{Regexp.quote(pat)}(?=\s|\z)/n) {sub} if pat key else var end end val end CONFIG.each_value do |val| RbConfig::expand(val) end end Config = RbConfig # compatibility for ruby-1.8.4 and older. CROSS_COMPILING = nil unless defined? CROSS_COMPILING [alex@platypus ruby]$ I also forgot to mention that this happens while it's building bigdecimal. If you need any more information, I'll help as much as I can. Alex On Tue, Jun 2, 2009 at 11:23 PM, Nobuyoshi Nakada wrote: > Hi, > > At Wed, 3 Jun 2009 02:01:46 +0900, > Alex wrote in [ruby-core:23675]: > > This change seems to break the build on my machine: > > > > /home/alex/ruby/rbconfig.rb:184:in `gsub!': can't modify frozen string > > (RuntimeError) > > Could you show that rbconfig.rb? > > -- > Nobu Nakada > > --001636c5a69c4949a9046b718538 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
[alex@platypus ruby]$ cat rbconfig.rb =A0

# T= his file was created by mkconfig.rb when ruby was built. =A0Any
#= changes made to this file will be lost the next time ruby is built.
<= div>
module RbConfig
=A0=A0RUBY_VERSION =3D=3D "1.= 9.2" or
=A0=A0 =A0raise "ruby lib version (1.9.2) doesn= 't match executable version (#{RUBY_VERSION})"

=A0=A0TOPDIR =3D File.dirname(__FILE__).chomp!("/lib/ruby/1.9.1/= i686-linux")
=A0=A0DESTDIR =3D '' unless defined? DESTDIR
=A0=A0C= ONFIG =3D {}
=A0=A0CONFIG["DESTDIR"] =3D DESTDIR
<= div>=A0=A0CONFIG["MAJOR"] =3D "1"
=A0=A0CONFI= G["MINOR"] =3D "9"
=A0=A0CONFIG["TEENY"] =3D "1"
=A0=A0CONF= IG["PATCHLEVEL"] =3D "-1"
=A0=A0CONFIG["= INSTALL"] =3D '/bin/install -c'
=A0=A0CONFIG["E= XEEXT"] =3D ""
=A0=A0CONFIG["prefix"] =3D (TOPDIR || DESTDIR + "/usr/l= ocal")
=A0=A0CONFIG["ruby_install_name"] =3D "= ;ruby"
=A0=A0CONFIG["RUBY_INSTALL_NAME"] =3D "= ;ruby"
=A0=A0CONFIG["RUBY_SO_NAME"] =3D "ruby"
= =A0=A0CONFIG["PACKAGE"] =3D "ruby"
=A0=A0CONF= IG["BUILTIN_TRANSSRCS"] =3D " newline.c"
=A0= =A0CONFIG["MANTYPE"] =3D "doc"
=A0=A0CONFIG["NROFF"] =3D "/usr/bin/nroff"
=A0=A0CONFIG["vendorhdrdir"] =3D "$(rubyhdrdir)/vendor_ru= by"
=A0=A0CONFIG["sitehdrdir"] =3D "$(rubyhdr= dir)/site_ruby"
=A0=A0CONFIG["rubyhdrdir"] =3D "$(includedir)/$(RUBY_BA= SE_NAME)-$(ruby_version)"
=A0=A0CONFIG["UNIVERSAL_INTS&= quot;] =3D ""
=A0=A0CONFIG["UNIVERSAL_ARCHNAMES&qu= ot;] =3D ""
=A0=A0CONFIG["configure_args"] =3D ""
= =A0=A0CONFIG["vendordir"] =3D "$(rubylibprefix)/vendor_ruby&= quot;
=A0=A0CONFIG["sitedir"] =3D "$(rubylibprefix= )/site_ruby"
=A0=A0CONFIG["ruby_version"] =3D "1.9.1"
=A0=A0CONFIG["sitearch"] =3D "$(arch)"
=A0= =A0CONFIG["arch"] =3D "i686-linux"
=A0=A0CONF= IG["ridir"] =3D "$(DATAROOTDIR)/$(RI_BASE_NAME)"
=A0=A0CONFIG["rubylibprefix"] =3D "$(libdir)/$(RUBY_BAS= E_NAME)"
=A0=A0CONFIG["MAKEFILES"] =3D "Makef= ile"
=A0=A0CONFIG["THREAD_MODEL"] =3D "pthrea= d"
=A0=A0CONFIG["EXPORT_PREFIX"] =3D ""
=A0=A0CO= NFIG["COMMON_HEADERS"] =3D ""
=A0=A0CONFIG[&q= uot;COMMON_MACROS"] =3D ""
=A0=A0CONFIG["COMM= ON_LIBS"] =3D ""
=A0=A0CONFIG["MAINLIBS"] =3D ""
=A0=A0CO= NFIG["ENABLE_SHARED"] =3D "no"
=A0=A0CONFIG[&= quot;DLDLIBS"] =3D " -lc"
=A0=A0CONFIG["SOLIB= S"] =3D ""
=A0=A0CONFIG["LIBRUBYARG_SHARED"] =3D "-Wl,-R -Wl,$(lib= dir) -L$(libdir) -l$(RUBY_SO_NAME)"
=A0=A0CONFIG["LIBRU= BYARG_STATIC"] =3D "-Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_= NAME)-static"
=A0=A0CONFIG["LIBRUBYARG"] =3D "$(LIBRUBYARG_STATIC)&qu= ot;
=A0=A0CONFIG["LIBRUBY"] =3D "$(LIBRUBY_A)"= ;
=A0=A0CONFIG["LIBRUBY_ALIASES"] =3D "lib$(RUBY_S= O_NAME).so"
=A0=A0CONFIG["LIBRUBY_SO"] =3D "lib$(RUBY_SO_NAME).so.$= (MAJOR).$(MINOR).$(TEENY)"
=A0=A0CONFIG["LIBRUBY_A"= ;] =3D "lib$(RUBY_SO_NAME)-static.a"
=A0=A0CONFIG["= ;RUBYW_INSTALL_NAME"] =3D ""
=A0=A0CONFIG["rubyw_install_name"] =3D ""
=A0=A0CONFIG["LIBRUBY_DLDFLAGS"] =3D ""
=A0= =A0CONFIG["LIBRUBY_LDSHARED"] =3D "$(CC) -shared"
=
=A0=A0CONFIG["warnflags"] =3D "-Wall -Wno-unused-parame= ter -Wno-parentheses -Wno-missing-field-initializers -Wpointer-arith -Wwrit= e-strings"
=A0=A0CONFIG["debugflags"] =3D "-g"
=A0= =A0CONFIG["optflags"] =3D "-O3"
=A0=A0CONFIG[= "cxxflags"] =3D " $(optflags) $(debugflags) $(warnflags)&quo= t;
=A0=A0CONFIG["cflags"] =3D " $(optflags) $(debu= gflags) $(warnflags)"
=A0=A0CONFIG["cppflags"] =3D ""
=A0=A0CO= NFIG["RDOCTARGET"] =3D "install-doc"
=A0=A0CO= NFIG["ARCHFILE"] =3D ""
=A0=A0CONFIG["EX= TOUT"] =3D ".ext"
=A0=A0CONFIG["PREP"] =3D "miniruby$(EXEEXT)"
=
=A0=A0CONFIG["setup"] =3D "Setup"
=A0=A0= CONFIG["EXTSTATIC"] =3D ""
=A0=A0CONFIG["= ;STRIP"] =3D "strip -S -x"
=A0=A0CONFIG["TRY_LINK"] =3D ""
=A0=A0CO= NFIG["LIBPATHENV"] =3D "LD_LIBRARY_PATH"
=A0= =A0CONFIG["RPATHFLAG"] =3D " -Wl,-R%1$-s"
=A0= =A0CONFIG["LIBPATHFLAG"] =3D " -L%1$-s"
=A0=A0CONFIG["LINK_SO"] =3D ""
=A0=A0CON= FIG["LIBEXT"] =3D "a"
=A0=A0CONFIG["DLEX= T2"] =3D ""
=A0=A0CONFIG["DLEXT"] =3D &q= uot;so"
=A0=A0CONFIG["LDSHAREDXX"] =3D "$(CXX) -shared"
=A0=A0CONFIG["LDSHARED"] =3D "$(CC) -shared"=A0=A0CONFIG["CCDLFLAGS"] =3D "-fPIC"
=A0= =A0CONFIG["STATIC"] =3D ""
=A0=A0CONFIG["ARCH_FLAG"] =3D ""
=A0=A0C= ONFIG["DLDFLAGS"] =3D ""
=A0=A0CONFIG["A= LLOCA"] =3D ""
=A0=A0CONFIG["CHDIR"] =3D= "cd -P"
=A0=A0CONFIG["RMALL"] =3D "rm -fr"
=A0= =A0CONFIG["RMDIRS"] =3D "$(top_srcdir)/tool/rmdirs"
=A0=A0CONFIG["MAKEDIRS"] =3D "mkdir -p"
=A0=A0CONFIG["CP"] =3D "cp"
=A0=A0CONFIG["RM"] =3D "rm -f"
=A0=A0CON= FIG["INSTALL_DATA"] =3D "$(INSTALL) -m 644"
= =A0=A0CONFIG["INSTALL_SCRIPT"] =3D "$(INSTALL)"
=A0=A0CONFIG["INSTALL_PROGRAM"] =3D "$(INSTALL)"
=A0=A0CONFIG["SET_MAKE"] =3D ""
=A0=A0CO= NFIG["LN_S"] =3D "ln -s"
=A0=A0CONFIG["D= LLWRAP"] =3D ""
=A0=A0CONFIG["WINDRES"] = =3D ""
=A0=A0CONFIG["NM"] =3D ""
=A0=A0CONFIG[&= quot;OBJCOPY"] =3D "objcopy"
=A0=A0CONFIG["OB= JDUMP"] =3D "objdump"
=A0=A0CONFIG["ASFLAGS&q= uot;] =3D ""
=A0=A0CONFIG["AS"] =3D "as"
=A0=A0CONFIG= ["AR"] =3D "ar"
=A0=A0CONFIG["RANLIB&quo= t;] =3D "ranlib"
=A0=A0CONFIG["COUTFLAG"] =3D= "-o "
=A0=A0CONFIG["OUTFLAG"] =3D "-o "
=A0=A0= CONFIG["CPPOUTFILE"] =3D "-o conftest.i"
=A0= =A0CONFIG["GNU_LD"] =3D "yes"
=A0=A0CONFIG[&q= uot;EGREP"] =3D "/bin/grep -E"
=A0=A0CONFIG["GREP"] =3D "/bin/grep"
=A0= =A0CONFIG["CPP"] =3D "gcc -E"
=A0=A0CONFIG[&q= uot;CXXFLAGS"] =3D "$(cxxflags)"
=A0=A0CONFIG[&quo= t;CXX"] =3D "g++"
=A0=A0CONFIG["OBJEXT"] =3D "o"
=A0=A0CON= FIG["CPPFLAGS"] =3D " $(DEFS) $(cppflags)"
= =A0=A0CONFIG["LDFLAGS"] =3D "-L. =A0-rdynamic -Wl,-export-dy= namic"
=A0=A0CONFIG["CFLAGS"] =3D "$(cflags)"
=A0=A0= CONFIG["CC"] =3D "gcc"
=A0=A0CONFIG["try= _header"] =3D ""
=A0=A0CONFIG["target_os"= ;] =3D "linux"
=A0=A0CONFIG["target_vendor"] =3D "pc"
= =A0=A0CONFIG["target_cpu"] =3D "i686"
=A0=A0C= ONFIG["target"] =3D "i686-pc-linux-gnu"
=A0= =A0CONFIG["host_os"] =3D "linux-gnu"
=A0=A0CONFIG["host_vendor"] =3D "pc"
=A0= =A0CONFIG["host_cpu"] =3D "i686"
=A0=A0CONFIG= ["host"] =3D "i686-pc-linux-gnu"
=A0=A0CONFIG= ["build_os"] =3D "linux-gnu"
=A0=A0CONFIG["build_vendor"] =3D "pc"
= =A0=A0CONFIG["build_cpu"] =3D "i686"
=A0=A0CO= NFIG["build"] =3D "i686-pc-linux-gnu"
=A0=A0C= ONFIG["RUBYW_BASE_NAME"] =3D "rubyw"
=A0=A0CONFIG["RUBY_BASE_NAME"] =3D "ruby"
=A0=A0CONFIG["BASERUBY"] =3D "ruby"
=A0=A0C= ONFIG["target_alias"] =3D ""
=A0=A0CONFIG[&qu= ot;host_alias"] =3D ""
=A0=A0CONFIG["build_alias"] =3D ""
=A0= =A0CONFIG["LIBS"] =3D "-lpthread -lrt -ldl -lcrypt -lm "= ;
=A0=A0CONFIG["ECHO_T"] =3D ""
=A0= =A0CONFIG["ECHO_N"] =3D "-n"
=A0=A0CONFIG["ECHO_C"] =3D ""
=A0=A0CONF= IG["DEFS"] =3D "-D_FILE_OFFSET_BITS=3D64"
=A0= =A0CONFIG["mandir"] =3D "$(datarootdir)/man"
= =A0=A0CONFIG["localedir"] =3D "$(datarootdir)/locale"
=A0=A0CONFIG["libdir"] =3D "$(exec_prefix)/lib"
=A0=A0CONFIG["psdir"] =3D "$(docdir)"
=A0=A0CONFIG["pdfdir"] =3D "$(docdir)"
=A0= =A0CONFIG["dvidir"] =3D "$(docdir)"
=A0=A0CONFIG["htmldir"] =3D "$(docdir)"
= =A0=A0CONFIG["infodir"] =3D "$(datarootdir)/info"
=
=A0=A0CONFIG["docdir"] =3D "$(datarootdir)/doc/$(PACKAG= E)"
=A0=A0CONFIG["oldincludedir"] =3D "/usr/include"
=A0=A0CONFIG["includedir"] =3D "$(prefix)/include&q= uot;
=A0=A0CONFIG["localstatedir"] =3D "$(prefix)/= var"
=A0=A0CONFIG["sharedstatedir"] =3D "$(prefix)/com"=
=A0=A0CONFIG["sysconfdir"] =3D "$(prefix)/etc&quo= t;
=A0=A0CONFIG["datadir"] =3D "$(datarootdir)&quo= t;
=A0=A0CONFIG["datarootdir"] =3D "$(prefix)/share"
=A0=A0CONFIG["libexecdir"] =3D "$(exec_prefix)/libexec&= quot;
=A0=A0CONFIG["sbindir"] =3D "$(exec_prefix)/= sbin"
=A0=A0CONFIG["bindir"] =3D "$(exec_pref= ix)/bin"
=A0=A0CONFIG["exec_prefix"] =3D "$(prefix)"
<= div>=A0=A0CONFIG["PACKAGE_BUGREPORT"] =3D ""
= =A0=A0CONFIG["PACKAGE_STRING"] =3D ""
=A0=A0C= ONFIG["PACKAGE_VERSION"] =3D ""
=A0=A0CONFIG["PACKAGE_TARNAME"] =3D ""
= =A0=A0CONFIG["PACKAGE_NAME"] =3D ""
=A0=A0CON= FIG["PATH_SEPARATOR"] =3D ":"
=A0=A0CONFIG[&q= uot;SHELL"] =3D "/bin/sh"
=A0=A0CONFIG["rubylibdir"] =3D "$(rubylibprefix)/$(ruby= _version)"
=A0=A0CONFIG["archdir"] =3D "$(rub= ylibdir)/$(arch)"
=A0=A0CONFIG["sitelibdir"] =3D &= quot;$(sitedir)/$(ruby_version)"
=A0=A0CONFIG["sitearchdir"] =3D "$(sitelibdir)/$(sitear= ch)"
=A0=A0CONFIG["vendorlibdir"] =3D "$(vend= ordir)/$(ruby_version)"
=A0=A0CONFIG["vendorarchdir&quo= t;] =3D "$(vendorlibdir)/$(sitearch)"
=A0=A0CONFIG["topdir"] =3D File.dirname(__FILE__)
= =A0=A0MAKEFILE_CONFIG =3D {}
=A0=A0CONFIG.each{|k,v| MAKEFILE_CON= FIG[k] =3D v.dup}
=A0=A0def RbConfig::expand(val, config =3D CONF= IG)
=A0=A0 =A0val.gsub!(/\$\$|\$\(([^()]+)\)|\$\{([^{}]+)\}/) do<= /div>
=A0=A0 =A0 =A0var =3D $&
=A0=A0 =A0 =A0if !(v =3D $1 || = $2)
'$'
=A0=A0 =A0 =A0elsif key =3D config[v =3D v[/\A[^:= ]+(?=3D(?::(.*?)=3D(.*))?\z)/]]
pat, = sub =3D $1, $2
config[v] =3D false
RbConfig::expand(key, config)
confi= g[v] =3D key
key =3D key.gsub(/#{Regexp.quote(pat)}(?=3D\s|\z)/n) {sub} if = pat
key
<= div>=A0=A0 =A0 =A0else
var
=A0=A0 =A0 =A0end
=A0=A0 =A0= end
=A0=A0 =A0val
=A0=A0end
=A0=A0CONFIG.each_value do |val|
=A0=A0 = =A0RbConfig::expand(val)
=A0=A0end
end
Config= =3D RbConfig # compatibility for ruby-1.8.4 and older.
CROSS_COM= PILING =3D nil unless defined? CROSS_COMPILING
[alex@platypus ruby]$



I also forgot to mention that this happens while it's building b= igdecimal. If you need any more information, I'll help as much as I can= .



Alex

On Tue, Jun 2, 2009 at 11:23 PM, Nobuyoshi Nakada <nobu@ruby-lang.org&= gt; wrote:
Hi,

At Wed, 3 Jun 2009 02:01:46 +0900,
Alex wrote in [ruby-core:23675]:
> This change seems to break the build on my machine:<= br> >
> /home/alex/ruby/rbconfig.rb:184:in `gsub!': can't modify froze= n string
> (RuntimeError)

Could you show that rbconfig.rb?

--
Nobu Nakada


--001636c5a69c4949a9046b718538--