Yes, LDXX isn't very standard, but since we are mixing C and C++ binary builds, we need to distinguish between two different linker options.
On Jul 11, 2017 01:00, <[email protected]> wrote: > Hi Nicolas, > Thank you for the reply, it works (though I also had to add -std=c++11 to > CXXFLAGS). > I indeed previously tried to pass -stdlib=libc++ to the linker, but used > LDFLAGS by mistake. Passing LDXX as you proposed solved the problem. > > Thanks! > Alex > > > On Tuesday, July 11, 2017 at 10:19:17 AM UTC+3, Nicolas Noble wrote: >> >> This seems a very straightforward problem: you're specifying >> -stdlib=libc++ at compilation time, using clang, but you're not overriding >> the linker nor its options. Moreover, you're using HOST_* variables, which >> are normally used for cross-compilation. I doubt this is what you want >> given the context you're saying. >> >> Here's what you should be doing: >> >> export CXX=clang++ >> export CXXFLAGS=-stdlib=libc++ >> export LDXX="clang++ -stdlib=libc++" # yep, I just realized that's a bug >> we have here to not properly support LDXXFLAGS, so you're going to have to >> use that ugly form instead. >> >> Also, if you really want the pure C part to be compiled using clang, >> you'd need to add >> export CC=clang >> >> but that's got quite nothing to do with using libc++, so it's not a good >> reason to try and hurt yourself there. >> >> On Mon, Jul 10, 2017 at 11:09 AM, <[email protected]> wrote: >> >>> >>> Hi, >>> >>> I'm trying to build gRPC v1.4.1 as following. I have all the required >>> third party libraries built (with Clang and libc++) and installed (besides >>> boringssl which is cloned inside third_party and built recursively). >>> >>> I'm running make as following: >>> >>> make HOST_CC=clang HOST_CXX="clang++ -stdlib=libc++ -std=c++11" CC=clang >>> CXX="clang++ -stdlib=libc++ -std=c++11" >>> >>> and I get an error during linkage of the protoc gRPC plugin: >>> >>> [HOSTLD] Linking /grpc-1.4.1/bins/opt/grpc_cpp_plugin >>> >>> /usr/bin/ld: /grpc-1.4.1/objs/opt/src/compiler/cpp_plugin.o: undefined >>> reference to symbol '_ZNSt3__18ios_base4initEPv' >>> >>> //usr/lib/x86_64-linux-gnu/libc++.so.1: error adding symbols: DSO >>> missing from command line >>> >>> collect2: error: ld returned 1 exit status >>> >>> make: *** [/grpc-1.4.1/bins/opt/grpc_cpp_plugin] Error 1 >>> >>> My constraint is that I really need to build with libc++. The whole >>> thing does work if I build with libstdc++ (given protobuf is built with >>> libstdc++ as well). >>> >>> I really need your help here, thank you! >>> >>> Alex >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "grpc.io" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at https://groups.google.com/group/grpc-io. >>> To view this discussion on the web visit https://groups.google.com/d/ms >>> gid/grpc-io/d37d91eb-d75e-4d4b-b6b3-b55424705e30%40googlegroups.com >>> <https://groups.google.com/d/msgid/grpc-io/d37d91eb-d75e-4d4b-b6b3-b55424705e30%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > You received this message because you are subscribed to the Google Groups " > grpc.io" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/grpc-io. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/grpc-io/06694826-146f-4bce-be44-bf3727fd8059%40googlegroups.com > <https://groups.google.com/d/msgid/grpc-io/06694826-146f-4bce-be44-bf3727fd8059%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/CAEvr0PHaYSMXExnSDMRN3hFRjTKCtSV8koxMi-VgSGoa9T%2B%2B3w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
