Ticket #1111 (closed bug: fixed)

Opened 5 years ago

Last modified 3 years ago

cannot build on OSX/intel with --optimize

Reported by: coke Owned by:
Priority: normal Milestone:
Component: none Version: 1.6.0
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:

Description (last modified by dukeleto) (diff)

Build on

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.4.11
BuildVersion:   8S2167

with:

perl Configure.pl --optimize --ccflags=-g --prefix=/Users/coke/bird
make -j3

at r41853 (haven't built on this platform in some time, no clue when this failure started)

perl is 5.10.0, gcc version 4.0.1 (Apple Computer, Inc. build 5363)

yields

ld: common symbols not allowed with MH_DYLIB output format with the -multi_module option
src/pmc.o definition of common _PMCNULL (size 16)
src/string/charset.o definition of common _Parrot_ascii_charset_ptr (size 16)
src/string/charset.o definition of common _Parrot_binary_charset_ptr (size 16)
src/string/encoding.o definition of common _Parrot_fixed_8_encoding_ptr (size 16)
src/string/charset.o definition of common _Parrot_iso_8859_1_charset_ptr (size 16)
src/string/encoding.o definition of common _Parrot_ucs2_encoding_ptr (size 16)
src/string/charset.o definition of common _Parrot_unicode_charset_ptr (size 16)
src/string/encoding.o definition of common _Parrot_utf16_encoding_ptr (size 16)
src/string/encoding.o definition of common _Parrot_utf8_encoding_ptr (size 16)
src/global_setup.o definition of common _run_native (size 16)
src/string/charset.o private external definition of common _Parrot_default_charset_ptr (size 16)
src/string/encoding.o private external definition of common _Parrot_default_encoding_ptr (size 16)
src/global_setup.o definition of common _interpreter_array (size 16)
src/global_setup.o definition of common _interpreter_array_mutex (size 48)
src/global_setup.o definition of common _n_interpreters (size 16)
src/global_setup.o private external definition of common _shared_gc_info (size 16)
src/frame_builder.o private external definition of common _lastpc (size 16)
src/io/core.o private external definition of common _piooffsetzero (size 16)
compilers/imcc/imcparser.o private external definition of common _yydebug (size 16)
/usr/bin/libtool: internal link edit command failed
make: *** [blib/lib/libparrot.1.6.0.dylib] Error 1

Attachments

fail.txt Download (6.8 KB) - added by coke 4 years ago.
failing portion of build.

Change History

follow-up: ↓ 2   Changed 5 years ago by dukeleto

  • description modified (diff)

I think this is an OS X 10.4 issue, because I can compile with --optimize on x86/darwin just fine. Does this still happen when not doing a parallel build, i.e. no -j3 ?

in reply to: ↑ 1   Changed 5 years ago by coke

Replying to dukeleto:

I think this is an OS X 10.4 issue, because I can compile with --optimize on x86/darwin just fine. Does this still happen when not doing a parallel build, i.e. no -j3 ?

Tried with the same compiler options but just a straight 'make' - same build failure.

Tried building without --cflags=-g - same build failure.

Changed 4 years ago by coke

failing portion of build.

  Changed 4 years ago by coke

In the output, there is:

ld: common symbols not allowed with MH_DYLIB output format with the -multi_module option

lazyweb tells me that for this to work, we need to add -fno-common to the build. If I don't specify --optimize, that's in the ccflags. If I do specify optimize, it's not.

  Changed 4 years ago by coke

  • owner set to coke

  Changed 4 years ago by coke

  • owner coke deleted

  Changed 3 years ago by coke

  • status changed from new to closed
  • resolution set to fixed

Looks like -fno-common is in my 10.6.4 OSX/intell build, and I've been building with --optimize for a while on this platform.

Closing ticket.

Note: See TracTickets for help on using tickets.