On Jan 23, 2:05 pm, [EMAIL PROTECTED] (Andy Dougherty) wrote:
> 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]

Hello,

I've been experiencing the same issue, also on OS X.  I turns out it
was linking against the v0.5.1 libparrot I had installed into /usr/
local/lib.   Once I removed it, it worked fine.  The problem command
was:

c++ -o pbc_to_exe pbc_to_exe.o -L/usr/local/lib -L/opt/local/lib -L/
Users/fge7z/tmp/parrot/blib/lib -lparrot -L/Users/fge7z/tmp/parrot/
blib/lib -lm -lreadline /Users/fge7z/tmp/parrot/src/parrot_config.o

When I moved the build directory before -L/usr/local/lib, that also
compiled fine.  I know nothing about c++ compilation and linking, but
is it possible that it's using the wrong libparrot?

Cheers,
Fitz

Reply via email to