Hi, I have little experience with Guix packages, but I ran into a similar issue using guix shell --pure recently, and I believe that you need to add glibc to your dependencies.
I suppose that guix shell works for you because you already have glibc available in the active profile. I'd expect guix shell --pure to fail with the same error. - HTH, Sergiu Emmanuel Medernach <emmanuel.medern...@iphc.cnrs.fr> [2022-11-08T11:23:16+0100]: > Hello Guix, > > I have a local package with a compile script that > I need to add to our local GUIX packages. > > I tried to use trivial-build-system with > gcc-toolchain input, all works well when I compile > it manually in a 'guix shell' but when I try to > define a package I ran into this error: > > ld: cannot find crt1.o: No such file or directory > ld: cannot find crti.o: No such file or directory > collect2: error: ld returned 1 exit status > > I cannot produce correct binaries with > gcc-toolchain, here is a minimal package > definition with the above problem. Could you > please tell me how to solve this problem ? > > (define-public SimpleTest > (package > (name "SimpleTest") > (version "0.0.0") > (source > (origin > (method url-fetch) > (uri ".../simpletest.tgz") > (sha256 > (base32 "0nx8dgs5n4s1alp8lnp7a96czdll8bb7ljbg152yk7m0mr07728d")))) > (inputs `(("gcc-toolchain" ,gcc-toolchain-9) > ("gzip" ,gzip) > ("tar" ,tar))) > (build-system trivial-build-system) > (arguments > `(#:modules > ((guix build utils)) > #:builder > (begin > (use-modules (guix build utils)) > > (let* ((source (assoc-ref %build-inputs "source")) > (out (assoc-ref %outputs "out")) > (gzip (assoc-ref %build-inputs "gzip")) > (gunzip-bin (string-append gzip "/bin/gunzip")) > (tar (assoc-ref %build-inputs "tar")) > (tar-bin (string-append tar "/bin/tar")) > (gcc-dir (assoc-ref %build-inputs "gcc-toolchain")) > (gcc-bin (string-append gcc-dir "/bin/gcc"))) > > (let* ((packages (alist-delete "source" %build-inputs)) > (packages-path (map cdr packages))) > (setenv > "PATH" > (apply > string-append > (getenv "PATH") ":" > (map (lambda (p) (string-append p "/bin:")) > packages-path)))) > > ;; (setenv "GCC_EXEC_PREFIX" gcc-dir) > ;; gcc: fatal error: cannot execute 'cc1': execvp: No such > file or directory > > (display (list "gcc-bin" gcc-bin)) (newline) > > (mkdir-p out) (chdir out) > (copy-file source "simpletest.tar.gz") > (invoke gunzip-bin "simpletest.tar.gz") > (invoke tar-bin "xvf" "simpletest.tar") > (delete-file "simpletest.tar") > (chdir "simpletest") > (invoke gcc-bin "simpletest.c" "-o" "simpletest") > > #t)))) > > (synopsis "Simple Test") > (description "Simple Test") > (home-page "None") > (license license:gpl3+))) > > Best regards, > > Emmanuel Medernach