including -std=gnu17
allows it to build with gcc15
such as including CFLAGS="$CFLAGS -std=gnu17"
before ./configure
thanks @ModelHX for pointing it out on another package https://aur.archlinux.org/packages/units#comment-1022118
Git Clone URL: | https://aur.archlinux.org/ncurses5-compat-libs.git (read-only, click to copy) |
---|---|
Package Base: | ncurses5-compat-libs |
Description: | System V Release 4.0 curses emulation library, ABI 5 |
Upstream URL: | https://invisible-island.net/ncurses/ncurses.html |
Licenses: | MIT |
Conflicts: | libtinfo5 |
Provides: | libtinfo5 |
Submitter: | Barthalion |
Maintainer: | micwoj92 |
Last Packager: | micwoj92 |
Votes: | 591 |
Popularity: | 2.59 |
First Submitted: | 2015-09-18 21:03 (UTC) |
Last Updated: | 2025-01-16 16:10 (UTC) |
including -std=gnu17
allows it to build with gcc15
such as including CFLAGS="$CFLAGS -std=gnu17"
before ./configure
thanks @ModelHX for pointing it out on another package https://aur.archlinux.org/packages/units#comment-1022118
@Juve-lvh thank you for your comment, building with gcc-14 worked for me as well.
Getting:
/usr/include/c++/15.1.1/type_traits:360:12: error: redefinition of ‘struct std::__is_integral_helper<unsigned char>’
360 | struct __is_integral_helper<unsigned char>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.1.1/type_traits:348:12: note: previous definition of ‘struct std::__is_integral_helper<unsigned char>’
348 | struct __is_integral_helper<bool>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.1.1/bits/exception_ptr.h: In member function ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’:
/usr/include/c++/15.1.1/bits/exception_ptr.h:162:16: error: invalid conversion from ‘void*’ to ‘NCURSES_BOOL’ {aka ‘unsigned char’} [-fpermissive]
162 | { return _M_exception_object; }
| ^~~~~~~~~~~~~~~~~~~
| |
| void*
In file included from /usr/include/c++/15.1.1/exception:169:
/usr/include/c++/15.1.1/bits/nested_exception.h: In member function ‘void std::nested_exception::rethrow_nested() const’:
/usr/include/c++/15.1.1/bits/nested_exception.h:78:11: error: invalid user-defined conversion from ‘const std::__exception_ptr::exception_ptr’ to ‘bool’ [-fpermissive]
78 | if (_M_ptr)
| ^~~~~~
/usr/include/c++/15.1.1/bits/exception_ptr.h:161:16: note: candidate is: ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’ (near match)
161 | explicit operator bool() const noexcept
| ^~~~~~~~
/usr/include/c++/15.1.1/bits/exception_ptr.h:161:16: note: return type ‘NCURSES_BOOL’ {aka ‘unsigned char’} of explicit conversion function cannot be converted to ‘bool’ with a qualification conversion
My version of gcc is 15.1.1. I try to install it with gcc 14.2.1 and it works just right
Getting multiple redefinition errors while building, first error is:
/usr/include/c++/15.1.1/type_traits:360:12: error: redefinition of ‘struct std::__is_integral_helper<unsigned char>’
360 | struct __is_integral_helper<unsigned char>
I'm using gcc version 15.1.1 20250425
.
I too get the error with the redefinition of is_integral_helper.
error: redefinition of 'struct std::__is_integral_helper<unsigned char>'
getting:
/usr/sbin/g++ -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ -I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/home/cafeed28/.cache/yay/ncurses5-compat-libs/src=/usr/src/debug/ncurses5-compat-libs -flto=auto -fPIC -c ../c++/cursesf.cc -o ../obj_s/cursesf.o
In file included from /usr/include/c++/15.1.1/bits/move.h:37,
from /usr/include/c++/15.1.1/bits/exception_ptr.h:41,
from /usr/include/c++/15.1.1/exception:168,
from /usr/include/c++/15.1.1/ios:43,
from /usr/include/c++/15.1.1/bits/ostream.h:43,
from /usr/include/c++/15.1.1/ostream:42,
from /usr/include/c++/15.1.1/iostream:43,
from ../c++/etip.h:351,
from ../c++/cursesw.h:52,
from ../c++/cursesp.h:41,
from ../c++/cursesf.h:41,
from ../c++/cursesf.cc:36:
/usr/include/c++/15.1.1/type_traits:360:12: error: redefinition of 'struct std::__is_integral_helper<unsigned char>'
360 | struct __is_integral_helper<unsigned char>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.1.1/type_traits:348:12: note: previous definition of 'struct std::__is_integral_helper<unsigned char>'
348 | struct __is_integral_helper<bool>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
my build environment:
g++ (GCC) 15.1.1 20250425
WSL version: 2.5.7.0
Kernel version: 6.6.87.1-1
WSLg version: 1.0.66
MSRDC version: 1.2.6074
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.19045.5737
@gothicVI this just changes URL field to https, nothing else is changed, so not worth it imo.
Please bump the pkgreg if you update otherwise we'll see the update but never build or install it.
What is your build environment? I have same lines in config.log and it works fine.
Getting:
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
==> ERROR: A failure occurred in build().
Aborting...
Seems to be caused by this in config.log:
gcc: error: unrecognized command-line option '-V'
gcc: fatal error: no input files
compilation terminated.
Pinned Comments
WoefulDerelict commented on 2016-05-23 19:35 (UTC) (edited on 2018-08-18 20:22 (UTC) by WoefulDerelict)
This PKGBUILD verifies the authenticity of the source via PGP signatures which are not part of the Arch Linux keyring. In order to complete the process it is necessary to import the key(s) from the ‘validpgpkeys’ array into the user’s keyring before calling makepkg. There is a helpful article explaining this process by one of Arch Linux's developers located here: http://allanmcrae.com/2015/01/two-pgp-keyrings-for-package-management-in-arch-linux/
Instructions on importing keys from a keyserver and how to automate the retrieval process can be found in the Arch Linux wiki here: https://wiki.archlinux.org/index.php/GnuPG#Use_a_keyserver This article also contains helpful information describing the installation of GnuPG, its configuration and usage.
Execute the following to import keys using gpg:
gpg --recv-keys <KEYID - See 'validpgpkeys' array in PKGBUILD>
The PGP signature check can be skipped by passing --skippgpcheck to makepkg.
Consult the makepkg manual page for a full list of options. [https://www.archlinux.org/pacman/makepkg.8.html]