commonmark/cmark

Build fails on Debian Jessie

mlocati opened this issue · 19 comments

It seems that cmark 0.30.0 can't be compiled on Debian Jessie (compilation of cmark 0.29.0 succeeds):

From within a Docker image launched with docker run --rm -it debian:jessie bash:

$ apt-get update && apt-get install -qy cmake curl g++ python3
[...]
$ cd "$(mktemp -d)"
$ curl -sSL -o - https://github.com/commonmark/cmark/archive/0.30.0.tar.gz | tar xz
$ cd cmark-*
$ make -s -j$(nproc) cmake_build
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Performing Test HAVE_FLAG_ADDRESS_SANITIZER
-- Performing Test HAVE_FLAG_ADDRESS_SANITIZER - Failed
-- Performing Test HAVE_FLAG_SANITIZE_ADDRESS
-- Performing Test HAVE_FLAG_SANITIZE_ADDRESS - Success
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Looking for stdbool.h
-- Looking for stdbool.h - found
-- Performing Test HAVE___BUILTIN_EXPECT
-- Performing Test HAVE___BUILTIN_EXPECT - Success
-- Performing Test HAVE___ATTRIBUTE__
-- Performing Test HAVE___ATTRIBUTE__ - Success
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.4.2", minimum required is "3")
-- Configuring done
CMake Error at CMakeLists.txt:42 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:43 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:44 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:50 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:42 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:43 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:44 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:50 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:42 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:43 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:44 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:50 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:42 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:43 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:44 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:50 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:42 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:43 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:44 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


CMake Error at CMakeLists.txt:50 (add_compile_options):
  Error evaluating generator expression:

    $<COMPILE_LANGUAGE:C>

  Expression did not evaluate to a known generator expression


-- Generating done
-- Build files have been written to: /tmp/tmp.KfonX7KiZZ/cmark-0.30.0/build
Makefile:37: recipe for target 'build' failed
make: *** [build] Error 1

PS:

$ cmake --version
cmake version 3.0.2

COMPILE_LANGUAGE requires CMake 3.3, so cmake_minimum_required should be updated.

jgm commented

OK, let's at least do that. But is it worth thinking about removing this 3.3 only feature instead, to make it more compatible? Does anyone know what the alternative would be?
(This was part of cmake changes submitted by @compnerd -- who might be able to comment on this.)

jgm commented

Btw jessie is oldoldstable, under "extended LTS" support. It wouldn't be crazy to expect people running such an old system to install a more recent cmake, but still, compatibility is good if we can achieve it.

I'm not sure why $<COMPILE_LANGUAGE:C> is needed at all. Shouldn't the language always be C?

The generator expression for the language is to deal with the Swift build system (that definitely does not do the right thing in many ways). Unfortunately, cleaning that up has been slow going. So, at least for the Swift project, the generator expressions are needed.

jgm commented

Is there a way to work around the issue in cmake without using the newer feature COMPILE_LANGUAGE?

I think that the way to do that would to not use any add_compile_options at all, and instead explicitly set the options on all the targets via target_compile_options. You could add a function/macro to centralize that if there are too many targets.

jgm commented

If this would work and not add too much complexity, I think it would be desirable to make the project buildable on older systems. However, I don't know much about cmake and wouldn't be able to make these changes myself. Any interest in doing a PR?

It's either this or changing the required cmake_version.

I think I can take a stab at it and upload a potential change that can restore the build on older versions.

It seems that #385 isn't enough.

From within a Docker image launched with docker run --rm -it debian:jessie bash:

$ apt-get update && apt-get install -qy cmake curl g++ python3
[...]
$ cd "$(mktemp -d)"
$ curl -sSL -o - https://github.com/commonmark/cmark/archive/0.30.1.tar.gz | tar xz
$ cd cmark-*
$ make -s -j$(nproc) cmake_build
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Performing Test HAVE_FLAG_ADDRESS_SANITIZER
-- Performing Test HAVE_FLAG_ADDRESS_SANITIZER - Failed
-- Performing Test HAVE_FLAG_SANITIZE_ADDRESS
-- Performing Test HAVE_FLAG_SANITIZE_ADDRESS - Success
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Looking for stdbool.h
-- Looking for stdbool.h - found
-- Performing Test HAVE___BUILTIN_EXPECT
-- Performing Test HAVE___BUILTIN_EXPECT - Success
-- Performing Test HAVE___ATTRIBUTE__
-- Performing Test HAVE___ATTRIBUTE__ - Success
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.4.2", minimum required is "3")
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/build
make[1]: warning: -jN forced in submake: disabling jobserver mode.
src/CMakeFiles/cmark_static.dir/build.make:514: *** target pattern contains no '%'.  Stop.
CMakeFiles/Makefile2:149: recipe for target 'src/CMakeFiles/cmark_static.dir/all' failed
make[2]: *** [src/CMakeFiles/cmark_static.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
Scanning dependencies of target cmark
[  4%] [  4%] Building C object src/CMakeFiles/cmark.dir/node.c.o
Building C object src/CMakeFiles/cmark.dir/cmark.c.o
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/cmark.c:4:0:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c:5:0:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c: In function 'S_can_contain':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c:30:3: warning: C++ style comments are not allowed in ISO C90
   // Verify that child is not an ancestor of node.
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c:30:3: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c: In function 'S_node_unlink':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c:668:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *parent = node->parent;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c: In function 'cmark_node_insert_before':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c:698:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *old_prev = node->prev;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c:709:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *parent = node->parent;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c: In function 'cmark_node_insert_after':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c:731:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *old_next = node->next;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c:742:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *parent = node->parent;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c: In function 'cmark_node_prepend_child':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c:768:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *old_first_child = node->first_child;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c: In function 'cmark_node_append_child':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.c:792:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *old_last_child = node->last_child;
   ^
[  7%] Building C object src/CMakeFiles/cmark.dir/iterator.c.o
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/iterator.c:5:0:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/iterator.c: In function 'cmark_iter_new':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/iterator.c:19:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_mem *mem = root->mem;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/iterator.c: In function 'cmark_consolidate_text_nodes':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/iterator.c:94:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_iter *iter = cmark_iter_new(root);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/iterator.c:95:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(iter->mem);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/iterator.c:107:32: warning: C++ style comments are not allowed in ISO C90
         cmark_iter_next(iter); // advance pointer
                                ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/iterator.c:107:32: warning: (this will be reported only once per input file)
[  9%] Building C object src/CMakeFiles/cmark.dir/blocks.c.o
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/references.h:4:0,
                 from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/parser.h:5,
                 from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:15:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/parser.h:6:0,
                 from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:15:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h: At top level:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:87:1: warning: C++ style comments are not allowed in ISO C90
 // Create a root document node.
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:87:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c: In function 'cmark_parser_new_with_mem':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:97:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *document = make_document(mem);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c: In function 'resolve_reference_link_definitions':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:238:3: warning: initializer element is not computable at load time
   cmark_chunk chunk = {node_content->ptr, node_content->size};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:238:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c: In function 'finalize':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:280:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_strbuf *node_content = &parser->content;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:311:9: warning: initializer element is not computable at load time
         cmark_strbuf tmp = CMARK_BUF_INIT(parser->mem);
         ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c: In function 'add_child':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:381:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *child =
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c: In function 'check_open_blocks':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:893:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   cmark_node *container = parser->root;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c: In function 'add_text_to_container':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:1144:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const cmark_node_type ctype = S_type(container);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/blocks.c:1182:7: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
       int matches_end_condition;
       ^
[ 11%] Building C object src/CMakeFiles/cmark.dir/inlines.c.o
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:7:0:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/references.h:4:0,
                 from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/parser.h:5,
                 from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:8:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: At top level:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:24:1: warning: C++ style comments are not allowed in ISO C90
 // Macros for creating various kinds of simple.
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:24:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'make_str_with_entities':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:128:3: warning: initializer element is not computable at load time
   cmark_strbuf unescaped = CMARK_BUF_INIT(subj->mem);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'cmark_strdup':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:161:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   size_t len = strlen((char *)src);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'cmark_clean_autolink':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:169:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'adjust_subj_node_newlines':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:300:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   int since_newline;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'scan_to_closing_backticks':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:337:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
     bufsize_t numticks = 0;
     ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'handle_backticks':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:403:5: warning: initializer element is not computable at load time
     cmark_strbuf buf = CMARK_BUF_INIT(subj->mem);
     ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:409:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
     cmark_node *node = make_literal(subj, CMARK_NODE_CODE, startpos,
     ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'handle_hyphen':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:597:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   int numhyphens = subj->pos - startpos;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:601:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(subj->mem);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'process_emphasis':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:648:3: warning: initializer element is not computable at load time
   bufsize_t openers_bottom[9] = {stack_bottom, stack_bottom, stack_bottom,
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:648:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:648:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:649:34: warning: initializer element is not computable at load time
                                  stack_bottom, stack_bottom, stack_bottom,
                                  ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:649:34: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:649:34: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:650:34: warning: initializer element is not computable at load time
                                  stack_bottom, stack_bottom, stack_bottom};
                                  ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:650:34: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:650:34: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'handle_backslash':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:811:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   unsigned char nextchar = peek_char(subj);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'handle_entity':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:826:3: warning: initializer element is not computable at load time
   cmark_strbuf ent = CMARK_BUF_INIT(subj->mem);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'cmark_clean_url':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:844:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'cmark_clean_title':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:855:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'handle_pointy_brace':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:954:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
     cmark_node *node = make_literal(subj, CMARK_NODE_HTML_INLINE,
     ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'manual_scan_link_url_2':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:1048:5: warning: initializer element is not computable at load time
     cmark_chunk result = {input->data + offset, i - offset};
     ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:1048:5: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'manual_scan_link_url':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:1079:5: warning: initializer element is not computable at load time
     cmark_chunk result = {input->data + offset + 1, i - 2 - offset};
     ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:1079:5: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c: In function 'cmark_parse_inlines':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:1383:3: warning: initializer element is not computable at load time
   cmark_chunk content = {parent->data, parent->len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/inlines.c:1383:3: warning: initializer element is not computable at load time
[ 14%] Building C object src/CMakeFiles/cmark.dir/scanners.c.o
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/scanners.c:3:0:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/scanners.c: At top level:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/scanners.c:24:1: warning: C++ style comments are not allowed in ISO C90
 // Try to match a scheme including colon.
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/scanners.c:24:1: warning: (this will be reported only once per input file)
[ 16%] Building C object src/CMakeFiles/cmark.dir/utf8.c.o
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/utf8.c:48:1: warning: C++ style comments are not allowed in ISO C90
 // Validate a single UTF-8 character according to RFC 3629.
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/utf8.c:48:1: warning: (this will be reported only once per input file)
[ 19%] Building C object src/CMakeFiles/cmark.dir/buffer.c.o
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/buffer.c: In function 'cmark_strbuf_grow':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/buffer.c:53:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   bufsize_t new_size = target_size + target_size / 2;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/buffer.c: In function 'cmark_strbuf_strchr':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/buffer.c:172:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const unsigned char *p =
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/buffer.c: In function 'cmark_strbuf_strrchr':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/buffer.c:186:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   bufsize_t i;
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/buffer.c: At top level:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/buffer.c:245:1: warning: C++ style comments are not allowed in ISO C90
 // Destructively modify string, collapsing consecutive
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/buffer.c:245:1: warning: (this will be reported only once per input file)
[ 21%] Building C object src/CMakeFiles/cmark.dir/references.c.o
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/references.h:4:0,
                 from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/parser.h:5,
                 from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/references.c:3:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/parser.h:6:0,
                 from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/references.c:3:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h: At top level:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/references.c:18:1: warning: C++ style comments are not allowed in ISO C90
 // normalize reference:  collapse internal whitespace to single space,
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/references.c:18:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/references.c: In function 'normalize_reference':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/references.c:23:3: warning: initializer element is not computable at load time
   cmark_strbuf normalized = CMARK_BUF_INIT(mem);
   ^
[ 23%] Building C object src/CMakeFiles/cmark.dir/render.c.o
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c:6:0:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c: In function 'S_out':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c:57:7: warning: C++ style comments are not allowed in ISO C90
       // note: this assumes prefix is ascii:
       ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c:57:7: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c: In function 'cmark_render':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c:158:3: warning: initializer element is not computable at load time
   cmark_strbuf pref = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c:159:3: warning: initializer element is not computable at load time
   cmark_strbuf buf = CMARK_BUF_INIT(mem);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c:165:3: warning: initializer element is not computable at load time
   cmark_renderer renderer = {options,
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c:166:23: warning: initializer element is not computable at load time
                       mem,    &buf,    &pref,      0,      width,
                       ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c:166:23: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c:166:23: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c:166:23: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/render.c:169:9: warning: initializer element is not computable at load time
         outc,   S_cr,    S_blankline, S_out};
         ^
[ 26%] Building C object src/CMakeFiles/cmark.dir/man.c.o
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/man.c:8:0:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/man.c:19:1: warning: C++ style comments are not allowed in ISO C90
 // Functions to convert cmark_nodes to groff man strings.
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/man.c:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/man.c: In function 'S_render_node':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/man.c:134:9: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
         char list_number_s[LIST_NUMBER_SIZE];
         ^
[ 28%] Building C object src/CMakeFiles/cmark.dir/xml.c.o
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/xml.c:8:0:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/xml.c:14:1: warning: C++ style comments are not allowed in ISO C90
 // Functions to convert cmark_nodes to XML strings.
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/xml.c:14:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/xml.c: In function 'cmark_render_xml':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/xml.c:211:3: warning: initializer element is not computable at load time
   cmark_strbuf xml = CMARK_BUF_INIT(root->mem);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/xml.c:214:10: warning: initializer element is not computable at load time
   struct render_state state = {&xml, 0};
          ^
[ 30%] Building C object src/CMakeFiles/cmark.dir/html.c.o
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/html.c:8:0:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/scanners.h:2:0,
                 from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/html.c:11:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/html.c: At top level:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/html.c:15:1: warning: C++ style comments are not allowed in ISO C90
 // Functions to convert cmark_nodes to HTML strings.
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/html.c:15:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/html.c: In function 'cmark_render_html':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/html.c:327:3: warning: initializer element is not computable at load time
   cmark_strbuf html = CMARK_BUF_INIT(root->mem);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/html.c:330:10: warning: initializer element is not computable at load time
   struct render_state state = {&html, NULL};
          ^
[ 33%] Building C object src/CMakeFiles/cmark.dir/commonmark.c.o
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/commonmark.c:9:0:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/scanners.h:2:0,
                 from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/commonmark.c:12:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/commonmark.c: At top level:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/commonmark.c:22:1: warning: C++ style comments are not allowed in ISO C90
 // Functions to convert cmark_nodes to commonmark strings.
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/commonmark.c:22:1: warning: (this will be reported only once per input file)
[ 35%] Building C object src/CMakeFiles/cmark.dir/latex.c.o
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/latex.c:8:0:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/node.h:51:43: warning: comma at end of enumerator list [-Wpedantic]
   CMARK_NODE__LAST_LINE_CHECKED = (1 << 2),
                                           ^
In file included from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/scanners.h:2:0,
                 from /tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/latex.c:11:
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: C++ style comments are not allowed in ISO C90
 // NOLINTNEXTLINE(clang-diagnostic-unused-function)
 ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:19:1: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_literal':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
   cmark_chunk c = {(unsigned char *)data, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:58:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h: In function 'cmark_chunk_dup':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
   cmark_chunk c = {ch->data + pos, len};
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/chunk.h:65:3: warning: initializer element is not computable at load time
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/latex.c: In function 'outc':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/latex.c:28:13: warning: C++ style comments are not allowed in ISO C90
   case 123: // '{'
             ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/latex.c:28:13: warning: (this will be reported only once per input file)
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/latex.c: In function 'get_link_type':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/latex.c:163:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const char *url = cmark_node_get_url(node);
   ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/latex.c:175:3: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
   const char *title = cmark_node_get_title(node);
   ^
[ 38%] Building C object src/CMakeFiles/cmark.dir/houdini_href_e.c.o
[ 40%] Building C object src/CMakeFiles/cmark.dir/houdini_html_e.c.o
[ 42%] Building C object src/CMakeFiles/cmark.dir/houdini_html_u.c.o
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/houdini_html_u.c: In function 'houdini_unescape_ent':
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/houdini_html_u.c:52:11: warning: C++ style comments are not allowed in ISO C90
           // Keep counting digits but
           ^
/tmp/tmp.lsCV7TrNEZ/cmark-0.30.1/src/houdini_html_u.c:52:11: warning: (this will be reported only once per input file)
[ 45%] Building C object src/CMakeFiles/cmark.dir/cmark_ctype.c.o
Linking C shared library libcmark.so
[ 45%] Built target cmark
Makefile:127: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:33: recipe for target 'cmake_build' failed
make: *** [cmake_build] Error 2

The blocking error should be

src/CMakeFiles/cmark_static.dir/build.make:514: *** target pattern contains no '%'.  Stop.
jgm commented

@compnerd can you see what the problem is here?

Unfortunately not. Could you please provide the resulting Makefile with the f invalid output? That might help figure out what happens, but I'm not convinced that this is really the same issue anymore.

@compnerd do you mean src/CMakeFiles/cmark_static.dir/build.make?

@mlocati yes, as I cannot tell what the rule is that it is having trouble with.

Interesting:

src/libcmark$<$<BOOL:>:_static>.a: src/CMakeFiles/cmark_static.dir/cmark.c.o

Seems like the property is the output name: https://github.com/commonmark/cmark/blob/master/src/CMakeLists.txt#L101

I can try to whip up a patch, but wont be able to test it. Would you mind testing it @mlocati?

@compnerd Sure! With docker, testing it is a breeze

#392 should hopefully fix the build for you @mlocati