Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[termbox-bindings-c] Compilation failure with GCC 14 #5

Open
sternenseemann opened this issue Dec 22, 2024 · 1 comment
Open

[termbox-bindings-c] Compilation failure with GCC 14 #5

sternenseemann opened this issue Dec 22, 2024 · 1 comment

Comments

@sternenseemann
Copy link

GCC 14 has changed some warnings to errors. As a result, termbox-bindings-c fails to build:

Running phase: setupCompilerEnvironmentPhase
Build with /nix/store/pb9lljj3m0i6m3x30759k80pq5cf4sqi-ghc-9.6.6.
Running phase: unpackPhase
unpacking source archive /nix/store/53ar4w070d56gkihml212z8igqjw1nrn-termbox-bindings-c-0.1.0.1.tar.gz
source root is termbox-bindings-c-0.1.0.1
setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file termbox-bindings-c-0.1.0.1/termbox-bindings-c.cabal
Running phase: patchPhase
Replace Cabal file with edited version from mirror://hackage/termbox-bindings-c-0.1.0.1/revision/1.cabal.
Running phase: compileBuildDriverPhase
setupCompileFlags: -package-db=/build/tmp.jc4iYHR81c/setup-package.conf.d -threaded
[1 of 2] Compiling Main             ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.jc4iYHR81c/Main.o )
[2 of 2] Linking Setup
Running phase: updateAutotoolsGnuConfigScriptsPhase
Running phase: configurePhase
configureFlags: --verbose --prefix=/nix/store/sv9asqwd7yv6rnq8k0cs79skp4cyx4mr-termbox-bindings-c-0.1.0.1 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/0ddddnmzpa0jzgpsiq9dhiidkyripsmd-termbox-bindings-c-0.1.0.1-doc/share/doc/termbox-bindings-c-0.1.0.1 --with-gcc=gcc --package-db=/build/tmp.jc4iYHR81c/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --extra-lib-dirs=/nix/store/wm1qn5jqrxpcjkc640gq8a90ns5gw3cn-ncurses-6.4.20221231/lib --extra-lib-dirs=/nix/store/r04wysx6yl7ys1rdv1b1lih6in1810r0-libffi-3.4.6/lib --extra-lib-dirs=/nix/store/wkysiv0sxqs6wn44nb46bbyig4plzsy4-elfutils-0.192/lib --extra-lib-dirs=/nix/store/ghb61mqc90qf1nx6kyahhhagicyxvcyg-gmp-with-cxx-6.3.0/lib
Using Parsec parser
Configuring termbox-bindings-c-0.1.0.1...
Dependency base >=4.13 && <4.21: using base-4.18.2.1
Source component graph: component lib
Configured component graph:
    component termbox-bindings-c-0.1.0.1-EWXMQQnM2bDLtYEnV9ti9S
        include base-4.18.2.1
Linked component graph:
    unit termbox-bindings-c-0.1.0.1-EWXMQQnM2bDLtYEnV9ti9S
        include base-4.18.2.1
        Termbox.Bindings.C=termbox-bindings-c-0.1.0.1-EWXMQQnM2bDLtYEnV9ti9S:Termbox.Bindings.C
Ready component graph:
    definite termbox-bindings-c-0.1.0.1-EWXMQQnM2bDLtYEnV9ti9S
        depends base-4.18.2.1
Using Cabal-3.10.3.0 compiled by ghc-9.6
Using compiler: ghc-9.6.6
Using install prefix:
/nix/store/sv9asqwd7yv6rnq8k0cs79skp4cyx4mr-termbox-bindings-c-0.1.0.1
Executables installed in:
/nix/store/sv9asqwd7yv6rnq8k0cs79skp4cyx4mr-termbox-bindings-c-0.1.0.1/bin
Libraries installed in:
/nix/store/sv9asqwd7yv6rnq8k0cs79skp4cyx4mr-termbox-bindings-c-0.1.0.1/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6/termbox-bindings-c-0.1.0.1-EWXMQQnM2bDLtYEnV9ti9S
Dynamic Libraries installed in:
/nix/store/sv9asqwd7yv6rnq8k0cs79skp4cyx4mr-termbox-bindings-c-0.1.0.1/lib/ghc-9.6.6/lib/x86_64-linux-ghc-9.6.6
Private executables installed in:
/nix/store/sv9asqwd7yv6rnq8k0cs79skp4cyx4mr-termbox-bindings-c-0.1.0.1/libexec/x86_64-linux-ghc-9.6.6/termbox-bindings-c-0.1.0.1
Data files installed in:
/nix/store/sv9asqwd7yv6rnq8k0cs79skp4cyx4mr-termbox-bindings-c-0.1.0.1/share/x86_64-linux-ghc-9.6.6/termbox-bindings-c-0.1.0.1
Documentation installed in:
/nix/store/0ddddnmzpa0jzgpsiq9dhiidkyripsmd-termbox-bindings-c-0.1.0.1-doc/share/doc/termbox-bindings-c-0.1.0.1
Configuration files installed in:
/nix/store/sv9asqwd7yv6rnq8k0cs79skp4cyx4mr-termbox-bindings-c-0.1.0.1/etc
No alex found
Using ar found on system at:
/nix/store/srcmmqi8kxjfygd0hyy42c8hv6cws83b-binutils-wrapper-2.43.1/bin/ar
No c2hs found
No cpphs found
No doctest found
Using gcc version 14.2.1 given by user at:
/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/gcc
Using ghc version 9.6.6 found on system at:
/nix/store/pb9lljj3m0i6m3x30759k80pq5cf4sqi-ghc-9.6.6/bin/ghc
Using ghc-pkg version 9.6.6 found on system at:
/nix/store/pb9lljj3m0i6m3x30759k80pq5cf4sqi-ghc-9.6.6/bin/ghc-pkg-9.6.6
No ghcjs found
No ghcjs-pkg found
No greencard found
Using haddock version 2.29.2 found on system at:
/nix/store/pb9lljj3m0i6m3x30759k80pq5cf4sqi-ghc-9.6.6/bin/haddock-ghc-9.6.6
No happy found
Using haskell-suite found on system at: haskell-suite-dummy-location
Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
No hmake found
Using hpc version 0.68 found on system at:
/nix/store/pb9lljj3m0i6m3x30759k80pq5cf4sqi-ghc-9.6.6/bin/hpc-ghc-9.6.6
Using hsc2hs version 0.68.9 found on system at:
/nix/store/pb9lljj3m0i6m3x30759k80pq5cf4sqi-ghc-9.6.6/bin/hsc2hs-ghc-9.6.6
Using hscolour version 1.25 found on system at:
/nix/store/v46cywpacz0q1snif3ac0crw31pq3h6z-hscolour-1.25/bin/HsColour
No jhc found
Using ld found on system at:
/nix/store/srcmmqi8kxjfygd0hyy42c8hv6cws83b-binutils-wrapper-2.43.1/bin/ld.gold
No pkg-config found
Using runghc version 9.6.6 found on system at:
/nix/store/pb9lljj3m0i6m3x30759k80pq5cf4sqi-ghc-9.6.6/bin/runghc-9.6.6
Using strip version 2.43 found on system at:
/nix/store/xcn9p4xxfbvlkpah7pwchpav4ab9d135-gcc-wrapper-14-20241116/bin/strip
Using tar found on system at:
/nix/store/9cwwj1c9csmc85l2cqzs3h9hbf1vwl6c-gnutar-1.35/bin/tar
No uhc found
Running phase: buildPhase
Preprocessing library for termbox-bindings-c-0.1.0.1..
Building library for termbox-bindings-c-0.1.0.1..
[1 of 1] Compiling Termbox.Bindings.C ( src/Termbox/Bindings/C.hs, dist/build/Termbox/Bindings/C.o, dist/build/Termbox/Bindings/C.dyn_o )
[1 of 1] Compiling Termbox.Bindings.C ( src/Termbox/Bindings/C.hs, dist/build/Termbox/Bindings/C.p_o )
cbits/termbox.c: In function ‘tb_present’:

cbits/termbox.c:802:17: error:
     error: implicit declaration of function ‘wcwidth’ [-Wimplicit-function-declaration]
      802 |             w = wcwidth(back->ch);
          |                 ^~~~~~~
    |
802 |             w = wcwidth(back->ch);
    |                 ^
cbits/termbox.c: In function ‘sigwinch_handler’:

cbits/termbox.c:1177:5: error:
     warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
     1177 |     write(winch_fds[1], &zzz, sizeof(int));
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     |
1177 |     write(winch_fds[1], &zzz, sizeof(int));
     |     ^
cbits/termbox.c: In function ‘bytebuffer_flush’:

cbits/termbox.c:1327:5: error:
     warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
     1327 |     write(fd, b->buf, b->len);
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~
     |
1327 |     write(fd, b->buf, b->len);
     |     ^
cbits/termbox.c: In function ‘wait_fill_event’:

cbits/termbox.c:1268:13: error:
     warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
     1268 |             read(winch_fds[0], &zzz, sizeof(int));
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     |
1268 |             read(winch_fds[0], &zzz, sizeof(int));
     |             ^
`gcc' failed in phase `C Compiler'. (Exit code: 1)
@mitchellwrosen
Copy link
Member

Hm! Is the fix here to pull over a new termbox.c after the warning is fixed upstream?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants