#12777 closed Bug report (wontfix)
FTBFS on i386 - Debian
Reported by: | Phil Wyett | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | FileZilla Client |
Keywords: | Cc: | ||
Component version: | Operating system type: | ||
Operating system version: |
Description
Last two version are not building correctly on i386.
See attached.
Attachments (1)
Change History (7)
by , 2 years ago
Attachment: | filezilla_ftbfs_i386.txt added |
---|
comment:1 by , 2 years ago
Status: | new → moreinfo |
---|
This looks to be a bug in the header files coming with gcc.
Look at this minimal reproducer, merely targeting SSE2 causes the headers to pull in stuff for AVX512.
~$ cat test.c #pragma GCC target("sse2") #include <immintrin.h> int main(){return 0;} ~$ gcc test.c In file included from /usr/lib/gcc/i686-linux-gnu/12/include/immintrin.h:98, from test.c:2: /usr/lib/gcc/i686-linux-gnu/12/include/avx512fp16intrin.h:38:9: error: '_Float16' is not supported on this target 38 | typedef _Float16 __v8hf __attribute__ ((__vector_size__ (16))); | ^~~~~~~~ /usr/lib/gcc/i686-linux-gnu/12/include/avx512fp16intrin.h:39:9: error: '_Float16' is not supported on this target 39 | typedef _Float16 __v16hf __attribute__ ((__vector_size__ (32))); | ^~~~~~~~ /usr/lib/gcc/i686-linux-gnu/12/include/avx512fp16intrin.h:40:9: error: '_Float16' is not supported on this target 40 | typedef _Float16 __v32hf __attribute__ ((__vector_size__ (64))); ...
Please bring this to the attention of your gcc package maintainer or contact gcc upstream directly. Please report back the outcome of the discussion.
comment:2 by , 2 years ago
Status: | moreinfo → new |
---|
Thanks Tim. Had no time to look at this. But at a glance it does look GCC related.
Bug has been reassigned to package GCC in Debian.
I will confirm when issue resolved, so that this bug can be closed.
comment:3 by , 2 years ago
The Debian GCC team are claiming it actually be a bug in filezilla.
Debian under i386 does not support SSE2.
See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1020327#40
comment:4 by , 2 years ago
Status: | new → moreinfo |
---|
The compiler does support SSE2 if you enable it, e.g. with the #pragma in the snippet.
Also, why does the same snippet of code work fine in older versions of Debian with older versions of gcc?
This very much looks like either a wrong #ifdef in the GCC headers, or enabling SSE2 via the #pragma (as opposed to -msse2) doesn't actually enable the functionality that SSE2 brings.
See https://gcc.gnu.org/onlinedocs/gcc/x86-Function-Attributes.html#index-target_0028_0022sse2_0022_0029-function-attribute_002c-x86 and https://gcc.gnu.org/onlinedocs/gcc/Half-Precision.html
I also found an interesting comment about a deeper underlying issue here: https://patchwork.ozlabs.org/project/gcc/patch/f3b2de01-c5c9-19dd-96bc-1cdd81240121@suse.com/
comment:5 by , 2 years ago
Resolution: | → wontfix |
---|---|
Status: | moreinfo → closed |
As the GCC team from Debian is not really interested, the intention will be to drop i386/x32 architecture support from the package(s) built for Debian.
comment:6 by , 20 months ago
Info:
Upstream at gcc an issue is opened:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109504
Build log