Bug 243509 - www/chromium: archivers/snappy update to 1.1.8 seems to break chromium build
Summary: www/chromium: archivers/snappy update to 1.1.8 seems to break chromium build
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Christoph Moench-Tegeder
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-01-22 11:35 UTC by Konstantin Belousov
Modified: 2020-01-25 13:09 UTC (History)
4 users (show)

See Also:
koobs: merge-quarterly+


Attachments
can someone try this patch? (919 bytes, patch)
2020-01-22 14:25 UTC, Vanilla I. Shu
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 david 2020-01-22 13:17:59 UTC
That probably explains the breakage I saw for this morning's portmaster run on my laptop: portmaster detected that the following updates were to be made (among others):

        Upgrade snappy-1.1.7 to snappy-1.1.8
        Upgrade chromium-79.0.3945.117 to chromium-79.0.3945.130

The snappy upgrade was successful; the chromium one was not.  (This was after updating ports (head) from r523716 to r523801, running on stable/12 @r356964.)

The specific whines from the attempt to build chromium were:

c++ -MMD -MF obj/third_party/leveldatabase/leveldatabase/port_chromium.o.d -DLEVELDB_PLATFORM_CHROMIUM=1 -DLEVELDB_COMPILE_LIBRARY -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"373424-64a362e7-1\" -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DLEVELDB_PLATFORM_CHROMIUM=1 -DLEVELDB_PLATFORM_CHROMIUM=1 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -I../.. -Igen -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -Igen/shim_headers/snappy_shim -I../../third_party/boringssl/src/include -I../../third_party/re2/src -fprofile-sample-use=../../chrome/android/profiles/afdo.prof -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -m64 -march=x86-64 -no-canonical-prefixes -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -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-unneeded-internal-declaration -Wno-undefined-var-template -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -std=c++14 -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include  -c ../../third_party/leveldatabase/port/port_chromium.cc -o obj/third_party/leveldatabase/leveldatabase/port_chromium.o
In file included from ../../third_party/leveldatabase/port/port_chromium.cc:10:
../../third_party/snappy/src/snappy.h:76:59: error: unknown type name 'string'; did you mean 'std::string'?
  size_t Compress(const char* input, size_t input_length, string* output);
                                                          ^~~~~~
                                                          std::string
/usr/include/c++/v1/iosfwd:210:65: note: 'std::string' declared here
typedef basic_string<char, char_traits<char>, allocator<char> > string;
                                                                ^
In file included from ../../third_party/leveldatabase/port/port_chromium.cc:10:
../../third_party/snappy/src/snappy.h:85:19: error: unknown type name 'string'; did you mean 'std::string'?
                  string* uncompressed);
                  ^~~~~~
                  std::string
/usr/include/c++/v1/iosfwd:210:65: note: 'std::string' declared here
typedef basic_string<char, char_traits<char>, allocator<char> > string;
                                                                ^
2 errors generated.
Comment 2 Vanilla I. Shu freebsd_committer 2020-01-22 14:25:57 UTC
Created attachment 210963 [details]
can someone try this patch?

put this file on files/
Comment 3 Konstantin Belousov freebsd_committer 2020-01-22 15:22:56 UTC
(In reply to Vanilla I. Shu from comment #2)
This did not worked, the file appears as if it was unpatched.
https://kib.kiev.ua/poudriere-solo/data/nuc_poudriere_11-head/2020-01-22_16h46m02s/logs/chromium-79.0.3945.130.log

There is some magic in the port's Makefile to 'unbundle' the packaged libraries, in particular snappy.  I suspect the file is get replaced after patching, but did not looked deeply.
Comment 4 david 2020-01-22 17:02:46 UTC
It worked for me.  Here's what I did:

* Copy/pasted the provided diff to a file I named /usr/ports/www/chromium/files/patch-243509.

* sudo make -C /usr/ports/www/chromium clean

* sudo make -C /usr/ports/www/chromium patch # To check that the copy/paste didn't mess up whitespace

* portmaster -ad

(As noted earlier, my previous portmaster run had been unable to build www/chromium, so it remained at chromium-79.0.3945.117.)

When portmaster ran, (finally! -- this is, after all, only a laptop):

===>>> The following actions were performed:
        Upgrade of chromium-79.0.3945.117 to chromium-79.0.3945.130
        Re-installation of yasm-1.3.0
        Re-installation of flock-2.30.1
        Re-installation of node-13.3.0

Thank you!
Comment 5 iron.udjin 2020-01-22 17:30:03 UTC
(In reply to Vanilla I. Shu from comment #2)
Patch works, .130 builds and works fine. Thank you!
Comment 6 Konstantin Belousov freebsd_committer 2020-01-22 20:07:10 UTC
I see why it did not worked for me.  After fixing the local issue, the patch worked.

Thanks.
Comment 7 Kubilay Kocak freebsd_committer freebsd_triage 2020-01-25 13:07:56 UTC
^Triage: Assign to committer that resolved in ports r523845