Link failure on g++-7 + OSX

Issue #2 resolved
Dan Bonachea created an issue

On iclimb (OS X Yosemite), using g++7:

Darwin iclimb.local 14.5.0 Darwin Kernel Version 14.5.0: Sun Jun 4 21:40:08 PDT 2017; root:xnu-2782.70.3~1/RELEASE_X86_64 x86_64

$ g++-7 --version g++-7 (GCC) 7.1.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ CC=gcc-7 CXX=g++-7 GASNET_PSHM_NODES=4 nobs run test/dist_object.cpp

Compilation works and then I get a link error:

g++-7 -O2 -O3 --param max-inline-insns-single=35000 --param inline-unit-growth=10000 --param large-function-growth=200000 -Winline -Wno-unused -Wno-unused-parameter -
Wno-address -Wl,-multiply_defined,suppress -Wl,-no_pie -o /Users/bonachea/UPC/upcxx/.nobs/art/31e6a34ff5ad97003fc4bf030a108ecb51f1f898.x /Users/bonachea/UPC/upcxx/.no
bs/art/214614179f876ceb32ef45b88aa34b81fb093806.backend.cpp.o /Users/bonachea/UPC/upcxx/.nobs/art/c9346ba43b460596b6f6424b10cb264caaa84527.packing.cpp.o /Users/bonach
ea/UPC/upcxx/.nobs/art/199c96193a640fad9c9031be962ec2baa9c3535b.core.cpp.o /Users/bonachea/UPC/upcxx/.nobs/art/42aa96c2d7eef1c24824e0c6e97c6e5f992d455f.digest.cpp.o /
Users/bonachea/UPC/upcxx/.nobs/art/cdf23f72e30ec4d58d3c7385009f933841b6218e.dist_object.cpp.o /Users/bonachea/UPC/upcxx/.nobs/art/3c7cced33e9f7a1905647d1b767cc8391d90
846f.diagnostic.cpp.o /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o /Users/bonachea/UPC/upcxx/.nobs/art/5707766a90aa4e8e8
c8737665188c949699d5e72.dist_object.cpp.o /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o -L/Users/bonachea/UPC/upcxx/.nobs
/art/54decfdf60e8ff551b39f1533bbceb1cb9239866/smp-conduit -lgasnet-smp-seq -L/sw/lib/gcc7/lib/gcc/x86_64-apple-darwin14.5.0/7.1.0 -lgcc

duplicate symbol _mspace_mallopt in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_max_footprint in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_footprint in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_malloc_stats in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_track_large_chunks in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_mallinfo in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_memalign in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_trim in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_usable_size in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _create_mspace_with_base in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_free in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _destroy_mspace in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _create_mspace in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_independent_comalloc in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_malloc in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_realloc in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_independent_calloc in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
duplicate symbol _mspace_calloc in:
    /Users/bonachea/UPC/upcxx/.nobs/art/fb066dc6863c3e66ef70fe25b1036abf668e1366.dl_malloc.C.o
    /Users/bonachea/UPC/upcxx/.nobs/art/cc45e76bd16e15aacc49d02789b8f131d382a9a8.dl_malloc.c.o
ld: 18 duplicate symbols for architecture x86_64
collect2: error: ld returned 1 exit status

I see the same link error on Cygwin, although that's not one of our supported platforms.

Comments (3)

  1. Former user Account Deleted

    Already have a fix in the works for this. Its due to case-insensitivity of the filesystem and how I find source files by stripping the ".h" from included headers and replace with popular source file extensions, of which ".c" and ".C" are distinct.

  2. Log in to comment