Search Criteria
Package Details: mingw-w64-curl 8.11.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: | 13 |
Popularity: | 0.58 |
First Submitted: | 2012-08-12 07:46 (UTC) |
Last Updated: | 2025-01-06 23:13 (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
« First ‹ Previous 1 2 3 4 Next › Last »
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!maksverver commented on 2024-04-04 16:55 (UTC) (edited on 2024-04-04 17:03 (UTC) by maksverver)
@drakkan: I verified it does build in a clean chroot, and I also figured out why.
The configure script tries to detect if it's cross-compiling, by trying to build and run a trivial binary (search config.log for "checking whether we are cross compiling"). When wine isn't installed, this fails, so the configure script sets cross_compiling=yes, and skips further runtime checks, including the runtime check for getaddrinfo(): https://github.com/curl/curl/blob/cfc65fd1ee164113e4b342f2e57e36fdc07c87fd/m4/curl-functions.m4#L1770-L1810
So the build fails only if wine is already installed on the build host, which is unfortunate, because people interested in mingw packages are likely to have wine installed too.
drakkan commented on 2024-04-04 14:41 (UTC)
@frecco2, @maksverver can you replicate the reported issue in a clean chroot? The automatic build here worked and wine is not listed as dependency. Anyway I'll try to reproduce and apply the proposed fix or another one when I have some free time. Thank you
frecco2 commented on 2024-03-31 07:19 (UTC)
@maksverver, I had the same problem. Thanks for the patch!
maksverver commented on 2024-03-30 15:45 (UTC) (edited on 2024-03-30 15:47 (UTC) by maksverver)
The current version (8.7.1-1) fails to build for me.
The build fails with:
But the root cause is that the configure test for getaddrinfo() has failed:
The problem is that -fstack-protector flag (which is added to LDFLAGS by /usr/bin/mingw-env) adds a dependency on libssp-0.dll, but that file exists under /usr/i686-w64-mingw32/bin/, NOT /usr/i686-w64-mingw32/lib/.
I was able to work around it by adding the binary directory to WINEPATH before running configure, like so:
Not sure if that's the correct way to fix it, but I thought I'd share it in case anyone else finds this useful.
Note that WINEPATH being unset is not a problem when running the final executable, because curl.exe gets installed in the bin/ directory that also contains libssp-0.dll, and Wine searches for libraries in the executable's directory by default.
xantares commented on 2023-03-23 09:14 (UTC)
could you bump the release number ? I found out it needs a rebuild after the libpsl update
xantares commented on 2023-03-23 08:20 (UTC) (edited on 2023-03-23 08:22 (UTC) by xantares)
curl.exe does work indeed, but not my example at https://raw.githubusercontent.com/xantares/pkgtest/master/test/t_curl.c
I found out it is due to libpsl, could psl be disabled until this is fixed, see:
https://aur.archlinux.org/packages/mingw-w64-libpsl#comment-907281
drakkan commented on 2023-03-23 08:17 (UTC)
@xantares, locally compiled
curl.exe
works for me, I also tested the curl build from here and it works too. Do you have issues using curl as library in your project whilecurl.exe
works for you?« First ‹ Previous 1 2 3 4 Next › Last »