calcium <[email protected]> writes: >> Hi Calcium, could you provide the full guix shell commands you tried? > > Sure, my lastest version was: > > ``` > #!/usr/bin/env bash > set -ex > exec guix shell --verbosity=3 --container --network --preserve='^DISPLAY$' \ > --preserve='^XAUTHORITY$' --expose=$XAUTHORITY --preserve='^DBUS_' > --expose=/var/run/dbus \ > --expose=/dev/dri --share=/dev/snd/seq --share=/dev/shm > --expose=/sys/class/input \ > --expose=/sys/devices --expose=/sys/dev --expose=/sys/bus/pci > --expose=/run/user/$UID \ > --share=/tmp/.X11-unix \ > --preserve='XDG_RUNTIME_DIR' --manifest="$0" > !# > > ;; commented out, bc its introduces glibc for-fhs, mess things up > ;; --emulate-fhs > > ;; export JAVA_HOME= > ;; export LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib > > (concatenate-manifests > (list (specifications->manifest (list > "python" "openjdk@11:jdk" ;; no need for > "clojure" > "bash" "nss-certs" "coreutils" "curl" > "git" "mesa" "fontconfig" "libxcursor" > "libxi" "libglvnd" "libxrandr" > "mesa-utils" > "cmake" "ninja" > "util-linux" ;; helps to set java home > JAVA_HOME=$(dirname $(dirname $(whereis java))) > "clang-toolchain" > "libx11" "libxext" "xorgproto")) > (package->development-manifest (specification->package > "clang-toolchain")))) > ``` > > On 10/20/25 22:24, Noé Lopez wrote: >> calcium <[email protected]> writes: >> >>> Got lots of error in that style, be it using gcc or clang in a guix shell >>> --container (by calling a pyhton script, more specifically to build >>> https://github.com/HumbleUI/JWM) >>> >>> >>> How to solve this ??? >> >> Hi Calcium, could you provide the full guix shell commands you tried? >> >> Have a nice day, >> Noé >> >>> >>> I just wanna compile, but seems like gcc 's include doesn't even works, >>> like why suggest to add "#include <cstddef>" to gcc's include files, when >>> they are supposed to work without having to modify them >>> >>> >>> >>> /gnu/store/4rj89rrw3c5gzr97z8cik34ahm305cc8-profile/include/bits/types/cookie_io_functions_t.h:28:43: >>> error: ‘size_t’ has not been declared >>> 28 | size_t __nbytes); >>> | ^~~~~~ >>> /gnu/store/4rj89rrw3c5gzr97z8cik34ahm305cc8-profile/include/bits/types/cookie_io_functions_t.h:1:1: >>> note: ‘size_t’ is defined in header ‘<cstddef>’; this is probably fixable >>> by adding ‘#include <cstddef>’ >>> +++ |+#include <cstddef> >>> 1 | /* Copyright (C) 1991-2025 Free Software Foundation, Inc. >>> /gnu/store/4rj89rrw3c5gzr97z8cik34ahm305cc8-profile/include/bits/types/cookie_io_functions_t.h:37:44: >>> error: ‘size_t’ has not been declared >>> 37 | size_t __nbytes); >>> | ^~~~~~ >>> /gnu/store/4rj89rrw3c5gzr97z8cik34ahm305cc8-profile/include/bits/types/cookie_io_functions_t.h:37:44: >>> note: ‘size_t’ is defined in header ‘<cstddef>’; this is probably fixable >>> by adding ‘#include <cstddef>’ >>> /gnu/store/4rj89rrw3c5gzr97z8cik34ahm305cc8-profile/include/stdio.h:314:35: >>> error: ‘size_t’ has not been declared >>> 314 | extern FILE *fmemopen (void *__s, size_t __len, const char >>> *__modes) >>> | ^~~~~~ >>> >>> >>> >>> >>> In file included from >>> /gnu/store/4rj89rrw3c5gzr97z8cik34ahm305cc8-profile/include/c++/ext/string_conversions.h:48: >>> /gnu/store/4rj89rrw3c5gzr97z8cik34ahm305cc8-profile/include/c++/ext/string_conversions.h: >>> In constructor ‘__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base >>> ...), const char*, const _CharT*, std::size_t*, _Base >>> ...)::_Save_errno::_Save_errno()’: >>> /gnu/store/4rj89rrw3c5gzr97z8cik34ahm305cc8-profile/include/c++/ext/string_conversions.h:67:34: >>> error: ‘errno’ was not declared in this scope [-Wtemplate-body] >>> 67 | _Save_errno() : _M_errno(errno) { errno = 0; } >>> | ^~~~~ >>> /gnu/store/4rj89rrw3c5gzr97z8cik34ahm305cc8-profile/include/c++/ext/string_conversions.h:49:1: >>> note: ‘errno’ is defined in header ‘<cerrno>’; this is probably fixable by >>> adding ‘#include <cerrno>’ >>> 48 | #include <cerrno> >>> +++ |+#include <cerrno>
Hi Calcium,
I was able to reproduce the error using the following commands:
guix shell -C clang-toolchain libxcursor libxrandr cmake libxi ninja
openjdk@11:jdk coreutils mesa
export JAVA_HOME=$GUIX_ENVIRONMENT
cmake -B build -S . -GNinja
cmake --build build
In the future, please provide a list of commands for minimal
reproduction like this, it would make it much easier.
The same error happens with gcc-toolchain.
However something like
#include <cstddef>
int main(void) {
size_t a = 0;
return 1;
}
compiles just fine…
As a last test I tried compiling manually:
c++ -std=gnu++14 -Ilinux/cc/ -I shared/cc linux/cc/KeyX11.cc
c++ -std=gnu++14 -Ilinux/cc/ -I shared/cc linux/cc/ILayer.cc
Which works fine (just the linker not finding main).
So I suggest that you figure out which extra compilation argument being
added by the build system is breaking it and what causes it to be there.
Hope that helps,
Noé
signature.asc
Description: PGP signature
