Parrot has been building successfully, albeit slowly, for me on
Darwin for several months now. But I must say that the very last
line of 'make' output always shows a lot of warnings of "multiple
definitions of symbol". Can anyone evaluate these? Thanks.
/usr/bin/g++ -o pbc_merge \
src/pbc_merge.o \
src/parrot_config.o \
src/string_primitives.o \
-L/Users/jimk/work/parrot/blib/lib -L/Users/jimk/work/parrot/
blib/lib -lparrot -lm -lgmp -lreadline -framework OpenGL -framework
GLUT -lcrypto -lintl -undefined dynamic_lookup -L/sw/lib
/usr/bin/ld: warning multiple definitions of symbol _str_dup
src/string_primitives.o definition of _str_dup in section
(__TEXT,__text)
/Users/jimk/work/parrot/blib/lib/libparrot.dylib(string_primitives.o)
definition of _str_dup
/usr/bin/ld: warning multiple definitions of symbol
_Parrot_char_digit_value
src/string_primitives.o definition of _Parrot_char_digit_value in
section (__TEXT,__text)
/Users/jimk/work/parrot/blib/lib/libparrot.dylib(string_primitives.o)
definition of _Parrot_char_digit_value
/usr/bin/ld: warning multiple definitions of symbol _string_unescape_one
src/string_primitives.o definition of _string_unescape_one in section
(__TEXT,__text)
/Users/jimk/work/parrot/blib/lib/libparrot.dylib(string_primitives.o)
definition of _string_unescape_one
/usr/bin/ld: warning multiple definitions of symbol
_string_set_data_directory
src/string_primitives.o definition of _string_set_data_directory in
section (__TEXT,__text)
/Users/jimk/work/parrot/blib/lib/libparrot.dylib(string_primitives.o)
definition of _string_set_data_directory
Here's how I wrap Configure.pl:
#!/bin/sh
echo "MACOSX_DEPLOYMENT_TARGET is $MACOSX_DEPLOYMENT_TARGET"
CC="/usr/bin/gcc"
CX="/usr/bin/g++"
/usr/local/bin/perl Configure.pl --cc="$CC" --cxx="$CX" --link="$CX" \
--ld="$CX" \
--configure_trace \
$@
Here's myconfig:
[parrot] 518 $ cat myconfig
Summary of my parrot 0.6.4 (r29599) configuration:
configdate='Fri Jul 18 22:51:48 2008 GMT'
Platform:
osname=darwin, archname=darwin-2level
jitcapable=1, jitarchname=ppc-darwin,
jitosname=DARWIN, jitcpuarch=ppc
execcapable=1
perl=/usr/local/bin/perl
Compiler:
cc='/usr/bin/gcc', ccflags='-fno-common -no-cpp-precomp -pipe -
I/opt/local/include -pipe -fno-common -Wno-long-double -
DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED -
DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -
DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED -
DHASATTRIBUTE_WARN_UNUSED_RESULT -falign-functions=16 -
fvisibility=hidden -W -Wall -Waggregate-return -Wcast-align -Wcast-
qual -Wchar-subscripts -Wcomment -Wdisabled-optimization -Wendif-
labels -Wextra -Wformat -Wformat-extra-args -Wformat-nonliteral -
Wformat-security -Wformat-y2k -Wimplicit -Wimport -Winit-self -
Winline -Winvalid-pch -Wmissing-braces -Wmissing-field-initializers -
Wno-missing-format-attribute -Wmissing-include-dirs -Wpacked -
Wparentheses -Wpointer-arith -Wreturn-type -Wsequence-point -Wno-
shadow -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -
Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused -
Wvariadic-macros -Wwrite-strings -Wbad-function-cast -Wdeclaration-
after-statement -Wimplicit-function-declaration -Wimplicit-int -Wmain
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs -
Wnonnull -I/sw/include -DHAS_GETTEXT',
Linker and Libraries:
ld='/usr/bin/g++', ldflags=' -L/opt/local/lib -L/Users/jimk/work/
parrot/blib/lib -L/sw/lib',
cc_ldflags='',
libs='-lm -lgmp -lreadline -framework OpenGL -framework GLUT -
lcrypto -lintl'
Dynamic Linking:
share_ext='.dylib', ld_share_flags='-dynamiclib -undefined
dynamic_lookup',
load_ext='.bundle', ld_load_flags='-undefined dynamic_lookup -
bundle'
Types:
iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
ptrsize=4, ptr_alignment=1 byteorder=4321,
nv=double, numvalsize=8, doublesize=8