On Wed, 23 Jan 2008, chromatic wrote: > On Wednesday 23 January 2008 10:20:03 Andy Dougherty wrote: > > > my suggested reordering is unlikely to fix this. ?The undefined > > symbol '_Parrot_set_executable_name' is referenced in pbc_to_exe.o, so > > the linker should have been looking for it already when it encountered > > -lparrot. ?This indeed looks like something is going on to specifically > > hide symbols, but I have no idea how Mac OS works in this regard. > > We should be using -fvisibility=hidden with GCC 4.x on Mac OS X, which may be > causing the problem. > > Of concern to me right now is that I'm using GCC 4.x on Linux and that flag's > not in my Makefile, so something that touched the GCC attribute detection > recently might have caused things to go gooey kablooie.
The -fvisibility=hidden flag is commented out in config/auto/warnings.pm, so nobody should be seeing it. There are a number of flags set in hints/darwin.pm, however: $ccflags .= " -pipe -fno-common -Wno-long-double "; $ccflags =~ s/-flat_namespace\s*//; $ldflags =~ s/-flat_namespace\s*//; $ldflags .= " -flat_namespace "; $conf->data->set( darwin => 1, ccflags => $ccflags, ldflags => $ldflags, ccwarn => "-Wno-shadow", libs => $libs, share_ext => '.dylib', load_ext => '.bundle', link => 'c++', ld => 'c++', ld_share_flags => '-dynamiclib -undefined suppress', ld_load_flags => '-bundle -undefined suppress', I'll guess that those flags are enabling whatever is going on. Alas I don't have any familiarity with the relevant issues (though I have read enough to know that the behavior may be different in different versions of Mac OS X 10.x). Someone with an actual Mac OS X 10.x machine is going to have to read the man pages, experiment around, and figure out what's going on. -- Andy Dougherty [EMAIL PROTECTED]