Hi. vnlog does not depend on time_t. Is it too late to stop this
update?
The abi-compliance-checker failure is here:
https://adrien.dcln.fr/misc/armhf-time_t/2024-02-01T09%3A53%3A00/logs/libvnlog-dev/base/log.txt
That error message says what the problem is: you are not supposed to
#include vnlog.h directly. Instead you're supposed to use the "vnl-gen-header" tool (also in the "libvnlog-dev" package) to produce
usable headers that themselves #include vnlog.h. For instance:
vnl-gen-header 'int w' 'uint8_t x' 'char* y' 'double z' > vnlog_fields_generated.h
If you then run vnlog_fields_generated.h (which, again, #includes
vnlog.h) through abi-compliance-checker, you'll see that it passes. vnl-gen-header doesn't support any time-related types, so this is y2k38
safe.
Thanks for replying. I'll revert the changes.
... however, I will say it's very strange to ship a shared library,
that has a public shlibs file, and has a -dev package that depends on
it, but the headers shipped in that -dev package are NOT the
authoritative api for that library?
That's how I did it, and while it sounds odd, I believe this is right.
The public interface is
vnl-gen-header ... > generated.h
and
#include "generated.h"
The generated header contains some user-facing macros that call the
functions in vnlog.h with specific arguments. That's the API. From the compiler's perspective, the functions declared in vnlog.h are the
interface, and the ABI in those symbols must be stable, and putting them
into the .symbols file is appropriate. Let me know if I'm doing
something wrong.
... however, I will say it's very strange to ship a shared library,
that has a public shlibs file, and has a -dev package that depends on
it, but the headers shipped in that -dev package are NOT the
authoritative api for that library?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (2 / 14) |
Uptime: | 06:59:15 |
Calls: | 6,706 |
Files: | 12,236 |
Messages: | 5,350,569 |