From: Ryan Davis Date: 2010-06-03T16:38:41+09:00 Subject: [ruby-core:30569] 1.9.2 build flag issues from rbconfig in 1.9.1: CONFIG["LIBRUBY_LDSHARED"] = "cc -dynamiclib -undefined suppress -flat_namespace" from 1.9.2: CONFIG["LIBRUBY_LDSHARED"] = "$(CC) -dynamiclib" This leads to a lot of undefined symbols when building modules. I'm no autoconf expert so I don't feel confident in a fix for something that looks very deliberately changed. It LOOKS like the fix should be: > Index: configure.in > =================================================================== > --- configure.in (revision 28133) > +++ configure.in (working copy) > @@ -1805,7 +1805,7 @@ > [rhapsody*], [ : ${LDSHARED='$(CC) -dynamic -bundle -undefined suppress'} > : ${LDFLAGS=""} > rb_cv_dlopen=yes], > - [darwin*], [ : ${LDSHARED='$(CC) -dynamic -bundle'} > + [darwin*], [ : ${LDSHARED='$(CC) -dynamic -bundle -undefined suppress'} > : ${DLDFLAGS="${linker_flag}-undefined${linker_flag:+,}dynamic_lookup ${linker_flag}-multiply_defined${linker_flag:+,}suppress ${linker_flag}-flat_namespace"} > : ${LDFLAGS=""} > : ${LIBPATHENV=DYLD_LIBRARY_PATH} but that causes syntax errors when configure is run. How extending a string can cause syntax errors in a shell script is beyond me. I really need "-undefined suppress" in the rbconfig flag values for all of my module builds to succeed. Help?