-
Notifications
You must be signed in to change notification settings - Fork 559
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
yaml_cpp: Changed recipe to build v0.5.3 #7591
Conversation
0c1da85
to
364a4d8
Compare
Why do you want to downgrade this library? |
I need this older version in order to get Pleora eBUS (for JAI) Runtime/SDK to pass, cf. pages 4-5 on https://www.jai.com/uploads/documents/Software/SDK-eBUS/eBUS-SDK-for-JAI-RevisionNote_6-3-1.pdf (I will also need v0.6 at some point) I'm building the eBUS library in a private repo. as the (re-)distribution rights are not crystal clear... |
It does not make sense to downgrade the default versions of |
Why? (edit: wrt. sensibility of downgrading recipes (temporarily)) It is quite straight forward to roll back the recipe to get previous versions, and then subsequently update the recipe to release e.g. yaml_cpp v0.8. Users without compat will get the same default v0.7 (or v0.8). |
|
5a64152
to
bc3aa0c
Compare
LGTM :-) |
Y/yaml_cpp/build_tarballs.jl
Outdated
] | ||
|
||
# Dependencies that must be installed before this package can be built | ||
dependencies = Dependency[ | ||
dependencies = [ | ||
Dependency("boost_jll", v"1.79.0"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
boost requires a compat with exactly a single version: #3024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
Not completely sure whether a BuildDependency would be enough here, but there is no warnings or errors from audit on x86_64-linux-gnu-cxx11 with just:
BuildDependency(PackageSpec("boost_jll", v"1.76.0")),
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, if you don't link to any boost library then a build-dep is fine, some components are headers-only.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, judging from CMakeLists.txt, it also looks like there is no linking with boost...
... and Debian agrees that boost is a build-time dependency: https://salsa.debian.org/debian/yaml-cpp/-/blob/56d05874c8068235cc904370c209e459914ff1e8/debian/control#L9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can see if the output library links to boost (I'm away from computer, I can't)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed to being a BuildDependency - with the same version (v1.76.0).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pending: Will check if it links to boost (but I guess audit would’ve caught that?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(but I guess audit would’ve caught that?)
Not really, because the library is there during audit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK - it looks boost
-free:
/workspaces/Yggdrasil/Y/yaml_cpp# julia --project=../../.ci --color=yes build_tarballs.jl --verbose --debug=end x86_64-linux-gnu-cxx11
...
sandbox:${WORKSPACE}/srcdir/yaml-cpp/build # ls -la $libdir/libyaml-cpp*
lrwxrwxrwx 1 root root 18 Oct 31 17:43 /workspace/destdir/lib/libyaml-cpp.so -> libyaml-cpp.so.0.5
lrwxrwxrwx 1 root root 20 Oct 31 17:43 /workspace/destdir/lib/libyaml-cpp.so.0.5 -> libyaml-cpp.so.0.5.3
-rwxr-xr-x 1 root root 571696 Oct 31 17:43 /workspace/destdir/lib/libyaml-cpp.so.0.5.3
sandbox:${WORKSPACE}/srcdir/yaml-cpp/build # ldd $libdir/libyaml-cpp.so.0.5.3
linux-vdso.so.1 (0x00007ffe23a9f000)
libstdc++.so.6 => /usr/lib/csl-glibc-x86_64/libstdc++.so.6 (0x00007f6c76f02000)
libm.so.6 => /lib64/libm.so.6 (0x00007f6c76e28000)
libgcc_s.so.1 => /usr/lib/csl-glibc-x86_64/libgcc_s.so.1 (0x00007f6c76e0d000)
libc.so.6 => /lib64/libc.so.6 (0x00007f6c76c11000)
ldd (0x00007f6c77393000)
🚀
bc3aa0c
to
f8344db
Compare
Including: * Added boost_jll as a build dep. * Replaced GitHub automatic archive source with git source. * Added patch for obsolete boost/detail/iterator header. * Fixed Windows library name. * Fixed Clang platforms by enabling C++17 removed features - to get support for std::auto_ptr
f8344db
to
6c2881f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where does this patch come from?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My hack to avoid being dependent on boost < v1.70 (I.e. making #7592 superfluous): I believe Boost v1.70 removed this method - as it was moved to std
?
Similar approach: https://stackoverflow.com/a/49937378/1713725
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replaced the hack with a more solid patch - based on https://www.mail-archive.com/[email protected]/msg1644546.html
Hmm... running the included tests (with
Changing the However, a
🤔 ... |
Never mind: It was apparently an issue with gmock on GCC v6: Fixed by the patch in jbeder/yaml-cpp#514 |
LGTM :-) |
* yaml_cpp: Changed recipe to build v0.5.3 Including: * Added boost_jll as a build dep. * Replaced GitHub automatic archive source with git source. * Added patch for obsolete boost/detail/iterator header. * Fixed Windows library name. * Fixed Clang platforms by enabling C++17 removed features - to get support for std::auto_ptr * Rectified patch for missing <boost/next_prior.hpp> include.
Dependent on #7592Edit: Or alternatively - instead of another boost version - the included patch.