unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Error using gcc with trivial-build-system
@ 2022-11-08 10:23 Emmanuel Medernach
  2022-11-08 10:45 ` Sergiu Ivanov
  2022-11-08 14:10 ` Tobias Geerinckx-Rice
  0 siblings, 2 replies; 9+ messages in thread
From: Emmanuel Medernach @ 2022-11-08 10:23 UTC (permalink / raw)
  To: help-guix

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



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-11-09  7:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-08 10:23 Error using gcc with trivial-build-system Emmanuel Medernach
2022-11-08 10:45 ` Sergiu Ivanov
2022-11-08 10:58   ` Emmanuel Medernach
2022-11-08 11:39     ` Wojtek Kosior via
2022-11-08 13:01       ` Emmanuel Medernach
2022-11-08 14:10 ` Tobias Geerinckx-Rice
2022-11-08 14:48   ` Emmanuel Medernach
2022-11-08 21:16     ` zimoun
2022-11-09  7:18       ` Emmanuel Medernach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).