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
__time64_t and 32bit platform #563
Comments
Fixed in commit 497246d. I took your fix, and removed the unused __time32_t typedef. It's not that pwsafe is redefining __time64_t, but rather defining it for environments where it's missing, making the rest of the code more consistent. |
cool, quick response. |
Nice. Interesting to see builds for ARM as well. Care to submit a pull request to integrate voidlinux support into the main repo? |
Thanks for your interrest to VoidLinux, but I don't well understand how it could be achieved in pwsafe context: specific entry in CmakeList.txt ? Voidlinux as travis target ? |
|
sorry for late reply. It feels difficult to answer you clearly, so here my points. VoidLinux distributes passwordsafe as an official package:
To achieve packaging, VoidLinux uses a integrated tree that contains both the source packaging definition of all packages and the shell build utility and its helpers (
Anyway, I will be glad to help you on any of these points if you want to move on. |
Thanks for clarifying. Based on your explanation, I don't see any real value in adding voidlinux specifics to the main passwordsafe repo. |
while packaging passwordsafe 1.08.1BETA, build fails for 32bit platform.
Context: VoidlLinux distribution with gcc 9.1 and glibc 2.29 or musl libc 1.1.22
Example of fail build: https://travis-ci.org/void-linux/void-packages/jobs/535496599e
Offending starts at is https://github.com/pwsafe/pwsafe/blob/master/src/os/unix/pws_time.h#L18
my points:
__time64_t
" typedef is defined on 32bit platform, even if "__time64_t
" define statement is not__time64_t
" typedef is defined inpws_time.h
, that is a structure defined in libc headers (see [1])__time64_t
" is always a 64bit type (via__TIME64_T_TYPE
)Fixed myself build via replacing L18 with
#if !defined(__time64_t) && !defined(__TIME64_T_TYPE)
It's working, but I'm not sure this is the right way to fix it
So
pws_time.h
should not redefine__time64_t
or use another name for that ?I'm not enough fluent in C/C++ to propose a good patch, sorry.
[1] Gnu libc
include/bits/time64.h
states:The text was updated successfully, but these errors were encountered: