https://bugs.winehq.org/show_bug.cgi?id=56665
Bug ID: 56665 Summary: ELF binaries are being built but its supposed to be PE build Product: Wine Version: 9.0 Hardware: x86-64 OS: FreeBSD Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: Alexander88207@Protonmail.com
Hello,
as of wine 9, ELF binaries (dll.so) are being built but normally these should be PE binaries (.a).
This is how we build wine: https://codeberg.org/FreeBSD/freebsd-ports/src/branch/main/emulators/wine
I will try to find to the commit that is causing this.
https://bugs.winehq.org/show_bug.cgi?id=56665
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source
https://bugs.winehq.org/show_bug.cgi?id=56665
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=56665
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=56665
Alexander Vereeken Alexander88207@Protonmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |abe79e3b52db97cd955574de4c1 | |0b22435b2c22f
https://bugs.winehq.org/show_bug.cgi?id=56665
--- Comment #1 from Alexander Vereeken Alexander88207@Protonmail.com --- Caused by:
configure: Don't try to use a non-compliant cross-compiler.
https://github.com/wine-mirror/wine/commit/abe79e3b52db97cd955574de4c10b2243...
Actually, it should have been noticeable here already from the our maintainer as it fails to built from this commit on and the later changes to it:
configure: Fail if --enable-archs is used and any cross-compiler is missing
https://github.com/wine-mirror/wine/commit/cda2886fd3018c9e8c12791238db481b5...
makes it building again but silently builds ELF which went unnoticed.
https://bugs.winehq.org/show_bug.cgi?id=56665
--- Comment #2 from Alexander Vereeken Alexander88207@Protonmail.com --- Just reverting abe79e3b52db97cd955574de4c10b22435b2c22f is enough for us to continue building PE modules.
https://bugs.winehq.org/show_bug.cgi?id=56665
--- Comment #3 from Rafał Mużyło galtgendo@o2.pl --- ...have you checked config.log what exactly fails ?
https://bugs.winehq.org/show_bug.cgi?id=56665
--- Comment #4 from Rafał Mużyło galtgendo@o2.pl --- I mean AFAICT the only check here is for a C99-compliant cross-compiler, so it's a bit odd that fails - both gcc and llvm had been at least that for quite awhile.
https://bugs.winehq.org/show_bug.cgi?id=56665
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |build-env
https://bugs.winehq.org/show_bug.cgi?id=56665
--- Comment #5 from Alexander Vereeken Alexander88207@Protonmail.com --- Created attachment 76469 --> https://bugs.winehq.org/attachment.cgi?id=76469 config.log
(In reply to Rafał Mużyło from comment #3)
...have you checked config.log what exactly fails ?
https://bugs.winehq.org/show_bug.cgi?id=56665
--- Comment #6 from Rafał Mużyło galtgendo@o2.pl --- ...you know, something seems fishy about your toolchain.
The test fails with 'fatal error: 'stddef.h' file not found'.
That header is provided by the compiler (both in gcc *and* llvm).
What are the chances you're using that '-isystem' switch wrong ?
https://bugs.winehq.org/show_bug.cgi?id=56665
--- Comment #7 from Rafał Mużyło galtgendo@o2.pl --- ...cause if not that, the compiler is either installed or built incorrectly (missing dirs in default include paths or something)
https://bugs.winehq.org/show_bug.cgi?id=56665
Brendan Shanks bshanks@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bshanks@codeweavers.com
--- Comment #8 from Brendan Shanks bshanks@codeweavers.com --- The problem is that FreeBSD does not install many of clang's standard C headers (including stdint.h), in favor of the ones installed in /usr/include. This breaks Wine's detection of clang as a PE cross-compiler. The wine-devel port contains files/clang/stdarg.h along with passing 'CROSSCFLAGS="-isystem ${FILESDIR}/clang"' to configure to work around this, maybe that just needs to be copied over to the wine port.
I filed a FreeBSD bug for this https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274542. And started trying to fix it but there needs to be a discussion about it, I have an email I'm going to send out soon.
https://bugs.winehq.org/show_bug.cgi?id=56665
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |NOTOURBUG
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- Resolving as FreeBSD bug then.