Comments (8)
What does 'Windows MinGW' mean, as in where did you install it from and what version?
You're probably right in that its hitting some limit on max number of files that /mingw/bin/gcc in your environment can open, but we might need more info on where that compiler comes from. FWIW, we've tested this cross-compiled with MinGW on Linux without issue (it's in our github actions and quite a few downstream projects use it), it gets exercised in whatever MinGW environment is on Appveyor, and it builds on Cygwin in Windows 10 and Windows 11.
from portable.
Hi, checking again, which MinGW distribution are you hitting this issue with? There are at least six for Windows, and Cygwin's works as far as I can tell: https://www.mingw-w64.org/downloads/
from portable.
This probably started when we began linking internal apps directly to object files rather than libraries: a316f8a
This made some test scenarios easier since internal apps always can run standalone, but it also had some downsides, e.g. you can't disable static builds and get a dynamic openssl.exe for instance. Would be OK if we wanted to revert to the previous behavior, though not necessarily just because this compiler has a max number of files it can open.
from portable.
I tried both the MinGW distribution from the original MinGW project (which I was very active with in the past and still use for a lot of projects) and the MinGW64 compiler from the fork of the original MinGW. I thought the problem might be passing arguments in the shell not something with the compiler itself. You mentioned you cross-compiled. If the problem is with the Windows port of the bash shell and limitations passing longer arguments, I don't think you'd notice the issue when you cross-compile. Has anyone else had any luck building the latest versions of libressl directly on Windows using configure/make/make install? Is there a work-around or a way to leave out oscpcheck during the build? Maybe instead of reverting to linking libraries instead of object files, if there was an option to simply not build internal standalone apps that could cause overflows like this one? That way, it might be possible to continue to build the libraries directly on Windows using the configure/makefile scripts. Also, I'm curious why static libraries couldn't be used to build standalone apps rather than listing every object file. Thanks.
from portable.
Just as a guess, assuming the Cygwin build that worked uses configure/make/make install instead of cmake, Cygwin users typically run bash in a terminal program. Some MinGW users do that but many build running bash directly in the command prompt. That might be limiting the line length. Doing some searches, I see mention that cmd.exe has a limit of 8192 while shell and execute functions have a limit of 32767.
from portable.
Also, I'm curious why static libraries couldn't be used to build standalone apps rather than listing every object file.
I believe this was to work around issues when users would disable building static libraries, which then caused the build to break as well.
There are five different native distributions of Mingw-w64 here at least: https://www.mingw-w64.org/downloads/ - are you using MSYS2, mingw-w64-builds, winlibs.com, w64devkit, LLVM-MinGW? It helps to be specific please!
from portable.
Got it to fail with MSYS2 like this:
CCLD ocspcheck.exe
../../libtool: line 1900: /ucrt64/bin/cc: Argument list too long
make[2]: *** [Makefile:463: ocspcheck.exe] Error 126
from portable.
I'm glad you were able to reproduce the problem. I have a temporary work-around I'm using. I just created my own makefile and I'm using that instead of the official one. It's a way to get the latest libressl library to build on Windows with the tools I have available. It's working for me, at least for now.
from portable.
Related Issues (20)
- Building 3.9.0 on windows, with cmake+visual studio HOT 1
- libressl fails to build after 2024-04-01 HOT 3
- libressl 3.8.3 build fail with error: invalid instruction mnemonic 'endbr64' HOT 3
- LibreSSL 3.8.3 fails to build with `syntax error: _CET_ENDBR` (Windows, MSVC, x64) HOT 7
- libressl-3.9.0: build fails for ios HOT 13
- Building on MINGW64_NT-10.0-19045 fails with "../../libtool: line 1900: /mingw64/bin/gcc: Argument list too long" in libressl/apps/ocspcheck HOT 1
- Build fail : missing RC4 git HEAD HOT 2
- SIGSEGV in `bn_bitsize` triggerable via remote (s_client) HOT 1
- Use of SHA ISA Extensions
- CI on Solaris started failing whirlpool_test HOT 3
- Expected steps for Visual Studio native build on x64 Windows 10 HOT 4
- BN_mod_exp_mont_word() is not a public symbol HOT 3
- Why was X509V3_EXT_cleanup() removed? HOT 4
- Crosscompile linux to windows: linking fails, undefined reference SSL_library_init 3.9.2 HOT 4
- Unsupported platforms should fail earlier in the configuration process HOT 4
- Unexpected "unknown pkey type" errors during TLSv1.3 handshakes on server with multiple certificates HOT 1
- SSL_get_certificate() returns wrong certificate HOT 6
- `compat/stdint.h` missing from source tarball HOT 7
- ssl_tlsext.c:1608:30: warning: 'client_preferred_group' may be used uninitialized in this function HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from portable.