-
Notifications
You must be signed in to change notification settings - Fork 6.2k
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
[libpq] mingw support #16740
[libpq] mingw support #16740
Conversation
Yes I will test it |
file:///C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/libpq/config-x64-mingw-static-dbg-out.log
file:///C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/libpq/config-x64-mingw-static-dbg-err.log
|
1d8b971
to
8e35765
Compare
@autoantwort Added |
file:///C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/libpq/config-x64-mingw-static-dbg-out.log
file:///C:/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/buildtrees/libpq/config-x64-mingw-static-dbg-err.log
|
OpenSSL now works, but zlib isn't working, due to the configure script only checking for |
Please ping me if this PR is ready for review @longnguyen2004. |
Sure, I'm waiting for upstream response to this. |
No responses from upstream, I'll have to work on this then (curse autotools...) |
ad3b5c6
to
03ab510
Compare
@autoantwort Rebased on latest master and added patch, please test. |
4ac5cf0
to
6536025
Compare
Now I get
|
For some reason |
|
maybe pipeline rerun fixes the problem. You can do it with |
x64-osx |
Everything's working, except for osx, I don't know what happened. |
b3574f8
to
70ec9b1
Compare
Note on static library: PostgreSQL doesn't support static linkage anymore, should we change the manifest so that static triplets aren't supported? |
Source? |
https://www.postgresql.org/message-id/25000.1499872310%40sss.pgh.pa.us Also, it's pretty evident that static linkage isn't supported, due to the lack of |
without having a configure.ac script i would never expect the availability of default flags. https://github.com/postgres/postgres has the actual configure.ac so it would be very easy to patch those flags back in especially since they did not give a good reason why to not have a static library (except that you cannot update the code if statically linked.) If libpq becomes dynamic only please remove libpq as a default feature from qt5-base because otherwise a lot of dependent ports will no longer be tested in CI |
They seems to be heading towards no static libraries, so I wouldn't be surprised if this does happen in the future. We're using the undocumented |
It is just a target based static/shared library build instead a configure time selection. Probably because they want to be able to build both at the same time. It does not seem to be heading that direction because it has basically always been that way. |
Let's wait for the test result from @autoantwort. |
Maybe I have done something wrong, but I get the following error:
config-x64-mingw-static-dbg-err.log:
config-x64-mingw-static-dbg-out.logchecking build system type... x86_64-pc-mingw32 checking host system type... x86_64-pc-mingw32 checking which template to use... win32 checking whether NLS is wanted... no checking for default port number... 5432 checking for block size... 8kB checking for segment size... 1GB checking for WAL block size... 8kB checking whether the C compiler works... yes checking for C compiler default output file name... a.exe checking for suffix of executables... .exe checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether x86_64-w64-mingw32-gcc.exe accepts -g... yes checking for x86_64-w64-mingw32-gcc.exe option to accept ISO C89... none needed checking for x86_64-w64-mingw32-gcc.exe option to accept ISO C99... none needed checking whether we are using the GNU C++ compiler... yes checking whether x86_64-w64-mingw32-g++.exe accepts -g... yes checking for gawk... gawk checking whether x86_64-w64-mingw32-gcc.exe supports -Wdeclaration-after-statement, for CFLAGS... yes checking whether x86_64-w64-mingw32-gcc.exe supports -Werror=vla, for CFLAGS... yes checking whether x86_64-w64-mingw32-gcc.exe supports -Wendif-labels, for CFLAGS... yes checking whether x86_64-w64-mingw32-g++.exe supports -Wendif-labels, for CXXFLAGS... yes checking whether x86_64-w64-mingw32-gcc.exe supports -Wmissing-format-attribute, for CFLAGS... yes checking whether x86_64-w64-mingw32-g++.exe supports -Wmissing-format-attribute, for CXXFLAGS... yes checking whether x86_64-w64-mingw32-gcc.exe supports -Wformat-security, for CFLAGS... yes checking whether x86_64-w64-mingw32-g++.exe supports -Wformat-security, for CXXFLAGS... yes checking whether x86_64-w64-mingw32-gcc.exe supports -fno-strict-aliasing, for CFLAGS... yes checking whether x86_64-w64-mingw32-g++.exe supports -fno-strict-aliasing, for CXXFLAGS... yes checking whether x86_64-w64-mingw32-gcc.exe supports -fwrapv, for CFLAGS... yes checking whether x86_64-w64-mingw32-g++.exe supports -fwrapv, for CXXFLAGS... yes checking whether x86_64-w64-mingw32-gcc.exe supports -fexcess-precision=standard, for CFLAGS... yes checking whether x86_64-w64-mingw32-g++.exe supports -fexcess-precision=standard, for CXXFLAGS... no checking whether x86_64-w64-mingw32-gcc.exe supports -funroll-loops, for CFLAGS_VECTOR... yes checking whether x86_64-w64-mingw32-gcc.exe supports -ftree-vectorize, for CFLAGS_VECTOR... yes checking whether x86_64-w64-mingw32-gcc.exe supports -Wunused-command-line-argument, for NOT_THE_CFLAGS... no checking whether x86_64-w64-mingw32-gcc.exe supports -Wformat-truncation, for NOT_THE_CFLAGS... yes checking whether x86_64-w64-mingw32-gcc.exe supports -Wstringop-truncation, for NOT_THE_CFLAGS... yes checking whether the C compiler still works... yes checking how to run the C preprocessor... x86_64-w64-mingw32-gcc.exe -E checking allow thread-safe client libraries... yes checking whether to build with ICU support... no checking whether to build with Tcl... no checking whether to build Perl modules... no checking whether to build Python modules... no checking whether to build with GSSAPI support... no checking whether to build with PAM support... no checking whether to build with BSD Authentication support... no checking whether to build with LDAP support... no checking whether to build with Bonjour support... no checking whether to build with OpenSSL support... yes checking whether to build with SELinux support... no checking whether to build with systemd support... no checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ld used by GCC... ld.exe -verbose checking if the linker (ld.exe -verbose) is GNU ld... yes checking for ranlib... ranlib.exe checking for strip... strip.exe checking whether it is possible to strip libraries... yes checking for ar... ar.exe checking for dlltool... dlltool.exe checking for dllwrap... dllwrap checking for windres... windres checking for a BSD-compatible install... /usr/bin/install -c checking for tar... /cygdrive/c/WINDOWS/system32/tar checking whether ln -s works... no, using cp -pR checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for bison... /cygdrive/c/git-sdk-64/usr/bin/bison configure: using checking for flex... no checking for perl... /cygdrive/c/Users/LeanderSchulten/git_projects/Lichtsteuerung.git/vcpkg/downloads/tools/perl/5.30.0.1/perl/bin/perl configure: using perl 5.30.0 checking for a sed that does not truncate output... /usr/bin/sed checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for main in -lm... yes checking for library containing setproctitle... no checking for library containing dlopen... no checking for library containing socket... -lws2_32 checking for library containing shl_load... no checking for library containing getopt_long... none required checking for library containing crypt... no checking for library containing shm_open... no checking for library containing shm_unlink... no checking for library containing clock_gettime... none required checking for library containing fdatasync... no checking for library containing sched_yield... none required checking for library containing gethostbyname_r... no checking for library containing shmget... no checking for library containing inflate... -lzlibd checking for library containing CRYPTO_new_ex_data... no |
@autoantwort |
@autoantwort Should be good now. |
Depends on #17277. |
Works now with |
This didn't build for me on Windows/MSYS2, neither locally (MINGW64 terminal) nor on Azure Pipelines (MINGW64 bash from Microsoft image). It failed in
It is related to It took me a while to locate the issue. It is triggered by vcpkg's acquisition of perl (from MSYS2), and prepending vcpkg/scripts/cmake/vcpkg_configure_make.cmake Lines 316 to 317 in 414bec0
I'm not objecting to moving this PR forward. But I feel like this port might need more revisions. I'm also skeptical of applying different sets of patches depending on the target. This needs different source dirs as soon as you want to build for a different target. (Hello Android!) |
This scoping was quite accurate: |
I don't really know what's the current support with running vcpkg inside MSYS2 bash, since I only test with a standalone toolchain (llvm-mingw). |
I can confirm this. I also had one build in that configuration. I added |
Yeah I guess it only happens when running vcpkg in bash, I haven't tested it thoroughly. |
Okay for me now. |
Thanks so much y'all, especially @longnguyen2004 |
Describe the pull request
I don't have much CPU power to test, @autoantwort can you test for me?
Add support for mingw in libpq
All mingw triplets
Yes