Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
gcc-14 - cannot build dev-db/cdb
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
honeymak
Guru
Guru


Joined: 30 Dec 2002
Posts: 586

PostPosted: Tue Nov 26, 2024 12:48 am    Post subject: gcc-14 - cannot build dev-db/cdb Reply with quote

https://h0n3ym4k.github.io/build.log.html

i guess not just one pkg may encounter this

should i wait for gcc-14 compliant from gentoo pkg?

:oops: :roll:

Code:

> rts
chmod 755 rts
./compile testzero.c
testzero.c:17:1: error: return type defaults to ‘int’ [-Wimplicit-int]
   17 | main(int argc,char **argv)
      | ^~~~
testzero.c: In function ‘main’:
testzero.c:22:15: error: implicit declaration of function ‘_exit’ [-Wimplicit-function-declaration]
   22 |   if (!*argv) _exit(0);
      |               ^~~~~
testzero.c:22:15: warning: incompatible implicit declaration of built-in function ‘_exit’ [-Wbuiltin-declaration-mismatch]
testzero.c:23:17: warning: incompatible implicit declaration of built-in function ‘_exit’ [-Wbuiltin-declaration-mismatch]
   23 |   if (!*++argv) _exit(0);
      |                 ^~~~~
testzero.c:34:3: warning: incompatible implicit declaration of built-in function ‘_exit’ [-Wbuiltin-declaration-mismatch]
   34 |   _exit(0);
      |   ^~~~~
make: *** [Makefile:299: testzero.o] Error 1
make: *** Waiting for unfinished jobs....
./compile install.c
install.c: In function ‘h’:
install.c:20:7: error: implicit declaration of function ‘mkdir’ [-Wimplicit-function-declaration]
   20 |   if (mkdir(home,0700) == -1)
      |       ^~~~~
install.c:23:7: error: implicit declaration of function ‘chown’ [-Wimplicit-function-declaration]
   23 |   if (chown(home,uid,gid) == -1)
      |       ^~~~~
install.c:25:7: error: implicit declaration of function ‘chmod’ [-Wimplicit-function-declaration]
   25 |   if (chmod(home,mode) == -1)
      |       ^~~~~
install.c: In function ‘d’:
install.c:36:7: error: implicit declaration of function ‘chdir’ [-Wimplicit-function-declaration]
   36 |   if (chdir(home) == -1)
      |       ^~~~~
install.c: In function ‘c’:
install.c:63:7: error: implicit declaration of function ‘fchdir’ [-Wimplicit-function-declaration]
   63 |   if (fchdir(fdsourcedir) == -1)
      |       ^~~~~~
install.c:88:3: error: implicit declaration of function ‘close’ [-Wimplicit-function-declaration]
   88 |   close(fdin);
      |   ^~~~~
install.c:91:7: error: implicit declaration of function ‘fsync’ [-Wimplicit-function-declaration]
   91 |   if (fsync(fdout) == -1)
      |       ^~~~~
install.c: At top level:
install.c:140:1: error: return type defaults to ‘int’ [-Wimplicit-int]
  140 | main()
      | ^~~~
install.c: In function ‘main’:
install.c:146:3: error: implicit declaration of function ‘umask’ [-Wimplicit-function-declaration]
  146 |   umask(077);
      |   ^~~~~
make: *** [Makefile:196: install.o] Error 1
 * ERROR: dev-db/cdb-0.75-r4::gentoo failed (compile phase):
 *   emake failed
 *
 * If you need support, post the output of `emerge --info '=dev-db/cdb-0.75-r4::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-db/cdb-0.75-r4::gentoo'`.
 * The complete build log is located at '/var/log/portage/build/dev-db/cdb-0.75-r4:20241126-001437.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-db/cdb-0.75-r4/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-db/cdb-0.75-r4/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-db/cdb-0.75-r4/work/cdb-0.75'
 * S: '/var/tmp/portage/dev-db/cdb-0.75-r4/work/cdb-0.75'
g64 ~ #



Code:

g64 ~ # emerge --info dev-db/cdb
Portage 3.0.66.1 (python 3.12.7-final-0, default/linux/amd64/23.0/split-usr/desktop/gnome, gcc-14, glibc-2.40-r5, 6.6.62-gentoo-x86_64 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.6.62-gentoo-x86_64-x86_64-Intel-R-_Core-TM-_i7-8550U_CPU_@_1.80GHz-with-glibc2.40
KiB Mem:    16389464 total,   5870384 free
KiB Swap:   16777212 total,  16777212 free
Timestamp of repository gentoo: Sun, 24 Nov 2024 23:50:32 +0000
Head commit of repository gentoo: eb65bf7df4f898e146d6a3064f6dbefda2b1e13b

Timestamp of repository arrans-overlay: Sun, 24 Nov 2024 16:18:33 +0000
Head commit of repository arrans-overlay: d186379618d5e50c205e0afef46e3c817a22309a

Timestamp of repository pentoo: Fri, 22 Nov 2024 20:33:59 +0000
Head commit of repository pentoo: 5c24b4cfda4ceee8420a139d50c8694184f10ebc

sh bash 5.2_p37
ld GNU ld (Gentoo 2.42 p6) 2.42.0
app-misc/pax-utils:        1.3.8::gentoo
app-shells/bash:           5.2_p37::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.72-r1::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.30.5::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r100::gentoo
dev-build/meson:           1.5.2::gentoo
dev-java/java-config:      2.3.4::gentoo
dev-lang/perl:             5.40.0::gentoo
dev-lang/python:           3.11.10_p1::gentoo, 3.12.7_p1::gentoo, 3.13.0::gentoo
dev-lang/rust-bin:         1.81.0-r100::gentoo
sys-apps/baselayout:       2.17::gentoo
sys-apps/openrc:           0.54.2::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-devel/binutils:        2.42-r2::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/clang:           18.1.8::gentoo
sys-devel/gcc:             14.2.1_p20241116::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/llvm:            18.1.8-r1::gentoo
sys-kernel/linux-headers:  6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.40-r5::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000
    volatile: False
    sync-git-verify-commit-signature: yes

arrans-overlay
    location: /var/db/repos/arrans-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/arrans-overlay.git
    masters: gentoo
    volatile: False

pentoo
    location: /var/db/repos/pentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/pentoo.git
    masters: gentoo
    volatile: False

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://gentoo.osuosl.org/releases/amd64/binpackages/23.0/x86-64-v3

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O3 -march=native -mtune=native -fomit-frame-pointer -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.2/ext-active/ /etc/php/cgi-php8.2/ext-active/ /etc/php/cli-php8.2/ext-active/ /etc/php/fpm-php8.2/ext-active/ /etc/php/phpdbg-php8.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O3 -march=native -mtune=native -fomit-frame-pointer -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O3 -march=native -mtune=native -fomit-frame-pointer -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms split-log strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O3 -march=native -mtune=native -fomit-frame-pointer -pipe"
GENTOO_MIRRORS="http://gentoo.aditsu.net:8000/"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
RUSTFLAGS="-C target-cpu=native"
SHELL="/bin/bash"
USE="X a52 aac acl acpi alsa amd64 bluetooth branding bzip2 cairo cdda cdr cet colord crypt cups dbus dri dts dvd dvdr eds egl elogind encode evo exif flac gdbm gdk-pixbuf gif gnome gnome-keyring gnome-online-accounts gnome-shell gpm gstreamer gtk gui iconv icu introspection ipv6 jpeg keyring kf6compat lcms libnotify libtirpc mad mng mp3 mp4 mpeg multilib nautilus ncurses networkmanager nls ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qml qt5 qt6 readline sdl seccomp sound spell split-usr ssl startup-notification svg sysprof test-rust tiff tracker truetype udev udisks unicode upower usb vorbis vulkan wayland wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="actions alias auth_basic authn_anon authn_core authn_dbm authn_file authz_core authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers http2 include info log_config logio mime mime_magic negotiation rewrite setenvif socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias access_compat asis auth_digest auth_form authn_dbd authz_dbd cern_meta dbd dumpio ident imagemap lbmethod_bybusyness lbmethod_byrequests lbmethod_bytraffic lbmethod_heartbeat log_forensic proxy proxy_ajp proxy_balancer proxy_connect proxy_fcgi proxy_ftp proxy_hcheck proxy_html proxy_http proxy_http2 proxy_scgi proxy_uwsgi proxy_wstunnel ratelimit remoteip reqtimeout session session_cookie session_crypto session_dbd slotmem_shm substitute version watchdog xml2enc" APACHE2_MPMS="event" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 mmx mmxext pclmul popcnt rdrand sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput evdev synaptics vmmouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LLVM_TARGETS="WebAssembly DirectX" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby32" VIDEO_CARDS="amdgpu dummy fbdev intel nouveau radeon radeonsi vesa i915 qxl vmware d3d12 virgl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, MAKEOPTS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS

=================================================================
                        Package Settings
=================================================================

dev-db/cdb-0.75-r4::gentoo was built with the following:
USE="" ABI_X86="(64)"

_________________
hackers - make sth real
academics - read sth said to be real
Back to top
View user's profile Send private message
JimRockford74
n00b
n00b


Joined: 26 Nov 2024
Posts: 6

PostPosted: Tue Nov 26, 2024 7:46 pm    Post subject: Reply with quote

Re: dev-db/cdb-0.75-r4 build failures with GCC 14

The build failures you're seeing are due to GCC 14's stricter requirements around implicit function declarations and return types. These are now treated as errors rather than warnings.

The fixes needed are relatively straightforward - we need to add the appropriate header includes and explicit return types. Here are the specific changes needed:

For testzero.c:
Code:
#include <unistd.h> // for exit()
int main(int argc,char argv) // explicit return type

For install.c:
Code:
#include <sys/types.h>
#include <sys/stat.h> // for mkdir(), chmod()
#include <unistd.h> // for chdir(), fchdir(), close(), fsync(), umask()
#include <fcntl.h> // for file operations
int main() // explicit return type


You have several options:

1. Wait for an official package update from the maintainer (recommended)
2. Temporarily switch back to GCC 13:
```bash
gcc-config x86_64-pc-linux-gnu-13.2.0
source /etc/profile
```
3. Create a local overlay with these patches if you need the package immediately

I recommend option 1 or 2 since this is a known issue with the GCC 14 transition, and many packages are being updated to handle these stricter requirements.
Back to top
View user's profile Send private message
CaptainBlood
Advocate
Advocate


Joined: 24 Jan 2010
Posts: 3977

PostPosted: Tue Nov 26, 2024 7:54 pm    Post subject: Reply with quote

Throwing patch at /etc/portage/patches/.... is an alternative way to avoid overlay management.
A simple way when dealing with an ebuild from the portage tree while not changing its version.

The only drawback is when upstream updates the same ebuild without versionning in a way that overlaps your patch.
In such a case, you're likely to face an at early stage rebuild failure that rejects your patch.
Renaming your.patch file to your.patch.any_extension_but_patch would free the way for a rebuild.

Thks 4 ur attention, interest & support.
_________________
USE="-* ..." in /etc/portage/make.conf here, i.e. a countermeasure to portage implicit braces, belt & diaper paradigm
LT: "I've been doing a passable imitation of the Fontana di Trevi, except my medium is mucus. Sooo much mucus. "
Back to top
View user's profile Send private message
no101
n00b
n00b


Joined: 10 Oct 2022
Posts: 14
Location: Piney Woods

PostPosted: Wed Nov 27, 2024 1:48 am    Post subject: Reply with quote

gcc 14 no longer compiles c89 by default: now you have to specify the standard to use.

I can compile dev-db/cdb by adding -std=gnu89 via package.env

I created /etc/portage/env/gnu89
Code:

CFLAGS="${CFLAGS} -std=gnu89"


then I added an entry in /etc/portage/package.env
Code:

dev-db/cdb gnu89


I don't have an easy way to test the results but I believe this workaround will work correctly. If so, the real fix is to file a bug for dev-db/cdb requesting that the ebuild be modified to include the standard in CFLAGS.

https://wiki.gentoo.org/wiki//etc/portage/package.env
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2504

PostPosted: Wed Nov 27, 2024 6:25 am    Post subject: Reply with quote

no101 wrote:
gcc 14 no longer compiles c89 by default: now you have to specify the standard to use.

I can compile dev-db/cdb by adding -std=gnu89 via package.env

I created /etc/portage/env/gnu89
Code:

CFLAGS="${CFLAGS} -std=gnu89"


then I added an entry in /etc/portage/package.env
Code:

dev-db/cdb gnu89


I don't have an easy way to test the results but I believe this workaround will work correctly. If so, the real fix is to file a bug for dev-db/cdb requesting that the ebuild be modified to include the standard in CFLAGS.

https://wiki.gentoo.org/wiki//etc/portage/package.env


I tested it by putting CFLAGS="${CFLAGS} -std=gnu89" on the command line and it worked.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum