Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#62954 closed defect (fixed)

snappy: @1.1.9: buildbot failures for macOS 10.8 through 10.14

Reported by: mascguy (Christopher Nielsen) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: Schamschula (Marius Schamschula), reneeotten (Renee Otten)
Port: snappy

Description (last modified by mascguy (Christopher Nielsen))

This port is failing to build on most of our buildbots, following the 1.1.9 port update:

https://github.com/macports/macports-ports/commit/14620b1c10dc90e0cb3edc699b5f45feed422569

10.14 fails with:

.../work/snappy-1.1.9/snappy.cc:1033:36: error: invalid output constraint '=@ccz' in asm
      : [tag_type] "+r"(tag_type), "=@ccz"(is_literal));
                                   ^
1 error generated.
make[2]: *** [CMakeFiles/snappy.dir/snappy.cc.o] Error 1

While most of the others fail with this:

work/snappy-1.1.9/snappy.cc:133:35: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
  return std::array<int16_t, 256>{LengthMinusOffset(seq)...};
                                  ^~~~~~~~~~~~~~~~~~~~~~
                                  {                     }
work/snappy-1.1.9/snappy.cc:141:12: note: in instantiation of function template specialization 'snappy::(anonymous namespace)::MakeTable<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255>' requested here
} table = {MakeTable(make_index_sequence<256>{}), {0, 0xFF, 0xFFFF, 0}};
           ^
work/snappy-1.1.9/snappy.cc:245:11: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
  return {static_cast<char>((index_offset + indexes) % pattern_size)...};
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          {                                                         }
work/snappy-1.1.9/snappy.cc:255:11: note: in instantiation of function template specialization 'snappy::(anonymous namespace)::MakePatternMaskBytes<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15>' requested here
  return {MakePatternMaskBytes(
          ^
work/snappy-1.1.9/snappy.cc:255:11: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
  return {MakePatternMaskBytes(
          ^~~~~~~~~~~~~~~~~~~~~
          {
work/snappy-1.1.9/snappy.cc:265:5: note: in instantiation of function template specialization 'snappy::(anonymous namespace)::MakePatternMaskBytesTable<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15>' requested here
    MakePatternMaskBytesTable(
    ^
work/snappy-1.1.9/snappy.cc:1033:36: error: invalid output constraint '=@ccz' in asm
      : [tag_type] "+r"(tag_type), "=@ccz"(is_literal));
                                   ^
4 errors generated.
make[2]: *** [CMakeFiles/snappy.dir/snappy.cc.o] Error 1

Do we need to blacklist older compilers, and/or declare a newer C/C++ standard?

Attachments (1)

snappy-1.1.9-build-error-10.13.txt.gz (3.8 KB) - added by mascguy (Christopher Nielsen) 3 years ago.

Download all attachments as: .zip

Change History (18)

Changed 3 years ago by mascguy (Christopher Nielsen)

comment:1 Changed 3 years ago by mascguy (Christopher Nielsen)

Description: modified (diff)

comment:2 Changed 3 years ago by mascguy (Christopher Nielsen)

Of note, buildbot builds are failing, across a range of macOS releases. Interestingly enough, though, it is compiling on 10.6 and 10.7, but failing on 10.8 through 10.14. So I'm wondering if we need to force a newer Clang version across-the-board (like Clang 9).

https://ports.macports.org/port/snappy/builds

comment:3 Changed 3 years ago by mascguy (Christopher Nielsen)

EDIT: Updated the description with latest info; this comment now obsolete.

Last edited 3 years ago by mascguy (Christopher Nielsen) (previous) (diff)

comment:4 Changed 3 years ago by mascguy (Christopher Nielsen)

Description: modified (diff)
Summary: snappy: @1.1.9: builds fail on macOS 10.13snappy: @1.1.9: buildbot failures for macOS 10.8 through 10.14

comment:5 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: Schamschula added

It looks like Marius posted a message about the 10.14 compilation error (invalid output constraint '=@ccz' in asm), in the Snappy forum:

https://groups.google.com/g/snappy-compression/c/-AVUHVOf_OQ

comment:6 Changed 3 years ago by Christopher Nielsen <mascguy@…>

In d83ca20f249df2ae42cb0408adfdb235d9211821/macports-ports (master):

snappy: blacklist older clang versions

See: #62954

comment:7 in reply to:  6 Changed 3 years ago by mascguy (Christopher Nielsen)

Replying to Christopher Nielsen <mascguy@…>:

In d83ca20f249df2ae42cb0408adfdb235d9211821/macports-ports (master):

snappy: blacklist older clang versions

See: #62954

This should fix the template-related build errors, which covers most macOS releases.

As for the error related to invalid output constraint '=@ccz' in asm, that might require blacklisting Xcode-provided clangs. But still TBD.

comment:8 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: reneeotten added
Owner: changed from reneeotten to mascguy

comment:9 Changed 3 years ago by Schamschula (Marius Schamschula)

In the meantime I've downgraded snappy to 1.1.8 locally. With the icu situation, I need to rebuild a whole bunch of packages.

comment:10 in reply to:  9 Changed 3 years ago by mascguy (Christopher Nielsen)

Replying to Schamschula:

In the meantime I've downgraded snappy to 1.1.8 locally. With the icu situation, I need to rebuild a whole bunch of packages.

I requested that the icu upgrade be reverted, otherwise we're going to have a large number of broken ports. And unless there's a compelling reason for it - like a critical bug fix - it doesn't seem necessary...

comment:11 Changed 3 years ago by Christopher Nielsen <mascguy@…>

Resolution: fixed
Status: assignedclosed

In 477be7712aa48b5fd07f4b1a621873741ce4703b/macports-ports (master):

snappy: disable xcode clang, to fix asm build failures

Fixes: #62954

comment:13 in reply to:  12 Changed 3 years ago by mascguy (Christopher Nielsen)

Replying to Schamschula:

That didn't fix it the Buildbots still fail

https://build.macports.org/builders/ports-10.14_x86_64-builder/builds/87439/steps/install-port/logs/stdio

https://build.macports.org/builders/ports-10.13_x86_64-builder/builds/111766/steps/install-port/logs/stdio

My second commit fixed those issues, based on local testing. The 10.13 and 10.14 buildbots still have queued jobs for the subsequent change.

Last edited 3 years ago by mascguy (Christopher Nielsen) (previous) (diff)

comment:14 Changed 3 years ago by mascguy (Christopher Nielsen)

Don't worry, I'm actively watching for those. If either fail, I'll reopen this ticket.

comment:15 in reply to:  5 ; Changed 3 years ago by reneeotten (Renee Otten)

Replying to mascguy:

It looks like Marius posted a message about the 10.14 compilation error (invalid output constraint '=@ccz' in asm), in the Snappy forum:

https://groups.google.com/g/snappy-compression/c/-AVUHVOf_OQ

I am sorry, it did build fine for me locally and there wasn't any indication the CMakeList.txt or any changelog that would indicate something wouldn't work as expected (it just states it needs C++11, which is being requested in the Portfile).

It would have been useful to add a comment in the Portfile not to update it with a link to that discussion once encountered. It would have been caught by the CI as well, so probably I'll just go that route when updating a nomaintainer port - didn't do that this time as I expected no problems....

comment:16 in reply to:  15 Changed 3 years ago by mascguy (Christopher Nielsen)

Replying to reneeotten:

I am sorry, it did build fine for me locally and there wasn't any indication the CMakeList.txt or any changelog that would indicate something wouldn't work as expected (it just states it needs C++11, which is being requested in the Portfile).

It would have been useful to add a comment in the Portfile not to update it with a link to that discussion once encountered. It would have been caught by the CI as well, so probably I'll just go that route when updating a nomaintainer port - didn't do that this time as I expected no problems....

No worries.

I included some brief comments in the 2nd commit, mentioning the two issues encountered. Let me know if those are enough, otherwise I can add more detail.

comment:17 Changed 3 years ago by mascguy (Christopher Nielsen)

Great news, the 10.13 and 10.14 build jobs succeeded, so this port is fixed across-the-board. (The build status page may take a few hours before it shows all green, though.)

https://build.macports.org/builders/ports-10.13_x86_64-builder/builds/111782

https://build.macports.org/builders/ports-10.14_x86_64-builder/builds/87455

Note: See TracTickets for help on using tickets.