On Mon, 20 Aug 2007 16:00:28 -0700
chromatic <[EMAIL PROTECTED]> wrote:

> On Monday 20 August 2007 05:13:07 James E Keenan wrote:
> 
> > t/src/compiler....................................#
> > '/usr/bin/g++-3.3 -L/usr/local/lib  t/src/compiler_2.o
> > src/parrot_config.o -o t/src/compiler_2 blib/lib/libparrot.a  -lm'
> > failed with exit code 1 # Failed to build 't/src/compiler_2': ld:
> > multiple definitions of symbol _PMCNULL # t/src/compiler_2.o
> > definition of _PMCNULL in section (__DATA,__common) #
> > blib/lib/libparrot.a(pmc.o) definition of _PMCNULL in section
> > (__DATA,__common)
> 
> This one looks like fallout of r20649.  Mark?

I don't believe r20649 would cause duplicate definitions.  Missing
definitions, sure, but not duplicates.  No, I think this is fallout from
the win32 workaround I mentioned to you in #parrot a few days ago...
a different commit.  See r20641.

The correct solution is to fix PARROT_API so libparrot.dll exports
the PMCNULL global correctly, which will fix win32, and to remove the
"PMCNULL" definitions from t/src/compiler.t, which will fix Darwin.

I've been working on the win32 linker part of that, but haven't made
any progress yet.  I've been trying to make a test dll project to play
with, but I can't seem to convince the linker to do the same thing with
my dll that it does with parrot's.  (It neglects to generate a .lib
file, which seems needed for linking applications against the dll.)

Mark

Reply via email to