* [devel] I: gcc 14.2.1 && binutils 2.43
@ 2024-11-01 13:18 Gleb Fotengauer-Malinovskiy
2024-11-06 0:31 ` Andrey Bergman
0 siblings, 1 reply; 4+ messages in thread
From: Gleb Fotengauer-Malinovskiy @ 2024-11-01 13:18 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 6877 bytes --]
Hi,
В Сизиф отправились gcc 14.2.1 и binutils 2.43.
https://gcc.gnu.org/gcc-14/changes.html
https://gcc.gnu.org/gcc-14/porting_to.html
Основное и главное изменение это то, что warning-и:
-Wdeclaration-missing-parameter-type
-Wimplicit-function-declaration
-Wimplicit-int
-Wincompatible-pointer-types
-Wint-conversion
-Wreturn-mismatch
теперь включены по умолчанию как ошибки.
К сожалению, это часто влияет не только на то, собирается ли код, но и на то,
какие выводы делает configure-скрипт (или его аналог) о системе.
Enjoy!
Собирающиеся пакеты, которые могут измениться от пересборки:
Сравнение логов успешной сборки пакетов по "^checking for":
https://ftp.altlinux.org/pub/people/glebfm/gcc14-info/1030-1031-success-checking-for-diff.txt
https://ftp.altlinux.org/pub/people/glebfm/gcc14-info/1030-1031-success-checking-for-acl.txt
Большая часть либо связана с изменением версий gcc/ld, либо меняется от пересборки к пересборке, но
видны и очень подозрительные изменения вроде:
-sqliteodbc-0.9998-alt1:checking for SQLGetPrivateProfileString via dlopen... yes
+sqliteodbc-0.9998-alt1:checking for SQLGetPrivateProfileString via dlopen... no
-qplay-0.7.3-alt0.2:checking for working fork... yes
+qplay-0.7.3-alt0.2:checking for working fork... no
-basilisk-1:2024.09.13-alt1:checking for X... libraries /usr/lib64/X11, headers
+basilisk-1:2024.09.13-alt1:checking for X... no
Пакеты, сборка которых сломалась:
https://ftp.altlinux.org/pub/people/glebfm/gcc14-info/gcc14-type-regressions.txt
Эти 846 пакетов сломались как раз из-за warning-ов, ставших
ошибками, о которых написано выше.
PsyDoom arbars @everybody
alterator-usbguard proskur @everybody
alterator-usbmount proskur @everybody
android-tools zorg @everybody
cve-manager alexey
fcitx5-gtk @nobody
gz-common cas @everybody
gz-physics cas @everybody
gz-sim cas @everybody
kernelshark vt @everybody
libopentelemetry majioa @everybody
libsdbus-cpp shrek @everybody
melonds arbars @everybody
mysql-workbench-community @nobody
pocl lakostis @everybody
ppsspp nenderus
toppler admsasha @everybody
waked shrek @everybody
The following headers are used less widely in libstdc++ and may need to be included explicitly when compiling with GCC 14:
<algorithm> (for std::copy_n, std::find_if, std::lower_bound, std::remove, std::reverse, std::sort etc.)
<cstdint> (for std::int8_t, std::int32_t etc.)
astc-encoder mike @everybody
bladerf antohami @everybody
ioprocess shaba @everybody
libdwarf lav @everybody
libliftoff rider @everybody
mbedtls-compat nenderus @everybody
pve-qemu-server shaba shrek andy
swaybg legion @everybody
-Walloc-size and -Wcalloc-transposed-args warnings are enabled for C++ as well.
dqt5-location lvol @everybody
qt5-location zerg
ripes george @everybody
warzone2100 rider @everybody
https://github.com/Tencent/rapidjson/issues/718
https://github.com/Tencent/rapidjson/commit/3b2441b87f99ab65f37b141a7b548ebadb607b96
codelite grenka
musescore lav @qa @everybody
tora rider @everybody
https://github.com/cubicdaiya/dtl/commit/7496ad1a31f27442e2326f2c2a68c1c8b587db4c
libv8-3.14 @nobody
qxmledit led @everybody
/usr/include/qt5/QtCore/qfutureinterface.h:284:37: error: template-id not allowed for constructor in C++20 [-Werror=template-id-cdtor]
-Wtemplate-id-cdtor это новый warning.
FlightGear mike @qa @everybody
SimGear mike @qa @everybody
/usr/src/RPM/BUILD/SimGear-2020.3.17/simgear/math/simd.hxx:1155:17: error: cannot convert 'const __m128' to '__m128i' in assignment
Это и раньше была ошибка, просто новый gcc её диагностирует, удаление
метода в данном случае должно помочь.
vulkan-headers lakostis
The target named "Vulkan-Module" has C++ sources that may use modules, but
modules are not supported by this generator:
Unix Makefiles
Modules are supported only by Ninja, Ninja Multi-Config, and Visual Studio
generators for VS 17.4 and newer. See the cmake-cxxmodules(7) manual for
details. Use the CMAKE_CXX_SCAN_FOR_MODULES variable to enable or disable
scanning.
C gcc >= 14 в этом проекте включается поддержка C++ modules.
cataclysm-dda sem @everybody
src/third-party/flatbuffers/stl_emulation.h:548:12: error: assignment of read-only member 'flatbuffers::span<T, Extent>::count_'
https://github.com/google/flatbuffers/commit/20aad0c41e1252b04c72111c3eb221280a9c2009
emacs sbolshakov @everybody
E: Couldn't find package libgccjit13-devel
Зависимость должна быть на libgccjit-devel.
geogram majioa @everybody
/usr/src/RPM/BUILD/geogram-1.7.9/src/lib/geogram/third_party/PoissonRecon/poisson_geogram.cpp:72:10: fatal error: omp.h: No such file or directory
Зависимость должна быть не на libgomp13-devel а на libgomp-devel.
freehdl @nobody
../freehdl/std-vhdl-types.hh:1486:58: error: expression cannot be used as a function
1486 | const int mem_size = length * ainfo->element_type->size();
При этом 'const uchar size;', так что странно, что это работало раньше.
mmc-utils sbolshakov @everybody
freeswitch rider @cpan
Enhanced -Wstringop-overflow warning.
https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git/commit/?id=0b3b45b00d58c7bd745771f2eaef66a2530af0a9
https://github.com/signalwire/freeswitch/commit/cced3e7f1bec9058ce8bbd63f27bcb6e7b3fb992
photopnmtools lav @everybody
/usr/src/RPM/BUILD/photopnmtools-1.3/ppmhsy.c:683:(.text.startup+0xd60): undefined reference to `_ZGVbN2vv_pow'
Из-за оптимизации нужно линковаться ещё и с -lmvec.
renderdoc nenderus @everybody
/usr/src/RPM/BUILD/renderdoc-1.31/renderdoc/driver/vulkan/vk_common.cpp:908:49: error: casting 'VkPackedVersion' to 'uint32_t&' {aka 'unsigned int&'} does not use 'VkPackedVersion::operator uint32_t() const' [-Werror=cast-user-defined]
-Wcast-user-defined это новый warning.
rocm-smi-lib lakostis @everybody
https://github.com/ROCm/rocm_smi_lib/commit/12c8237705a91bd4096cfa4e9c0eac2d5305544b
schroot sin @everybody
https://codeberg.org/shelter/reschroot/commit/55af32cf
--
glebfm
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel] I: gcc 14.2.1 && binutils 2.43
2024-11-01 13:18 [devel] I: gcc 14.2.1 && binutils 2.43 Gleb Fotengauer-Malinovskiy
@ 2024-11-06 0:31 ` Andrey Bergman
2024-11-06 13:17 ` Gleb Fotengauer-Malinovskiy
0 siblings, 1 reply; 4+ messages in thread
From: Andrey Bergman @ 2024-11-06 0:31 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Fri, Nov 01, 2024 at 03:18:22PM GMT, Gleb Fotengauer-Malinovskiy wrote:
Приветствую!
> Основное и главное изменение это то, что warning-и:
> -Wdeclaration-missing-parameter-type
> -Wimplicit-function-declaration
> -Wimplicit-int
> -Wincompatible-pointer-types
> -Wint-conversion
> -Wreturn-mismatch
> теперь включены по умолчанию как ошибки.
Что-то из этого можно исправить, но ряд проблем, особенно в
configure скриптах использует -Wimplicit-function-declaration
для того, чтобы проверить наличие функции хоть в каком-то виде
в стандартной библиотеке С. К примеру, MoscowML проверяет
ряд функций в Configure.
Тут можно зафиксировать стандарт C на C89. В нём разрешено использовать
функции без объявлений.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel] I: gcc 14.2.1 && binutils 2.43
2024-11-06 0:31 ` Andrey Bergman
@ 2024-11-06 13:17 ` Gleb Fotengauer-Malinovskiy
2024-11-06 16:18 ` Vladislav Zavjalov
0 siblings, 1 reply; 4+ messages in thread
From: Gleb Fotengauer-Malinovskiy @ 2024-11-06 13:17 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 1507 bytes --]
On Tue, Nov 05, 2024 at 07:31:24PM -0500, Andrey Bergman wrote:
> On Fri, Nov 01, 2024 at 03:18:22PM GMT, Gleb Fotengauer-Malinovskiy wrote:
> Приветствую!
>
> > Основное и главное изменение это то, что warning-и:
> > -Wdeclaration-missing-parameter-type
> > -Wimplicit-function-declaration
> > -Wimplicit-int
> > -Wincompatible-pointer-types
> > -Wint-conversion
> > -Wreturn-mismatch
> > теперь включены по умолчанию как ошибки.
>
> Что-то из этого можно исправить, но ряд проблем, особенно в
> configure скриптах использует -Wimplicit-function-declaration
> для того, чтобы проверить наличие функции хоть в каком-то виде
> в стандартной библиотеке С. К примеру, MoscowML проверяет
> ряд функций в Configure.
>
> Тут можно зафиксировать стандарт C на C89. В нём разрешено использовать
> функции без объявлений.
Чтобы проверить наличие функции по возможности с ней линковаться, autoconf
генерирует примерно вот такой код и успешно избегает этого warning-а:
char foo (void);
int
main (void)
{
return foo ();
return 0;
}
--
glebfm
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel] I: gcc 14.2.1 && binutils 2.43
2024-11-06 13:17 ` Gleb Fotengauer-Malinovskiy
@ 2024-11-06 16:18 ` Vladislav Zavjalov
0 siblings, 0 replies; 4+ messages in thread
From: Vladislav Zavjalov @ 2024-11-06 16:18 UTC (permalink / raw)
To: ALT Linux Team development discussions
Кcтати, на тему autoconf и gcc14.
В пакете fvwm в configure.ac обнаружилась такая проверка,
которая с gcc14 начала срабатывать:
AC_TRY_COMPILE([#include <stdio.h>],
[int i; static j; int *p; char *c;
switch (*p = p = *c) { case 0: printf("%Q", c, p); }
*c = &i; c = p;
while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
], , AC_MSG_ERROR("
configure is not able to compile programs with warnings. Please
remove all offending options like -Werror from the CFLAGS and
CPPFLAGS variables and run configure again."))
Есть ли какие-то соображения, зачем это могло быть сделано и нужно ли тут что-то?
(В апстриме fvwm уже совсем не поддерживается, вряд ли там стоит спрашивать)
Я пока полностью убрал эту проверку, на сборку и работу это, кажется, не повлияло.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-11-06 16:18 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-01 13:18 [devel] I: gcc 14.2.1 && binutils 2.43 Gleb Fotengauer-Malinovskiy
2024-11-06 0:31 ` Andrey Bergman
2024-11-06 13:17 ` Gleb Fotengauer-Malinovskiy
2024-11-06 16:18 ` Vladislav Zavjalov
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git