Summary: | www-client/chromium-9.0.597.45 fails compilation with make-3.80-r4 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Bob Raitz <pappy_mcfae> |
Component: | Current packages | Assignee: | Chromium Project <chromium> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | base-system |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | chrome.target.mk |
Description
Bob Raitz
2011-01-08 08:13:10 UTC
errors noted: core-too ~ # emerge -av chromium These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] www-client/chromium-9.0.597.45 [9.0.597.19] USE="cups gecko-mediaplayer -gnome -gnome-keyring -system-sqlite (-system-v8) (-test%)" 0 kB Total: 1 package (1 upgrade), Size of downloads: 0 kB Would you like to merge these packages? [Yes/No] >>> Verifying ebuild manifests >>> Emerging (1 of 1) www-client/chromium-9.0.597.45 * chromium-9.0.597.45.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * Package: www-client/chromium-9.0.597.45 * Repository: gentoo * Maintainer: chromium@gentoo.org * USE: amd64 cups elibc_glibc gecko-mediaplayer kernel_linux multilib userland_GNU * FEATURES: sandbox >>> Unpacking source... >>> Unpacking chromium-9.0.597.45.tar.bz2 to /var/tmp/portage/www-client/chromium-9.0.597.45/work >>> Source unpacked in /var/tmp/portage/www-client/chromium-9.0.597.45/work >>> Preparing source in /var/tmp/portage/www-client/chromium-9.0.597.45/work/chromium-9.0.597.45 ... * Applying chromium-gecko-mediaplayer-r0.patch ... [ ok ] * Applying chromium-system-vpx-r1.patch ... [ ok ] * Applying chromium-tests-r0.patch ... [ ok ] * Bundled V8 version: 2.5.9.6 >>> Source prepared. >>> Configuring source in /var/tmp/portage/www-client/chromium-9.0.597.45/work/chromium-9.0.597.45 ... build/gyp_chromium --depth=. -Ddisable_sse2=1 -Duse_system_bzip2=1 -Duse_system_ffmpeg=1 -Duse_system_icu=1 -Duse_system_libevent=1 -Duse_system_libjpeg=1 -Duse_system_libpng=1 -Duse_system_libxml=1 -Duse_system_vpx=1 -Duse_system_zlib=1 -Duse_cups=1 -Duse_gconf=0 -Duse_gnome_keyring=0 -Dlinux_link_gnome_keyring=0 -Dlinux_sandbox_path=/usr/lib64/chromium-browser/chrome_sandbox -Dlinux_sandbox_chrome_path=/usr/lib64/chromium-browser/chrome -Dproprietary_codecs=1 -Dtarget_arch=x64 -Dwerror= Updating projects from gyp files... >>> Source configured. >>> Compiling source in /var/tmp/portage/www-client/chromium-9.0.597.45/work/chromium-9.0.597.45 ... make -j8 chrome chrome_sandbox BUILDTYPE=Release V=1 make: Nothing to be done for `chrome'. make: Nothing to be done for `chrome_sandbox'. * Fallback PaX marking -m * out/Release/chrome >>> Source compiled. >>> Test phase [not enabled]: www-client/chromium-9.0.597.45 >>> Install chromium-9.0.597.45 into /var/tmp/portage/www-client/chromium-9.0.597.45/image/ category www-client !!! doexe: out/Release/chrome does not exist doexe failed !!! doexe: out/Release/chrome_sandbox does not exist doexe failed * ERROR: www-client/chromium-9.0.597.45 failed: * (no error message) * * Call stack: * ebuild.sh, line 56: Called src_install * environment, line 5459: Called die * The specific snippet of code: * doexe out/Release/chrome_sandbox || die; * * If you need support, post the output of 'emerge --info =www-client/chromium-9.0.597.45', * the complete build log and the output of 'emerge -pqv =www-client/chromium-9.0.597.45'. * The complete build log is located at '/var/tmp/portage/www-client/chromium-9.0.597.45/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/www-client/chromium-9.0.597.45/temp/environment'. * S: '/var/tmp/portage/www-client/chromium-9.0.597.45/work/chromium-9.0.597.45' * QA Notice: file does not exist: * * doexe: out/Release/chrome does not exist * doexe: out/Release/chrome_sandbox does not exist >>> Failed to emerge www-client/chromium-9.0.597.45, Log file: >>> '/var/tmp/portage/www-client/chromium-9.0.597.45/temp/build.log' That's odd; it looks like your Makefile isn't being generated properly. This seems to only cause problems with my amd64, as the i686 version is currently compiling, and shows all signs of moving to completion in an error-free manner. (In reply to comment #3) > This seems to only cause problems with my amd64, as the i686 version is > currently compiling, and shows all signs of moving to completion in an > error-free manner. > It works fine on my amd64 system, so I don't think this has anything to do with ARCH. Do the following files exist? If so, can you attach them? /var/tmp/portage/www-client/chromium-9.0.597.45/work/chromium-9.0.597.45/Makefile /var/tmp/portage/www-client/chromium-9.0.597.45/work/chromium-9.0.597.45/chrome/chrome.target.mk (In reply to comment #4) > (In reply to comment #3) > > This seems to only cause problems with my amd64, as the i686 version is > > currently compiling, and shows all signs of moving to completion in an > > error-free manner. > > > > It works fine on my amd64 system, so I don't think this has anything to do with > ARCH. > > Do the following files exist? If so, can you attach them? > /var/tmp/portage/www-client/chromium-9.0.597.45/work/chromium-9.0.597.45/Makefile No. File does not exist. > /var/tmp/portage/www-client/chromium-9.0.597.45/work/chromium-9.0.597.45/chrome/chrome.target.mk File exists: # This file is generated by gyp; do not edit. TOOLSET := target TARGET := chrome_gpu DEFS_Debug := '-DNO_HEAPCHECKER' \ '-DCHROMIUM_BUILD' \ '-DENABLE_REMOTING=1' \ '-DUSE_PROPRIETARY_CODECS' \ '-DENABLE_GPU=1' \ '-DGL_GLEXT_PROTOTYPES' \ '-DHAVE_XINPUT2' \ '-D__STDC_FORMAT_MACROS' \ '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ '-D_DEBUG' # Flags passed to both C and C++ files. CFLAGS_Debug := \ -pthread \ -fno-exceptions \ -Wall \ -Wno-unused-parameter \ -Wno-missing-field-initializers \ -D_FILE_OFFSET_BITS=64 \ -fvisibility=hidden \ -pipe \ -fPIC \ -fno-strict-aliasing \ -pthread \ -I/usr/include/gtk-2.0 \ -I/usr/lib64/gtk-2.0/include \ -I/usr/include/atk-1.0 \ -I/usr/include/cairo \ -I/usr/include/gdk-pixbuf-2.0 \ -I/usr/include/pango-1.0 \ -I/usr/include/glib-2.0 \ -I/usr/lib64/glib-2.0/include \ -I/usr/include/pixman-1 \ -I/usr/include/freetype2 \ -I/usr/include/libpng14 \ -I/usr/include/libdrm \ -O0 \ -g # Flags passed to only C (and not C++) files. CFLAGS_C_Debug := # Flags passed to only C++ (and not C) files. CFLAGS_CC_Debug := -fno-rtti \ -fno-threadsafe-statics \ -fvisibility-inlines-hidden INCS_Debug := -I. \ -Igpu \ -Ithird_party \ -Ithird_party/mesa/MesaLib/include \ -I$(obj)/gen/app \ -Ithird_party/sqlite \ -Iskia/config \ -Ithird_party/skia/include/config \ -Ithird_party/skia/include/core \ -Ithird_party/skia/include/effects \ -Iskia/ext \ -Ithird_party/harfbuzz/src \ -Ithird_party/harfbuzz/contrib DEFS_Release := '-DNO_HEAPCHECKER' \ '-DCHROMIUM_BUILD' \ '-DENABLE_REMOTING=1' \ '-DUSE_PROPRIETARY_CODECS' \ '-DENABLE_GPU=1' \ '-DGL_GLEXT_PROTOTYPES' \ '-DHAVE_XINPUT2' \ '-D__STDC_FORMAT_MACROS' \ '-DNDEBUG' \ '-DNVALGRIND' \ '-DDYNAMIC_ANNOTATIONS_ENABLED=0' # Flags passed to both C and C++ files. CFLAGS_Release := \ -pthread \ -fno-exceptions \ -Wall \ -Wno-unused-parameter \ -Wno-missing-field-initializers \ -D_FILE_OFFSET_BITS=64 \ -fvisibility=hidden \ -pipe \ -fPIC \ -fno-strict-aliasing \ -pthread \ -I/usr/include/gtk-2.0 \ -I/usr/lib64/gtk-2.0/include \ -I/usr/include/atk-1.0 \ -I/usr/include/cairo \ -I/usr/include/gdk-pixbuf-2.0 \ -I/usr/include/pango-1.0 \ -I/usr/include/glib-2.0 \ -I/usr/lib64/glib-2.0/include \ -I/usr/include/pixman-1 \ -I/usr/include/freetype2 \ -I/usr/include/libpng14 \ -I/usr/include/libdrm \ -O2 \ -fno-ident \ -fdata-sections \ -ffunction-sections # Flags passed to only C (and not C++) files. CFLAGS_C_Release := # Flags passed to only C++ (and not C) files. CFLAGS_CC_Release := -fno-rtti \ -fno-threadsafe-statics \ -fvisibility-inlines-hidden INCS_Release := -I. \ -Igpu \ -Ithird_party \ -Ithird_party/mesa/MesaLib/include \ -I$(obj)/gen/app \ -Ithird_party/sqlite \ -Iskia/config \ -Ithird_party/skia/include/config \ -Ithird_party/skia/include/core \ -Ithird_party/skia/include/effects \ -Iskia/ext \ -Ithird_party/harfbuzz/src \ -Ithird_party/harfbuzz/contrib OBJS := $(obj).target/$(TARGET)/chrome/gpu/gpu_channel.o \ $(obj).target/$(TARGET)/chrome/gpu/gpu_command_buffer_stub.o \ $(obj).target/$(TARGET)/chrome/gpu/gpu_info_collector_linux.o \ $(obj).target/$(TARGET)/chrome/gpu/gpu_main.o \ $(obj).target/$(TARGET)/chrome/gpu/gpu_process.o \ $(obj).target/$(TARGET)/chrome/gpu/gpu_thread.o \ $(obj).target/$(TARGET)/chrome/gpu/gpu_video_decoder.o \ $(obj).target/$(TARGET)/chrome/gpu/gpu_video_service.o \ $(obj).target/$(TARGET)/chrome/gpu/gpu_watchdog_thread.o \ $(obj).target/$(TARGET)/chrome/gpu/media/fake_gl_video_decode_engine.o \ $(obj).target/$(TARGET)/chrome/gpu/media/fake_gl_video_device.o \ $(obj).target/$(TARGET)/chrome/gpu/x_util.o # Add to the list of files we specially track dependencies for. all_deps += $(OBJS) # Make sure our dependencies are built before any of us. $(OBJS): | $(obj).target/app/libapp_base.a $(obj).target/chrome/libcommon.a # CFLAGS et al overrides must be target-local. # See "Target-specific Variable Values" in the GNU Make manual. $(OBJS): TOOLSET := $(TOOLSET) $(OBJS): GYP_CFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE)) $(OBJS): GYP_CXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE)) # Suffix rules, putting all outputs into $(obj). $(obj).$(TOOLSET)/$(TARGET)/%.o: $(srcdir)/%.cc FORCE_DO_CMD @$(call do_cmd,cxx,1) # Try building from generated source, too. $(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj).$(TOOLSET)/%.cc FORCE_DO_CMD @$(call do_cmd,cxx,1) $(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj)/%.cc FORCE_DO_CMD @$(call do_cmd,cxx,1) # End of this set of suffix rules ### Rules for final target. LDFLAGS_Debug := -pthread \ -Wl,-z,noexecstack \ -L$(builddir) LDFLAGS_Release := -pthread \ -Wl,-z,noexecstack \ -L$(builddir) \ -Wl,-O1 \ -Wl,--as-needed \ -Wl,--gc-sections LIBS := $(obj).target/chrome/libchrome_gpu.a: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE)) $(obj).target/chrome/libchrome_gpu.a: LIBS := $(LIBS) $(obj).target/chrome/libchrome_gpu.a: TOOLSET := $(TOOLSET) $(obj).target/chrome/libchrome_gpu.a: $(OBJS) $(obj).target/app/libapp_base.a $(obj).target/chrome/libcommon.a FORCE_DO_CMD $(call do_cmd,alink) all_deps += $(obj).target/chrome/libchrome_gpu.a # Add target alias .PHONY: chrome_gpu chrome_gpu: $(obj).target/chrome/libchrome_gpu.a # Add target alias to "all" target. .PHONY: all all: chrome_gpu > Created attachment 259306 [details]
chrome.target.mk
This is the actual file. My apologies for the previous ooops.
(In reply to comment #5) > > /var/tmp/portage/www-client/chromium-9.0.597.45/work/chromium-9.0.597.45/Makefile > > No. File does not exist. I think this is the problem. I'm not exactly sure where to go from here, however. (In reply to comment #7) > (In reply to comment #5) > > > /var/tmp/portage/www-client/chromium-9.0.597.45/work/chromium-9.0.597.45/Makefile > > > > No. File does not exist. > > I think this is the problem. I'm not exactly sure where to go from here, > however. > It's been an issue with the last three versions released. I do have it installed, and it seems that's the only version that installs. Of course, now the ebuild that did work is out of portage. I guess I can find out if that version still works, and you can backtrack from there. (In reply to comment #5) > > Do the following files exist? If so, can you attach them? > > /var/tmp/portage/www-client/chromium-9.0.597.45/work/chromium-9.0.597.45/Makefile > > No. File does not exist. Bob, are you sure about that? The error message should be different in that case, like "No rule to make target 'chrome'". Maybe we're asking for the wrong filename though. Could you post the output of "ls -l /var/tmp/portage/www-client/chromium-9.0.597.45/work/chromium-9.0.597.45/"? Yes, I am quite sure that was the case. I don't think that's the issue, though. I tried to install the last workable version I had, and it fails as well. I'm in the process of moving lots of data to a new drive, so it will be a while before I can send you some more info. OK...I've found out the issue. It seems that there was a problem with a certain version of make (3.82), I moved the machine in question to make-3.80-r4. Apparently, that version of make is too old to work properly with chromium. I moved up to make-3.81, and now it's compiling as expected. I'll change the title to reflect that, and if someone who also has an amd64 could double-check to make sure that what I see as an issue is an issue, that would verify. I am able to reproduce the problem with chromium-10.0.634.0-r1 and sys-devel/make-3.80-r4. What a weird bug. Anyway, make-3.81 is stable and builds chromium correctly, so this is probably not worth "fixing" on the chromium side. (In reply to comment #12) > I am able to reproduce the problem with chromium-10.0.634.0-r1 and > sys-devel/make-3.80-r4. What a weird bug. > > Anyway, make-3.81 is stable and builds chromium correctly, so this is probably > not worth "fixing" on the chromium side. > Yeah...I'd call this fixed due to attrition, if nothing else. Thanks. Thank you for finding the root cause of this bug. I see two choices here: 1) Update www-client/chromium dependencies to require a recent enough make. 2) Remove earlier versions of make from the tree. base-system, what do you think about removing or hard masking sys-devel/make-3.80-r4? removing/masking wouldnt have helped Bob as nothing would have forced the upgrade. having make-3.80 available to developers who need to support older versions is quite valuable, so i plan on keeping it in the tree for the foreseeable future. Okay, I updated the dependencies for www-client/chromium. |