-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
[libtasn1] Add Windows support, update to 4.17 #16953
Conversation
Currently stuck at:
Something's off with linker, it fails to resolve own symbols, as well as generated executables (e.g. |
OK, so what I see is:
followed by:
The missing symbols are in |
Most interestingly, the problematic |
I tried setting the LDFLAGS using env variable instead ( EDIT: Gonna try with |
OK, so I tried setting the LDFLAGS using CONFIGURE_ENVIRONMENT_VARIABLES to see if it makes any difference, but it doesn't: the
This is clearly some bug. |
That is probably a bug in a |
Well, actually, I read too much into the command line, while forgetting to check the obvious: the
However, the
Checking further. EDIT: also checking libtool's |
OK, so this is till to do with overloading LDFLAGS. From the build log:
It fails to find Setting LDFLAGS with
Not setting it will get:
So: |
6835804
to
2adedd6
Compare
Given how vcpkg already configured LDFLAGS as required, I only needed to set the LIBS. This was also problematic, given how setting the environment variable would override vcpkg's own list of libraries ( I worked around by passing LIBS as a regular option to vcpkg_configure_make and have it use shell to expand the environment LIB variable at the time of execution: |
2cc70e3
to
713059e
Compare
Build still fails on CI/CD, but I cannot reproduce those errors locally on my Windows dev box:
Line 77 of Everything compiles fine for me locally. Could be it a different MSVC version? |
The latest failures on Windows: From build-x64-windows-dbg-err.log
Could you please look into this? @wrobelda |
fcd0e65
to
c5a5c42
Compare
EDIT: the below is fixed now OK, I am stuck, tbh. The build fails differently for x86 and x64 platforms. On x86 I am seeing:
And on x64:
With the stderr being: The x64 libtool call seems to reference |
45b811b
to
b57c8eb
Compare
ea2f8f0
to
a049843
Compare
a049843
to
19bea73
Compare
19bea73
to
aa2a47e
Compare
@NancyLi1013 all issues are fixed now. |
LGTM now. thanks for your work @wrobelda. |
LGTM! Thanks @wrobelda :) |
CI baseline regression in static builds:
|
Just realized that the most recent CI/CD build was |
@Neumann-A OK, I thought it was about the Your log section corresponds to |
Please notice the prefix Edit: extern ASN1_API int
asn1_parser2tree (const char *file,
asn1_node * definitions, char *error_desc); #ifndef ASN1_API
#if defined ASN1_BUILDING && defined HAVE_VISIBILITY && HAVE_VISIBILITY
#define ASN1_API __attribute__((__visibility__("default")))
#elif defined ASN1_BUILDING && defined _MSC_VER && ! defined ASN1_STATIC
#define ASN1_API __declspec(dllexport)
#elif defined _MSC_VER && ! defined ASN1_STATIC
#define ASN1_API __declspec(dllimport)
#else
#define ASN1_API
#endif
#endif I can confirm |
Describe the pull request
Enables windows build
static-md build is unsupported. CI baseline updated.
Yes.