Summary: | =www-client/chromium-18.0.1025.142 - cc1plus: Error: Incorrect key "-Wno-unused-result" | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Str4nger <str4nger> |
Component: | Current packages | Assignee: | Chromium Project <chromium> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kripton, toolchain |
Priority: | Normal | ||
Version: | 10.0 | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge --info output
Build log |
Created attachment 307897 [details]
Build log
buil fail with:
cc1plus: ошибка: некорректный ключ "-Wno-unused-result"
cc1plus: ошибка: некорректный ключ "-Wno-unused-result"
please add a build log compiled with LC_ALL="C" Updating summary based on Google translation. @ago, chromium: translated: cc1plus: error: incorrect key "-Wno-unused-result" cc1plus: error: incorrect key "-Wno-unused-result" make: *** [out/Release/obj.host/protobuf_full_do_not_use/third_party/protobuf/src/google/protobuf/stubs/substitute.o] Error 1 make: *** Waiting for unfinished jobs.... cc1plus: error: incorrect key "-Wno-unused-result" make: *** [out/Release/obj.host/protobuf_full_do_not_use/third_party/protobuf/src/google/protobuf/stubs/strutil.o] Error 1 make: *** [out/Release/obj.host/protobuf_full_do_not_use/third_party/protobuf/src/google/protobuf/stubs/structurally_valid.o] Error 1 [31;01m*[0m ERROR: www-client/chromium-18.0.1025.142 failed (compile phase): [31;01m*[0m emake failed I think, that will be correct, because i'm understand russian language. @str4nger, please do not use russian language, because many devs don't speak this language. When I remove crossdev target (crossdev -C i586-linux-gnu) build was successfull. (In reply to comment #5) > When I remove crossdev target (crossdev -C i586-linux-gnu) build was > successfull. Which gcc version are you using with crossdev (can you update it)? -Wno-unused-result comes from build/common.gypi and there is a comment above it that e.g. gcc-4.2 doesn't support that flag. yes, when I update crossdev target i586-gcc-linux, bug chromium build normal. But why chromium use gcc from crossdev ? main system gcc (Gentoo 4.5.3-r2 p1.1, pie-0.4.7) 4.5.3 (In reply to comment #7) > yes, when I update crossdev target i586-gcc-linux, bug chromium build normal. > > But why chromium use gcc from crossdev ? > > main system gcc (Gentoo 4.5.3-r2 p1.1, pie-0.4.7) 4.5.3 Not sure. I don't really know crossdev, and your comments seem a bit inconsistent about what you did (first you said "remove", and now "update" about the crossdev "target"). CC-ing crossdev maintainers. Any ideas? two things here. chromium is executing `g++` ... is it doing so to create code to run on the build machine, or is it compiling objects for the target ? if the former, you should make sure to not mix $CFLAGS and $BUILD_CFLAGS. secondly, you should find out why `g++` isn't your native g++. PATH should provide /usr/bin *first*, and then all the target paths. and none of the target paths should have `g++`, only the native ones. you can look in /usr/$CHOST/*/gcc-bin/*/ to make sure. (In reply to comment #9) > two things here. chromium is executing `g++` ... is it doing so to create > code to run on the build machine, or is it compiling objects for the target > ? if the former, you should make sure to not mix $CFLAGS and $BUILD_CFLAGS. I think it is using $(CXX.host), which defaults to g++. This is in the top-level Makefile (generated by gyp): CC.target ?= $(CC) CFLAGS.target ?= $(CFLAGS) CXX.target ?= $(CXX) CXXFLAGS.target ?= $(CXXFLAGS) LINK.target ?= $(LINK) LDFLAGS.target ?= $(LDFLAGS) AR.target ?= $(AR) ARFLAGS.target ?= crsT CC.host ?= gcc CFLAGS.host ?= CXX.host ?= g++ CXXFLAGS.host ?= LINK.host ?= g++ LDFLAGS.host ?= AR.host ?= ar ARFLAGS.host := crsT Also, I think "host" is actually equivalent to "build" in the autotools sense. It looks like it is building a copy of protobuf that will used later in the build process. (In reply to comment #10) > I think it is using $(CXX.host), which defaults to g++. > > This is in the top-level Makefile (generated by gyp): Thank you for finding that. Str4nger, could you please test chromium-19.0.1084.15? (In reply to comment #12) > (In reply to comment #10) > > I think it is using $(CXX.host), which defaults to g++. > > > > This is in the top-level Makefile (generated by gyp): > > Thank you for finding that. Str4nger, could you please test > chromium-19.0.1084.15? Build was successfull, thanks ! (In reply to comment #13) > Build was successfull, thanks ! Closing then, thanks for testing. (In reply to comment #11) i'm not sure the change that went in is correct. the ebuild says: emake ${make_targets} BUILDTYPE=Release V=1 \ CC.host="$(tc-getCC)" CFLAGS.host="${CFLAGS}" \ CXX.host="$(tc-getCXX)" CXXFLAGS.host="${CXXFLAGS}" \ LINK.host="$(tc-getCXX)" LDFLAGS.host="${LDFLAGS}" \ AR.host="$(tc-getAR)" || die pretty sure those should all be tc-getBUILD_XX and BUILD_XXFLAGS you can use tc-export_build_env to initialize the BUILD_XXX vars: tc-export_build_env BUILD_{AR,CC,CXX} Agreed. I touched on that in comment 10. Err, I mean comment 11... which you replied to. :P also, you're running tc-export in pkg_setup. that doesn't make sense. it should be in src_configure. I have updated chromium-26.0.1403.0 and chromium-9999-r1 as suggested. |
Created attachment 307895 [details] emerge --info output www-client/chromium-18.0.1025.142