On Fri, Jun 23, 2017 at 6:55 PM, Trevor Woerner <twoer...@gmail.com> wrote: > On Fri 2017-06-23 @ 03:57:06 PM, Khem Raj wrote: >> On Fri, Jun 23, 2017 at 3:39 PM, Trevor Woerner <twoer...@gmail.com> wrote: >> > Adding that line, and adding meta-clang to bblayers.conf, did get the >> > llvm/clang compiler built and installed to recipe-sysroot-native. But >> > the moment it starts to build the package, it fails immediately with: >> > >> > | fatal error: 'string' file not found >> > | #include <string> >> > | ^~~~~~~~ >> > >> > Did I miss a step? That seems like a pretty basic thing that would be >> > needed for using a toolchain. If feels like I'm missing something; >> > like I need to add something else to my local.conf. Thoughts? >> > Suggestions? >> >> which package is it ? it seems its missing proper -I paths.? > > I'm investigating moving chromium to a newer version, specifically something > much closer to the current Linux stable (59.0.3071.109). My understanding is > the chromium developers use clang, which would explain why it's always so much > work to get it to compile with gcc. If I can get chromium to build with clang, > I think it would make future maintenance much easier. Switching from gyp to gn > was easy, but getting this newer version to build with gcc7 is a challenge. > > When I go to the recipe-sysroot-native, I find clang in usr/bin. But from that > base location if I do a > > $ find . -name "*string*" -print > > I don't find any such include files. Should they not be installed to the > native sysroot alongside clang itself? > > Here's one example of a failing compile: > > | [16/25529] CXX obj/base/allocator/tcmalloc/sysinfo.o > | FAILED: obj/base/allocator/tcmalloc/sysinfo.o > | ../../../recipe-sysroot-native/usr/bin/clang++ -MMD -MF > obj/base/allocator/tcmalloc/sysinfo.o.d -DNO_HEAP_CHECK > -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 > -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DDISABLE_NACL > -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL > -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED > -DCR_CLANG_REVISION=\"299960-1\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE > -D_LARGEFILE64_SOURCE -DCOMPONENT_BUILD -D_DEBUG > -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 > -DTCMALLOC_FOR_DEBUGALLOCATION -DTCMALLOC_DONT_REPLACE_SYSTEM_ALLOC > -I../../base/allocator -I../../third_party/tcmalloc/chromium/src/base > -I../../third_party/tcmalloc/chromium/src -I../.. -Igen -fno-strict-aliasing > --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined > -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe > -fcolor-diagnostics --target=arm-linux-gnueabihf -march= armv7-a -mfloat-abi=hard -mtune=generic-armv7-a -pthread -mfpu=neon -O0 -fno-omit-frame-pointer -g2 --sysroot=../../build/linux/debian_jessie_arm-sysroot -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-unused-lambda-capture -Wno-user-defined-warnings -Wno-reorder -Wno-unused-function -Wno-unused-local-typedefs -Wno-unused-private-field -Wno-sign-compare -Wno-unused-result -fvisibility-inlines-hidden -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=gnu++11 -fno-rtti -fno-exceptions -Wno-deprecated -c ../../third_party/tcmalloc/chromium/src/base/sysinfo.cc -o obj/base/allocator/tcmalloc/sysinfo.o > | In file included from > ../../third_party/tcmalloc/chromium/src/base/sysinfo.cc:62: > | In file included from > ../../third_party/tcmalloc/chromium/src/base/sysinfo.h:49: > | In file included from > ../../third_party/tcmalloc/chromium/src/base/logging.h:49: > | ../../third_party/tcmalloc/chromium/src/base/commandlineflags.h:52:10: > fatal error: 'string' file not found > | #include <string> > | ^~~~~~~~ > | 1 error generated. > > > I can send you the non-working, partial recipe if you're interested too.
Yes chrome uses clang primarily. I think whats missing it dependency on C++ runtime. default is libstdc++ so I guess you have to add a dependency on gcc-runtime -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto