Incompatible with rapidyaml 0.11.0+
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 62/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- cmake, cpp
- Domain
- build-system
Research direction
Start in core/vm.cpp at Interpreter::builtinParseYaml and the handleRapidYamlError callback registration around the reported compiler error. Compare the callback signature expected by rapidyaml 0.11.0+ with the current code, then reproduce the Fedora rawhide build using USE_SYSTEM_RAPIDYAML; done means the project compiles successfully with that version.
Written by the indexing model from the issue text.
Description
When built on Fedora rawhide:
FAILED: [code=1] CMakeFiles/jsonnet_obj_shared.dir/core/vm.cpp.o
/usr/bin/g++ -DUSE_SYSTEM_RAPIDYAML -I/root/rpmbuild/BUILD/jsonnet-0.22.0-build/jsonnet-0.22.0/include -I/root/rpmbuild/BUILD/jsonnet-0.22.0-build/jsonnet-0.22.0/third_party/md5 -I/root/rpmbuild/BUILD/jsonnet-0.22.0-build/jsonnet-0.22.0/redhat-linux-build/stdlib -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -I/usr/include/nlohmann -std=c++17 -fPIC -Wall -Wextra -Wimplicit-fallthrough -pedantic -Woverloaded-virtual -MD -MT CMakeFiles/jsonnet_obj_shared.dir/core/vm.cpp.o -MF CMakeFiles/jsonnet_obj_shared.dir/core/vm.cpp.o.d -o CMakeFiles/jsonnet_obj_shared.dir/core/vm.cpp.o -c /root/rpmbuild/BUILD/jsonnet-0.22.0-build/jsonnet-0.22.0/core/vm.cpp
/root/rpmbuild/BUILD/jsonnet-0.22.0-build/jsonnet-0.22.0/core/vm.cpp: In member function ‘const jsonnet::internal::AST* jsonnet::internal::{anonymous}::Interpreter::builtinParseYaml(const jsonnet::internal::LocationRange&, const std::vector<jsonnet::internal::{anonymous}::Value>&)’:
/root/rpmbuild/BUILD/jsonnet-0.22.0-build/jsonnet-0.22.0/core/vm.cpp:1720:44: error: invalid conversion from ‘void (*)(const char*, size_t, c4::yml::Location, void*)’ {aka ‘void (*)(const char*, long unsigned int, c4::yml::Location, void*)’} to ‘c4::yml::pfn_error_basic’ {aka ‘void (*)(c4::basic_substring<const char>, const c4::yml::ErrorDataBasic&, void*)’} [-fpermissive]
1720 | nullptr, nullptr, nullptr, &Interpreter::handleRapidYamlError
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| void (*)(const char*, size_t, c4::yml::Location, void*) {aka void (*)(const char*, long unsigned int, c4::yml::Location, void*)}
In file included from /usr/include/c4/yml/tree.hpp:16,
from /usr/include/c4/yml/yml.hpp:5,
from /usr/include/ryml.hpp:4,
from /root/rpmbuild/BUILD/jsonnet-0.22.0-build/jsonnet-0.22.0/core/vm.cpp:33:
/usr/include/c4/yml/common.hpp:527:83: note: initializing argument 4 of ‘c4::yml::Callbacks::Callbacks(void*, c4::yml::pfn_allocate, c4::yml::pfn_free, c4::yml::pfn_error_basic)’
527 | Callbacks(void *user_data, pfn_allocate alloc, pfn_free free, pfn_error_basic error_basic);
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~
/root/rpmbuild/BUILD/jsonnet-0.22.0-build/jsonnet-0.22.0/core/vm.cpp:1721:13: warning: ‘c4::yml::Callbacks::Callbacks(void*, c4::yml::pfn_allocate, c4::yml::pfn_free, c4::yml::pfn_error_basic)’ is deprecated: use the default constructor, followed by the appropriate setters [-Wdeprecated-declarations]
1721 | }};
| ^
/usr/include/c4/yml/common.hpp:527:5: note: declared here
527 | Callbacks(void *user_data, pfn_allocate alloc, pfn_free free, pfn_error_basic error_basic);
| ^~~~~~~~~
- Dominant language
- Jsonnet
- Stars
- 7.6k
- Forks
- 475
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from google/jsonnet
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 3/5 1-2 days Newbie friendliness 78/100
-
std.format: wrong digits for %f/%d on large values; malformed output for non-integer * precision Open
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Difficulty 5/5 Over a week Newbie friendliness 42/100
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
Similar issues
-
type/automation type/tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
priority: p3
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
googleapis/librarian#7636 ·
-
package-update
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
oSoWoSo/vOid_Community_repOsitory#147 · 1 comment ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
agentic-workflows cascade-suspected
Difficulty 1/5 Under an hour Newbie friendliness 88/100