i forgot the most important to all: "go suck eggs, please". On Fri, 17 Jul 2020 at 03:46, degski <deg...@gmail.com> wrote:
> the reality is that most of us have no time to read the fuckin'docs, coz > my wife would like diner in time today. Boost is not helpful in maintaining > my family-relationships. The latter are my top-priorities. More and more > Boost is in-compatible with my definition of being a happy chappy and based > on this I try to avoid Boost, becoz daddy has to work to much, reading all > that old shit a.o.t. helping me to fix a small bit of irrelevant (in the > global picture) without getting a cross-examination to determine whether we > would like to help degski to achieve his main goal in life, that is to say > taking care of my loved ones some of them carrying half my genes (i.e. a > bad copy of myself, they call those children, they are in the branch devel. > and they are the future. > > On Thu, 9 Jul 2020 at 18:52, Paul A. Bristow via Boost-users < > boost-users@lists.boost.org> wrote: > >> >> >> > -----Original Message----- >> > From: Boost-users <boost-users-boun...@lists.boost.org> On Behalf Of >> DV Henkel-Wallace via Boost- >> > users >> > Sent: 9 July 2020 15:41 >> > To: Mathias Gaunard <mathias.gaun...@ens-lyon.org> >> > Cc: DV Henkel-Wallace <gu...@henkel-wallace.org>; >> boost-users@lists.boost.org >> > Subject: Re: [Boost-users] Boost ABI/Linkage of clang vs g++ >> > >> > >> > > On Jul 9, 2020, at 04:25, Mathias Gaunard < >> mathias.gaun...@ens-lyon.org> wrote: >> > > >> > > On Thu, 9 Jul 2020 at 08:07, DV Henkel-Wallace via Boost-users >> > > <boost-users@lists.boost.org> wrote: >> > > >> > >> We build with clang++-10 w/libc++.a and g++-10 w/libstdc++.a, so >> > >> build a copy of boost in each configuration as well. This works >> > >> great on the Mac development machines but the clang case doesn't >> > >> generate the correct linkage on the Linux deployment machines. The >> > >> correct clang linkage is std::__1::basic_string... but boost builds >> > >> with std::__cxx11::basic_string >> > > >> > > libc++ is not binary compatible with libstdc++. >> > > You need to use either libstdc++ or libc++ with both compilers if you >> > > want binary compatibility. >> > > >> > > This doesn't have anything to do with Boost. >> > >> > Thanks Mathias. I did not express my problem clearly. This is a b2 >> issue; I doubt any _library source >> > code_ has any direct interaction with this and I'm sorry if I >> accidentally gave that impression. Is there a >> > way to get b2 to disgorge the environment and tool invocation of each >> step (basically what is passed to >> > system() or exec())? >> > >> > The background, perhaps clarified: >> > >> > We have our own code, some third party code (like Boost) and of course >> different runtime platforms >> > (Mac, iOS, Linux...). Since different platforms use different >> compilers/runtimes as their "native" stack, >> > our development system builds everything end-to-end with both gcc and >> clang to catch problems as >> > early as possible. All compilation is with c++14 or later, post the >> C++11 ABI break, hence the naming >> > issues. This process isolates us from any system libraries that don't >> have C linkage. >> > >> > Therefore g++ is used to compile libstdc++, boost, other third party >> code, and our code. Symbols are >> > generated that use __c++11:: in their name. >> > And clang++ is used to compile libc++, boost, other third party code, >> and our code. Symbols are >> > generated that use use __1:: in their name. >> > >> > But boost itself is compiled via b2 and what is passed to the compiler >> (and which compiler b2 chooses) is >> > quite opaque. Despite my attempts to force the use of clang it appears >> that b2 is either calling g++ or >> > otherwise asking clang to use g++-style symbol linkage on Linux. On the >> Mac the same invocation >> > behaves as expected. >> > >> > I'm compiling boost this way: >> > >> > export CC=clang CXX="clang++ -stdlib=libc++" CXXSTD=c++20 ; ./b2 >> stdlib=libc++ toolset=clang >> > boost.locale.icu=off boost.locale.std=off --with-atomic --with-chrono >> --with-date_time --with-headers -- >> > with-locale --with-log --with-program_options --with-random >> --with-regex --with-system --with-thread >> > threading=multi -sNO_COMPRESSION=1 link=static install >> > >> > Any thoughts on how to debug this? >> >> Does b2 -debug-configuration help? >> >> https://boostorg.github.io/build/manual/master/index.html section 3.3 >> configuration >> >> ☀ >> You can use the --debug-configuration option to find which >> configuration files are actually loaded. >> >> Paul >> >> >> >> _______________________________________________ >> Boost-users mailing list >> Boost-users@lists.boost.org >> https://lists.boost.org/mailman/listinfo.cgi/boost-users >> >
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org https://lists.boost.org/mailman/listinfo.cgi/boost-users