Search Criteria
Package Details: mingw-w64-curl 8.9.1-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/mingw-w64-curl.git (read-only, click to copy) |
---|---|
Package Base: | mingw-w64-curl |
Description: | An URL retrival utility and library (mingw-w64) |
Upstream URL: | https://curl.haxx.se |
Licenses: | MIT |
Submitter: | Schala |
Maintainer: | maksverver |
Last Packager: | maksverver |
Votes: | 12 |
Popularity: | 0.000000 |
First Submitted: | 2012-08-12 07:46 (UTC) |
Last Updated: | 2024-09-03 00:50 (UTC) |
Dependencies (10)
- mingw-w64-brotliAUR
- mingw-w64-crt (llvm-mingw-w64-toolchain-ucrt-binAUR, llvm-mingw-w64-toolchain-msvcrt-binAUR)
- mingw-w64-libidn2AUR
- mingw-w64-libnghttp2AUR
- mingw-w64-libpslAUR
- mingw-w64-libssh2AUR
- mingw-w64-opensslAUR
- mingw-w64-zlibAUR
- mingw-w64-zstdAUR
- mingw-w64-configureAUR (llvm-mingw-w64-configureAUR) (make)
Latest Comments
1 2 3 Next › Last »
maksverver commented on 2024-09-03 00:54 (UTC)
Hi everyone. I just adopted this package and updated it to version 8.9.1.
I verified that basic functionality works with the following sample code (note that I changed the HTTPS url to HTTP, because certificates aren't located automatically):
To build and run a dynamically linked binary:
To build and run a statically linked binary:
Let me know if these use cases don't work, and feel free to suggest patches to improve the package.
MoSal commented on 2024-06-23 00:04 (UTC)
@maksverver
I'm aware. I just wanted to provide logs-like info instead of explaining basic stuff.
And it's all the product of pkg-config and co. I didn't fiddle with stuff until I arrived at the whopping 38 long list.
At the end of the day, I got a working static build. So, I'm good.
maksverver commented on 2024-06-22 21:29 (UTC) (edited on 2024-06-22 21:29 (UTC) by maksverver)
@MoSal: just FYI, the error you saw occurred because
-lcrypt32
must come after-lcrypto
.It's not really clear why removing
-lbcrypt
causes more libraries to be added to the link line, but maybe it's because some later configure test fails.The list of libraries is really redundant: you mentioned 25 before the change, and 38 after the change, but in reality there are only 19 unique ones, and although it's theoretically possible to create situations where libraries must be included more than once, this is very rare in practice, so the link line could be simplified a lot if only the libraries were listed in the correct order.
maksverver commented on 2024-06-22 21:08 (UTC)
@drakkan: The problem still persists for me after updating to version 8.8.0. I still recommend the CHOST patch as a workaround.
Note the line "checking whether we are cross compiling..." which is "no" for me, but "yes" for you (as it should). Check configure.log for the reason:
The issue exists only if Windows executables can be executed directly with e.g.
./conftest.exe
(i.e., without calling wine explicitly!) I'm guessing this doesn't work inside chroots, so you get the correct result because conftest.exe fails.MoSal commented on 2024-06-22 20:19 (UTC)
@drakkan
The other part of patch 4 and the other patch are still needed.
Note that they are not the only changes needed. My build script currently has this:
Removing libssh2 may not be required. I just removed it first while debugging and didn't add it back because I don't need it.
drakkan commented on 2024-06-22 14:23 (UTC) (edited on 2024-06-22 14:25 (UTC) by drakkan)
@maksverver I build in a chroot but it is not clean, wine is installed and I cannot reproduce the reported issue.
Please compare your configure output with mine
@MoSal, removed static build patches, they were very old, maybe they are not needed anymore
MoSal commented on 2024-06-20 20:23 (UTC) (edited on 2024-06-20 20:24 (UTC) by MoSal)
From
0004-more-static-fixes.patch
:What is this supposed to fix? Because it breaks static builds for me (linking libcurl against other software). Removing that part of the patch fixes the build.
Building without
libssh2
, and starting with-lcurl
, here is the broken vs. working param list (25-l
s vs 38-l
s)!Broken
Working
Error:
maksverver commented on 2024-04-08 15:57 (UTC) (edited on 2024-04-08 15:58 (UTC) by maksverver)
I would recommend against modifying /etc/makepkg.conf or other global system files. Any hacks applied there are likely to cause problems when compiling other packages, and in ways that may be very difficult to detect. Since the bug is specific to this package, any fixes or workarounds should be made in this package or upstream, not in the global system configuration.
Digging a bit deeper, I found another fix that I think is even cleaner than setting WINEPATH:
The reason this works is that
i686-w64-mingw32-configure
invokes theconfigure
script like this:Normally, CHOST is empty, and when --build is empty, the curl configure script tries to guess whether it's cross-compiling as discussed before. But when --build is nonempty and different from --host, then the configure script decides, correctly, that it's cross-compiling and does not perform any runtime checks, which is what we want.
The advantage of this fix compared to setting WINEPATH just in case wine is installed, is that with this fix no runtime checks are performed, regardless of whether wine is installed or not, so the configure process works the same in the clean chroot as on a live system with wine installed.
Martchus commented on 2024-04-08 10:19 (UTC)
If you need to add such workaround then probably
/etc/makepkg.conf
(which actually can contain arbitrary variables) is the right place. Maybe it is also better to get rid of/usr/lib/binfmt.d/wine.conf
which apparently is part of the regularwine
package.maksverver commented on 2024-04-04 17:01 (UTC) (edited on 2024-04-04 17:05 (UTC) by maksverver)
...which also suggests another workaround: sabotaging wine e.g. by running
export WINEPREFIX=/nonexistent
beforemakepkg
will cause the build to behave the same as in the clean chroot. But good luck figuring that out from the error message alone!1 2 3 Next › Last »