I haven't tested to see if this works with the current tag.
If someone would like to do this that would be great. I'm working on Windows support and deprecating buildlib.
I am trying to install this on Linux Mint 18 (based on Ubuntu 16.04). When I try to install it (via gdebi), I get the following message:
This package is uninstallable
Dependency is not satisfiable: libavcodec57 (>= 7:3.2.1)|libavcodec-extra57 (>= 7:3.2.1)
When I try to install chromedriver, I get the following message:
This package is uninstallable
Dependency is not satisfiable: libicu57 (>= 57.1-1~)
@strangefreeworld Your problem isn't related to this issue report, so please create a separate issue report next time.
Are you trying to install the Debian Stretch binaries on your system? The only reason this issue report exists is because you can't do that.
Yes I did that. My bad.
@strangefreeworld No problem. It happens to people. I might need to put a notice so people won't keep trying this in the future.
@Eloston Ubuntu 16.10 packages:
8617a53f5cdd6f65fd0df9e2dc5c80c9c3034d951eab099927af427e1ecd47d3d5951261604c2cf6def8c9fb438655a24648e9d4685d7ce5bd5926b89d1b512f30ce3c31e75dee7267dd36d79643a07f75467dad4339fbbb5fc2c046daffd5d65eca4ddbea47d5d846c4e02a22507828795839bff98dcea8b6fb8f2776112c809336416370de83c95f8ea4d6d2825ab9d52c8bd8458e143936143fc93a0038e6bea212be899facd92326fc14fdd2dd3ac41ba8d2b6ffbfd3e4ba1c81a3a4e9024d873e2d0d55e811aa47623a76439b16aa53616e197af75c504e7a54f60bc6b1432f94a200d01d456b751050656bfde261f23038a222bf0015fc022b2e3f03f421f5eaf36d8d3d74dc916a0950dfd525751df4cdfe6b6003951aea5df3d439212d5acf2c3f32ca4c9c4d40c71fb8c07008fa4511352f82cd374baeb51862c97ef0e9caf832f823c18365fdff4783e8fad7053230Trying to build this on Ubuntu 16.04 and got the following error:
Current dir: /home/my_user/ungoogled-chromium/build/sandbox/out/Default/
Command: python -- /home/my_user/ungoogled-chromium/build/sandbox/printing/cups_config_helper.py --api-version
Returned 1.
stderr:
Traceback (most recent call last):
File "/home/my_user/ungoogled-chromium/build/sandbox/printing/cups_config_helper.py", line 106, in <module>
sys.exit(main())
File "/home/my_user/ungoogled-chromium/build/sandbox/printing/cups_config_helper.py", line 76, in main
subprocess.call([cups_config, '--api-version'])
File "/usr/lib/python2.7/subprocess.py", line 523, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
See //BUILD.gn:264:7: which caused the file to be included.
"//printing:printing_unittests",
^------------------------------
2016-12-10 10:23:44,061 - ERROR: gn gen returned non-zero exit code: 1
I think I'll just wait for the .debs.
@Eloston is Chromium using llvm-3.9 in every platform?
@9Morello Linux and macOS only. I only use the latest stable clang compiler on those platforms.
@mimf I just merged @9Morello's pull request that should make use of the correct builder. You should be able to build Ubuntu packages now. Though I think @9Morello said he was going to upload 16.04 binaries in the post before yours.
@Eloston I'm actually getting an error on 16.04 pretty similar to the one I was getting on 14.04.
[65/12933] CXX obj/media/ffmpeg/ffmpeg/ffmpeg_common.o
FAILED: ../../../../../../../../usr/lib/llvm-3.9/bin/clang++ -MMD -MF obj/media/ffmpeg/ffmpeg/ffmpeg_common.o.d -DV8_DEPRECATION_WARNINGS -DENABLE_MDNS=1 -DENABLE_NOTIFICATIONS -DENABLE_PEPPER_CDMS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_UDEV -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_CLIPBOARD_AURAX11=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DDISABLE_NACL -DENABLE_EXTENSIONS=1 -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DUSE_PROPRIETARY_CODECS -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DCR_CLANG_REVISION=282487-1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DUSE_PULSEAUDIO -DMEDIA_IMPLEMENTATION -DGL_GLEXT_PROTOTYPES -DUSE_GLX -DUSE_EGL -I../.. -Igen -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Igen/shim_headers/libevent_shim -I../../third_party/khronos -I../../gpu -Igen/shim_headers/re2_shim -Igen/shim_headers/icuuc_shim -Igen/shim_headers/zlib_shim -Igen/shim_headers/icui18n_shim -Igen/shim_headers/harfbuzz_shim -Igen/shim_headers/libpng_shim -Igen/shim_headers/ffmpeg_shim -I/usr/include/x86_64-linux-gnu -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -fcolor-diagnostics -fdebug-prefix-map=/home/ug/release_build/ungoogled-chromium/build/sandbox=. -pthread -m64 -march=x86-64 -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -O2 -fno-ident -fdata-sections -ffunction-sections -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -fno-exceptions -c ../../media/ffmpeg/ffmpeg_common.cc -o obj/media/ffmpeg/ffmpeg/ffmpeg_common.o
warning: unknown warning option '-Wno-address-of-packed-member' [-Wunknown-warning-option]
../../media/ffmpeg/ffmpeg_common.cc:801:1: error: use of undeclared identifier 'AVCOL_PRI_SMPTEST428_1'; did you mean 'AVCOL_PRI_SMPTE240M'?
TEST_PRIMARY(SMPTEST428_1);
^
../../media/ffmpeg/ffmpeg_common.cc:778:58: note: expanded from macro 'TEST_PRIMARY'
static_cast<int>(gfx::ColorSpace::PrimaryID::P) == AVCOL_PRI_##P, \
^
<scratch space>:114:1: note: expanded from here
AVCOL_PRI_SMPTEST428_1
^
/usr/include/x86_64-linux-gnu/libavutil/pixfmt.h:485:5: note: 'AVCOL_PRI_SMPTE240M' declared here
AVCOL_PRI_SMPTE240M = 7, ///< functionally identical to above
^
../../media/ffmpeg/ffmpeg_common.cc:801:1: error: static_assert failed "gfx::ColorSpace::PrimaryID::SMPTEST428_1 does not match AVCOL_PRI_SMPTEST428_1"
TEST_PRIMARY(SMPTEST428_1);
^~~~~~~~~~~~~~~~~~~~~~~~~~
../../media/ffmpeg/ffmpeg_common.cc:777:3: note: expanded from macro 'TEST_PRIMARY'
static_assert( \
^
../../media/ffmpeg/ffmpeg_common.cc:819:1: error: use of undeclared identifier 'AVCOL_TRC_SMPTEST2084'
TEST_TRANSFER(SMPTEST2084);
^
../../media/ffmpeg/ffmpeg_common.cc:783:59: note: expanded from macro 'TEST_TRANSFER'
static_cast<int>(gfx::ColorSpace::TransferID::T) == AVCOL_TRC_##T, \
^
<scratch space>:114:1: note: expanded from here
AVCOL_TRC_SMPTEST2084
^
../../media/ffmpeg/ffmpeg_common.cc:820:1: error: use of undeclared identifier 'AVCOL_TRC_SMPTEST428_1'; did you mean 'AVCOL_TRC_SMPTE240M'?
TEST_TRANSFER(SMPTEST428_1);
^
../../media/ffmpeg/ffmpeg_common.cc:783:59: note: expanded from macro 'TEST_TRANSFER'
static_cast<int>(gfx::ColorSpace::TransferID::T) == AVCOL_TRC_##T, \
^
<scratch space>:114:1: note: expanded from here
AVCOL_TRC_SMPTEST428_1
^
/usr/include/x86_64-linux-gnu/libavutil/pixfmt.h:502:5: note: 'AVCOL_TRC_SMPTE240M' declared here
AVCOL_TRC_SMPTE240M = 7,
^
../../media/ffmpeg/ffmpeg_common.cc:820:1: error: static_assert failed "gfx::ColorSpace::TransferID::SMPTEST428_1 does not match AVCOL_TRC_SMPTEST428_1"
TEST_TRANSFER(SMPTEST428_1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../media/ffmpeg/ffmpeg_common.cc:782:3: note: expanded from macro 'TEST_TRANSFER'
static_assert( \
^
1 warning and 5 errors generated.
I was trying to use the Xenial Builder on 14.04 and got into a very similar issue before giving up and starting working with the Static Builder.
Edit: It seems I had the wrong version of libavcodec-extra installed.
Out of curiosity, I'll test this with 14.04 later.
@9Morello I guess the ffmpeg in xenial is too old now. We could either remove patches until xenial builds, or just use the static builder.
@Eloston It built when installing the correct libavcodec-extra. I'm trying to get widevine to work on OSX now, but I'll upload the 16.04 binaries today.
@9Morello Oh that was simple. Going to add Xenial back to the list of supported builders now...
@Eloston The new subversion is not building on 16.04.
[10449/23938] CXX obj/services/ui/surf...s/surfaces/surfaces_context_provider.o
FAILED: ../../../../../../../../usr/bin/clang++ -MMD -MF obj/services/ui/surfaces/surfaces/surfaces_context_provider.o.d -DV8_DEPRECATION_WARNINGS -DENABLE_MDNS=1 -DENABLE_NOTIFICATIONS -DENABLE_PEPPER_CDMS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_UDEV -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_CLIPBOARD_AURAX11=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DDISABLE_NACL -DENABLE_EXTENSIONS=1 -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DUSE_PROPRIETARY_CODECS -DOFFICIAL_BUILD -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DCR_CLANG_REVISION=282487-1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGL_GLEXT_PROTOTYPES -DUSE_GLX -DUSE_EGL -DSK_IGNORE_DW_GRAY_FIX -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_SUPPORT_GPU=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_NOEXCEPT= -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -I../.. -Igen -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I../../third_party/khronos -I../../gpu -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/include/gpu -I../../third_party/skia/src/gpu -I../../third_party/skia/src/sksl -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/mesa/src/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -fcolor-diagnostics -fdebug-prefix-map=/home/ug/release_build_forreal/ungoogled-chromium/build/sandbox=. -pthread -m64 -march=x86-64 -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -O2 -fno-ident -fdata-sections -ffunction-sections -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -fno-exceptions -c ../../services/ui/surfaces/surfaces_context_provider.cc -o obj/services/ui/surfaces/surfaces/surfaces_context_provider.o
../../services/ui/surfaces/surfaces_context_provider.cc:80:37: error: default initialization of an object of const type 'const gpu::SharedMemoryLimits' without a user-provided default constructor
constexpr gpu::SharedMemoryLimits default_limits;
^
{}
3 warnings and 1 error generated.
Edit: whoops, it seems that I didn't pay attention and tried to build using the StaticBuilder instead. I'm testing it again from scratch.
Ubuntu 16.04 packages are building correctly in the master branch.
@Eloston
Ubuntu 16.04
2688efd7e4a2ff200fe97a74fa87df31dbad9982b43db2b7d7418273aae87a149dae9a9c1077f9aaa921e4c58a603300cfa82902c0b4b93dc92cc0c738a7caaf2da36eb933c2bbb38da10e9b941ecb97183213ddabc32ba5406a217a866f92950bf6a20fee03db70fdc6012e192a44df0de889b846f027f4f992930bf0bc9e703da45a855d433dad408c409e1c5110bf021c69f5efb453c5e0de9ee8c087f121d7f5948517659d0d29c483b92bc4359f31893a0e0fe2af4b65338d04e94f0fd472e9e3f537ac422df298e6ab3d620d17ac9f41fa7a7bac2f773194346bf2d17bde3deb4101fafb8276d1310df0fbd413d8b5bfbed99c7dd7c940616d135222a2078ab50fa79abd032ee9ec006432d07debcaad2b6fbdb5101423e5b79a5e9a63c3dbc5f0583f0aff7a1e6ef3436731f368399a7ea882b27ba70da830a3aa840eac53af8441824b762d504460e70a2719269cae74Latest Ubuntu 16.10 binaries are here
@Eloston, will you tag these binaries? Do you trust 9Morello's binaries?
@9Morello's, can you tell how you compiled on Ubuntu 16.04? What did you install before doing ./build.py?
@mimf They're now linked in the current release. I didn't feel like making a new tag for it yet.
@Eloston AFAIR I only installed llvm-3.9 and the dependencies buildlib require when you run it. I got an error when it got to the ffmpeg part because I had installed an old version of libavcodec-extra. I think it worked fine after that.
Unfortunately, the errors Chromium give to you when compiling are not clear at all - they're mostly because certain packages are not installed or are too old, but they don't point out exactly which ones. I end up installing tons of packages until it works. It wasn't much trouble in 16.04, but it was a pain on 14.04 - which is why I created this issue.
TL;DR I think that with 16.04, I just chose a different version of libavcodec-extra and it worked. But I might be wrong - if so, we should further investigate and update the dependencies buildlib asks for.
@9Morello This is why I don't port the dynamic builder to lots of platforms; it's extra work to add and even more work to maintain (over a long enough period of time)
This is especially true (as you've seen) with 14.04. There are many examples I can bring up, but just look at Google Chrome: It only offers ONE binary (I treat the .rpm and .deb binaries as one because they are just different archive formats of the same binary). For them, it's good enough even though it's not as efficient as a distribution version-specific binary. Another example would be the Linux kernel; you can definitely build a kernel that has everything stripped out except the things needed by the system (and external hardware you use) and optimize it to utilize the hardware to its full capabilities. But there are just too many hardware configurations out there, which is why kernels shipped with distributions have lots of features enabled, and make some sacrifices to keep the majority of users happy.
I would like to thank you again for the amount of effort you've put in to the binaries for macOS, Linux static, 16.10, 16.04, and now 14.04. Once we've wrapped these platforms up, I think that will be plenty to support for now.
Closing this issue since binaries are available now.
@Eloston I was checking the VMs and noticed I had to install a PPA to get a newer FFmpeg on Ubuntu 16.04. You also need to install it so the pre-built binaries can work. Sorry for not pointing that earlier.
Its more or less the same with 14.04, except that Trusty doesn't have any PPA with FFmpeg built dynamically and the user has to build it himself.
@9Morello Alright. You can add that info to your previous messages since I linked to them from the downloads page. In the future, we should probably use the bundled ffmpeg library.
@Eloston The bundled ffmpeg library didn't work. Seems like Xenial's ffmpeg is too old.
@9Morello "Bundled" as in the one that comes with the Chromium source code. I refer to the libraries provided by the system as "system libraries"
@Eloston Oh, I see.
If you want to start working on it earlier, we can try building the Chromium beta tags.
@9Morello We don't need to do that. We can just build the same Chromium version with a different release revision (a concept I borrowed from packaging systems, mostly Debian)
But I'd rather not do something like that before #125 is done. The new system should make this easier/more elegant.
@mimf Installation instructions for 16.04
add following to /etc/apt/sources.list
# 3.9 - clang
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-3.9 main
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-3.9 main
Terminal
sudo add-apt-repository -y ppa:jonathonf/ffmpeg-3
sudo apt-get update
sudo apt-get install -y clang-3.9 debhelper ninja-build python-jinja2 flex yasm xvfb wdiff gperf bison valgrind libglew-dev libgl1-mesa-dev libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev mesa-common-dev libxt-dev libre2-dev libgbm-dev libpng-dev libxss-dev libelf-dev libvpx-dev libpci-dev libcap-dev libdrm-dev libicu-dev libffi-dev libkrb5-dev libexif-dev libflac-dev libudev-dev libopus-dev libwebp-dev libxtst-dev libsrtp-dev libjpeg-dev libxml2-dev libgtk2.0-dev libxslt1-dev libpulse-dev libpam0g-dev libsnappy-dev libgconf2-dev libavutil-dev libavcodec-dev libavformat-dev libglib2.0-dev libasound2-dev libsqlite3-dev libjsoncpp-dev libspeechd-dev libminizip-dev libhunspell-dev libharfbuzz-dev libusb-1.0-0-dev ffmpeg libmodpbase64-dev libgnome-keyring-dev libnss3-dev libnspr4-dev libcups2-dev libevent-dev libjs-excanvas libjs-jquery-flot libgcrypt20-dev quilt build-essential
./build.py
# Install packages
sudo dpkg -i build/chrom*.deb
@Eloston, everything was built, but every single page i try to open i get - Aww, snap! Any hints what may went wrong?
@message Are you using it in a VM?
I just tested the pre-built packages and they are working, could you please test them and see if you get the same error?
@9Morello packages which you pre-built are working fine. The issue is with packages which i built by myself. I just don't get why every page throws Aww, snap! for me :/
I got a similar error when trying it on a VM, but the same packages worked fine on an actual install.
I'm supposing you tested both on the same machine. Not sure what is causing this.
Perhaps some packaged got updated in 16.04 or the PPA and it broke your build.
Looks like the .deb file links for Ubuntu 16.04 in the comment above are broken
@message Here is solution to the issue.
There's a Ubuntu PPA for easy to install packages of ungoogled-chromium now: https://launchpad.net/~braewoods/+archive/ubuntu/ungoogled-chromium