Skip to Content.
Sympa Menu

charm - [charm] Controlling the compiler used to build charm++

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

[charm] Controlling the compiler used to build charm++


Chronological Thread 
  • From: Marc F Paterno <paterno AT fnal.gov>
  • To: "charm AT cs.uiuc.edu" <charm AT cs.uiuc.edu>
  • Subject: [charm] Controlling the compiler used to build charm++
  • Date: Tue, 31 Jan 2017 16:42:04 +0000
  • Accept-language: en-US
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99

Hello,

I am trying to use charm++ v6.7.1 on macOS Sierra, and trying to build it
using a specific version of GCC.

The projects on which I am working require C++14, so I am using GCC 6.3.0
(for which C++14 is the default language standard). The environment which I
establish has the correct version of GCC in the PATH, so that running 'g++'
at the bash prompt find the right version of the compiler I also have
DYLD_LIBRARY_PATH set to find the GCC libraries. I have SIP disabled on my
machine, so that the setting of DYLD_LIBRARY_PATH is not lost in spawned
subshells.

I understand how to make the Charm++ compiler driver charmc use the compiler
I have specified, by using the -cc and -c++ flags in my Makefile. I can
verify that the resulting executable was actually built using my version of
GCC. For example, using 'otool -L', I can see that my executable depends on
libstdc++.6.dylib from the right directory for my GCC version, and not upon
libc++.1.dylib, which is what clang uses by default.

I have built charm++ using the command
$> ./build charm++ multicore-darwin-x86_64 --with-production -j8 \
--build-shared gcc

When I look at the dynamic libraries in the
directorycharm-6.7.1/multicore-darwin-x86_64-gcc/lib_so/, 'otool -L' tells me
that they depend upon /usr/lib/libc++.1.dylib, leading me to believe they
were compiled not by the GCC I want to use, but by clang.

I believe this will eventually cause me trouble, because the C++ standard
library with which charm++ itself was compiled is not binary compatible with
the libraries I am building which GCC.

Can anyone point me to instructions on how to build charm++ using a GCC that
I specify, on macOS Sierra?

thanks
Marc







  • [charm] Controlling the compiler used to build charm++, Marc F Paterno, 01/31/2017

Archive powered by MHonArc 2.6.19.

Top of Page