Le 08/11/2022 à 11:45, Sergiu Ivanov a écrit :
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.
Thanks for your idea but no luck, still the same error with glibc added :-/ Emmanuel
- HTH, Sergiu Emmanuel Medernach <[email protected]> [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
