Did you specify the correct path to chrome_sandbox in the gyp configure command? It must be specified at compile time and then must be in that location at runtime. Did you remember to set chrome_sandbox SUID root? (chmod 4555). Anything stupid like SELinux enabled? (I hate that... it causes more problems than its worth for normal desktop or server use of a system)
By the way, I've greatly simplified my install. When I first started, I expected to make /opt/chromium a tree with lib and bin etc. and add environment variables. I ended up being silly with symlinks to make it so, but that proved unnecessary. It can simply run out of /opt/chromium (I just create symlinks to the chrome and chrome_sandbox binaries in /usr/local/bin)
Configure:
I have not compiled this on any system but Slackware and some of the above may not be necessary or appropriate for Debian/oogabooga'ish distros. GCC version? Gnome shit like gconf, gnome keyring would likely be available on your system, remoting (disabled for Slackware because it requires PAM) could be enabled as well.Code:build/gyp_chromium --depth=. -Dgcc_version=45 -Duse_gconf=0 -Ddisable_nacl=1 -Duse_gnome_keyring=0 -Dlinux_link_gnome_keyring=0 -Dremove_webcore_debug_symbols=1 -Dremoting=0 -Dchromeos=0 -Dwerror=0 -Dno_strict_aliasing=1 -Dwerror= -Dlinux_sandbox_path=/opt/chromium/chrome_sandbox -Dlinux_strip_binary=1 -Dproprietary_codecs=1 -Duse_system_libjpeg=0 -Duse_libjpeg_turbo=1 -Duse_system_libxslt=0 -Duse_system_libxml=0 -Duse_system_bzip2=1 -Duse_system_zlib=0 -Duse_system_libpng=0 -Duse_system_yasm=1 -Duse_system_libevent=0 -Dffmpeg_branding=Chrome -Duse_system_ffmpeg=0 -Duse_system_ssl=0
Compile:
(Note that I add -fPIC only because the entire distro is compiled that way. I carried on with it for all the packages I've (re)built and all other builds. I'm not sure why Slackware adds that to the CFLAGS of every compile. All I know is that on x86_64 there is no penalty for doing so. Don't do it on x86... position independent code is best only used for libraries. It will be used where necessary in a build.Code:CFLAGS="-march=core2 -fPIC" CXXFLAGS="-march=core2 -fPIC -fno-ipa-cp" make chrome chrome_sandbox BUILDTYPE=Release -j10 V=1
I am betting that he had a few build failures because the linker on x86_64 is less forgiving when PIC is NOT used when necessary, as I have in the past, so it was added to every build. I can't seem to find a straight answer on that though.
I would remove -fPIC if not compiling on Slackware 64)
This is how I install it (it greatly simplifies the script). This goes in the directory above the chromium-$VERSION build directory and is executed from there ($DIR). I edit VERSION= before running the script. I could probably do something more complex with ls -l and cut etc. so it could be automatically found, but bleh... I hate that shit and I don't mind having one last look over before pulling the trigger anyway.
There is just no need to package this up and install it to the system. It's pretty much self contained except for needing to be found in the PATH. I chose to symlink in /usr/local/bin instead of adding /opt/chromium to a PATH variable.Code:#! /bin/sh VERSION=18.0.969.0 DIR=`pwd` rm -rf /opt/chromium mkdir -p /opt/chromium rm -f /usr/share/pixmaps/chromium.png cd $DIR/chromium-$VERSION/out/Release strip -p chrome strip -p chrome_sandbox strip -p --strip-unneeded libffmpegsumo.so cp chrome /opt/chromium cp chrome_sandbox /opt/chromium chmod 4555 /opt/chromium/chrome_sandbox cp *.pak /opt/chromium cp libffmpegsumo.so /opt/chromium cp product_logo_48.png /usr/share/pixmaps/chromium.png cp -a locales /opt/chromium cp -a resources /opt/chromium chown -R root:root /opt/chromium/locales chown -R root:root /opt/chromium/resources cd /usr/local/bin ln -sf /opt/chromium/chrome chrome ln -sf /opt/chromium/chrome_sandbox chrome_sandbox



Reply With Quote



Bookmarks