Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails on Debian Jessie #384

Closed
mlocati opened this issue Jul 1, 2021 · 19 comments · Fixed by #385
Closed

Build fails on Debian Jessie #384

mlocati opened this issue Jul 1, 2021 · 19 comments · Fixed by #385

Comments

@mlocati
Copy link

mlocati commented Jul 1, 2021

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
@mlocati
Copy link
Author

mlocati commented Jul 1, 2021

PS:

$ cmake --version
cmake version 3.0.2

@nwellnhof
Copy link
Contributor

COMPILE_LANGUAGE requires CMake 3.3, so cmake_minimum_required should be updated.

@jgm
Copy link
Member

jgm commented Jul 1, 2021

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
Copy link
Member

jgm commented Jul 1, 2021

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.

@nwellnhof
Copy link
Contributor

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

@compnerd
Copy link
Contributor

compnerd commented Jul 1, 2021

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
Copy link
Member

jgm commented Jul 2, 2021

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

@compnerd
Copy link
Contributor

compnerd commented Jul 2, 2021

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
Copy link
Member

jgm commented Jul 2, 2021

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.

@compnerd
Copy link
Contributor

compnerd commented Jul 6, 2021

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

compnerd added a commit to compnerd/swift-cmark that referenced this issue Jul 6, 2021
The `COMPILE_LANGUAGE` generator expression was introduced in CMake 3.3.
Debian Jessie has an older CMake version bundled, which prevents
building on that platform without manually building CMake.  This
uses a more error-prone mechanism of requiring the commonmark developer
to explicitly invoke `cmark_add_compile_options` on the target to ensure
that the flags are propagated for the targets without using the
generator expression.  Adding the options unconditionally prevents using
CMark in a build with a non-C programming language.

Fixes: commonmark#384
@jgm jgm closed this as completed in #385 Jul 9, 2021
jgm pushed a commit that referenced this issue Jul 9, 2021
The `COMPILE_LANGUAGE` generator expression was introduced in CMake 3.3.
Debian Jessie has an older CMake version bundled, which prevents
building on that platform without manually building CMake.  This
uses a more error-prone mechanism of requiring the commonmark developer
to explicitly invoke `cmark_add_compile_options` on the target to ensure
that the flags are propagated for the targets without using the
generator expression.  Adding the options unconditionally prevents using
CMark in a build with a non-C programming language.

Fixes: #384
kraj pushed a commit to YoeDistro/meta-openembedded that referenced this issue Jul 23, 2021
Changelog:
Properly indent block-level contents of list items in man (openembedded#258).
commonmark/cmark#258
This handles nested lists as well as items with multiple paragraphs.
The change requires addition of a new field block_number_in_list_item
to cmark_renderer, but this does not change the public API.

Fix quadratic behavior when parsing emphasis (openembedded#389, Nick
Wellnhofer). Delimiters can be deleted, so store delimiter positions
instead of pointers in openers_bottom. Besides causing undefined
behavior when reading a dangling pointer, this could also result
in quadratic behavior when parsing emphasis.
commonmark/cmark#389

Fix quadratic behavior when parsing smart quotes (openembedded#388, Nick Wellnhofer).
Remove matching smart quote delimiters. Otherwise, the same opener
could be found over and over, preventing the openers_bottom
optimization from kicking in and leading to quadratic behavior when
processing lots of quotes.
commonmark/cmark#388

Modify CMake configuration so that the project can be built with
older versions of CMake (openembedded#384, Saleem Abdulrasool). (In 0.30.0,
some features were used that require CMake >= 3.3.) The cost of this
backwards compatibility is that developers must now explicitly invoke
cmark_add_compile_options when a new compilation target is added.
commonmark/cmark#384

Remove a comma at the end of an enumerator list, which was flagged
by clang as a C++11 extension.

make_man_page.py: use absolute path with CDLL. This avoids the error
"file system relative paths not allowed in hardened programs."

Include cmark version in cmark(3) man page (instead of LOCAL).

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
kraj pushed a commit to YoeDistro/meta-openembedded that referenced this issue Jul 23, 2021
Changelog:
Properly indent block-level contents of list items in man (openembedded#258).
commonmark/cmark#258
This handles nested lists as well as items with multiple paragraphs.
The change requires addition of a new field block_number_in_list_item
to cmark_renderer, but this does not change the public API.

Fix quadratic behavior when parsing emphasis (openembedded#389, Nick
Wellnhofer). Delimiters can be deleted, so store delimiter positions
instead of pointers in openers_bottom. Besides causing undefined
behavior when reading a dangling pointer, this could also result
in quadratic behavior when parsing emphasis.
commonmark/cmark#389

Fix quadratic behavior when parsing smart quotes (openembedded#388, Nick Wellnhofer).
Remove matching smart quote delimiters. Otherwise, the same opener
could be found over and over, preventing the openers_bottom
optimization from kicking in and leading to quadratic behavior when
processing lots of quotes.
commonmark/cmark#388

Modify CMake configuration so that the project can be built with
older versions of CMake (openembedded#384, Saleem Abdulrasool). (In 0.30.0,
some features were used that require CMake >= 3.3.) The cost of this
backwards compatibility is that developers must now explicitly invoke
cmark_add_compile_options when a new compilation target is added.
commonmark/cmark#384

Remove a comma at the end of an enumerator list, which was flagged
by clang as a C++11 extension.

make_man_page.py: use absolute path with CDLL. This avoids the error
"file system relative paths not allowed in hardened programs."

Include cmark version in cmark(3) man page (instead of LOCAL).

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
halstead pushed a commit to openembedded/meta-openembedded that referenced this issue Jul 27, 2021
Changelog:
Properly indent block-level contents of list items in man (#258).
commonmark/cmark#258
This handles nested lists as well as items with multiple paragraphs.
The change requires addition of a new field block_number_in_list_item
to cmark_renderer, but this does not change the public API.

Fix quadratic behavior when parsing emphasis (#389, Nick
Wellnhofer). Delimiters can be deleted, so store delimiter positions
instead of pointers in openers_bottom. Besides causing undefined
behavior when reading a dangling pointer, this could also result
in quadratic behavior when parsing emphasis.
commonmark/cmark#389

Fix quadratic behavior when parsing smart quotes (#388, Nick Wellnhofer).
Remove matching smart quote delimiters. Otherwise, the same opener
could be found over and over, preventing the openers_bottom
optimization from kicking in and leading to quadratic behavior when
processing lots of quotes.
commonmark/cmark#388

Modify CMake configuration so that the project can be built with
older versions of CMake (#384, Saleem Abdulrasool). (In 0.30.0,
some features were used that require CMake >= 3.3.) The cost of this
backwards compatibility is that developers must now explicitly invoke
cmark_add_compile_options when a new compilation target is added.
commonmark/cmark#384

Remove a comma at the end of an enumerator list, which was flagged
by clang as a C++11 extension.

make_man_page.py: use absolute path with CDLL. This avoids the error
"file system relative paths not allowed in hardened programs."

Include cmark version in cmark(3) man page (instead of LOCAL).

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
@mlocati
Copy link
Author

mlocati commented Aug 3, 2021

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
Copy link
Member

jgm commented Aug 3, 2021

@compnerd can you see what the problem is here?

@jgm jgm reopened this Aug 3, 2021
@compnerd
Copy link
Contributor

compnerd commented Aug 4, 2021

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.

@mlocati
Copy link
Author

mlocati commented Aug 4, 2021

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

@compnerd
Copy link
Contributor

compnerd commented Aug 5, 2021

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

@mlocati
Copy link
Author

mlocati commented Aug 5, 2021

@compnerd Here it is: build.make.zip

@compnerd
Copy link
Contributor

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?

@mlocati
Copy link
Author

mlocati commented Aug 12, 2021

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

@compnerd
Copy link
Contributor

#392 should hopefully fix the build for you @mlocati

@jgm jgm closed this as completed Aug 21, 2021
daregit pushed a commit to daregit/yocto-combined that referenced this issue May 22, 2024
Changelog:
Properly indent block-level contents of list items in man (#258).
commonmark/cmark#258
This handles nested lists as well as items with multiple paragraphs.
The change requires addition of a new field block_number_in_list_item
to cmark_renderer, but this does not change the public API.

Fix quadratic behavior when parsing emphasis (#389, Nick
Wellnhofer). Delimiters can be deleted, so store delimiter positions
instead of pointers in openers_bottom. Besides causing undefined
behavior when reading a dangling pointer, this could also result
in quadratic behavior when parsing emphasis.
commonmark/cmark#389

Fix quadratic behavior when parsing smart quotes (#388, Nick Wellnhofer).
Remove matching smart quote delimiters. Otherwise, the same opener
could be found over and over, preventing the openers_bottom
optimization from kicking in and leading to quadratic behavior when
processing lots of quotes.
commonmark/cmark#388

Modify CMake configuration so that the project can be built with
older versions of CMake (#384, Saleem Abdulrasool). (In 0.30.0,
some features were used that require CMake >= 3.3.) The cost of this
backwards compatibility is that developers must now explicitly invoke
cmark_add_compile_options when a new compilation target is added.
commonmark/cmark#384

Remove a comma at the end of an enumerator list, which was flagged
by clang as a C++11 extension.

make_man_page.py: use absolute path with CDLL. This avoids the error
"file system relative paths not allowed in hardened programs."

Include cmark version in cmark(3) man page (instead of LOCAL).

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
daregit pushed a commit to daregit/yocto-combined that referenced this issue May 22, 2024
Changelog:
Properly indent block-level contents of list items in man (#258).
commonmark/cmark#258
This handles nested lists as well as items with multiple paragraphs.
The change requires addition of a new field block_number_in_list_item
to cmark_renderer, but this does not change the public API.

Fix quadratic behavior when parsing emphasis (#389, Nick
Wellnhofer). Delimiters can be deleted, so store delimiter positions
instead of pointers in openers_bottom. Besides causing undefined
behavior when reading a dangling pointer, this could also result
in quadratic behavior when parsing emphasis.
commonmark/cmark#389

Fix quadratic behavior when parsing smart quotes (#388, Nick Wellnhofer).
Remove matching smart quote delimiters. Otherwise, the same opener
could be found over and over, preventing the openers_bottom
optimization from kicking in and leading to quadratic behavior when
processing lots of quotes.
commonmark/cmark#388

Modify CMake configuration so that the project can be built with
older versions of CMake (#384, Saleem Abdulrasool). (In 0.30.0,
some features were used that require CMake >= 3.3.) The cost of this
backwards compatibility is that developers must now explicitly invoke
cmark_add_compile_options when a new compilation target is added.
commonmark/cmark#384

Remove a comma at the end of an enumerator list, which was flagged
by clang as a C++11 extension.

make_man_page.py: use absolute path with CDLL. This avoids the error
"file system relative paths not allowed in hardened programs."

Include cmark version in cmark(3) man page (instead of LOCAL).

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants