Hello, We are trying to build a package for intel onepi fortran compiler. The sources are installed through a script "install" (/bin/sh) which calls a binary bootstrapper which allows to download the files and install them Fisrt, launching the script as a standard user is OK.
Writing a scm file, we can run the install script but when calling the boostrapper binary ends with the following error message "no such file or directory". Adding a phase to chmod this binary is OK, so the file is in the supposed directory. We have tried to export HOME and USER environement variables but without any effect. Has anyone encountered this kind of error ? I join the package Thank you very much in advance for any help ... Best regards Céline ----------------------------------------------------------------------------------------- guix build -f oneapi.scm returns phase `set-paths' succeeded after 1.3 seconds starting phase `install-locale' using 'en_US.utf8' locale for category "LC_ALL" phase `install-locale' succeeded after 0.0 seconds starting phase `unpack' phase `unpack' succeeded after 0.9 seconds starting phase `bootstrap' no 'configure.ac' or anything like that, doing nothing phase `bootstrap' succeeded after 0.0 seconds starting phase `patch-usr-bin-file' phase `patch-usr-bin-file' succeeded after 0.0 seconds starting phase `patch-source-shebangs' patch-shebang: ./l_fortran-compiler_p_2022.0.1.70_offline.sh: changing `/bin/sh' to `/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/sh' phase `patch-source-shebangs' succeeded after 5.2 seconds starting phase `patch-generated-file-shebangs' phase `patch-generated-file-shebangs' succeeded after 0.0 seconds starting phase `extract-package' Extracted to /tmp/guix-build-intel_oneapi-2022.0.1.70.drv-0/l_fortran-compiler_p_2022.0.1.70_offline phase `extract-package' succeeded after 6.3 seconds starting phase `patch-more-shebangs' phase `patch-more-shebangs' succeeded after 0.0 seconds starting phase `install' ./install.sh: line 34: /tmp/guix-build-intel_oneapi-2022.0.1.70.drv-0/l_fortran-compiler_p_2022.0.1.70_offline/bootstrapper: No such file or directory error: in phase 'install': uncaught exception: %exception #<&invoke-error program: "sh" arguments: ("./install.sh" "--silent" "--eula accept") exit-status: 127 term-signal: #f stop-signal: #f> phase `install' failed after 0.0 seconds command "sh" "./install.sh" "--silent" "--eula accept" failed with status 127 -- Céline Acary-Robert LJK[Scalde/AirSea]/GRICAD/MaiMoSiNE 04 57 42 17 89
(use-modules ((guix licenses) #:prefix license:) (gnu packages) (guix packages) (guix utils) (guix download) (guix build-system gnu) (gnu packages maths) (gnu packages gcc) (gnu packages cmake) (gnu packages base) (gnu packages bash) (gnu packages ssh) (gnu packages gtk) (gnu packages freedesktop) (gnu packages ncurses) (gnu packages nss) (gnu packages xorg) (gnu packages xdisorg) (gnu packages gl) (gnu packages pkg-config) (gnu packages compression) (gnu packages lxqt) (gnu packages gnome)) (define-public oneapi (package (name "intel_oneapi") (version "2022.0.1.70") (source (origin (method url-fetch) (uri (string-append "https://registrationcenter-download.intel.com/akdlm/irc_nas/18436/l_fortran-comp$ (sha256 (base32 "1lah7y9zhvd8vrahchvk7prka9q8wz88pbbczppvym1mz428mcic")))) (build-system gnu-build-system) (arguments '(#:tests? #f #:phases (modify-phases %standard-phases (delete 'configure) (delete 'check) (delete 'build) (add-before 'install 'extract-package (lambda _ ;; simply extract the package into the build directory (chmod "l_fortran-compiler_p_2022.0.1.70_offline.sh" #o755) (invoke "./l_fortran-compiler_p_2022.0.1.70_offline.sh" "--extract-only" "--silent" ;;"--extract-folder opt/intel/" "-a" "--install-dir opt/intel" "--download-cache opt/in$ ;;"--download-dir opt/intel/tmp" "--log-dir opt/intel" "--silent" "--eula accept" ))) (add-after 'extract-package 'patch-more-shebangs (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) (substitute* '("l_fortran-compiler_p_2022.0.1.70_offline/install.sh") (("/bin/sh") (string-append bash "/bin/sh")))))) (replace 'install (lambda _ ;; install the package with the provided installer. (chmod "l_fortran-compiler_p_2022.0.1.70_offline/install.sh" #o777) (chmod "l_fortran-compiler_p_2022.0.1.70_offline/bootstrapper" #o777) (chdir "l_fortran-compiler_p_2022.0.1.70_offline") (find-files ".") (invoke "sh" "./install.sh" "--silent" "--eula accept" ;;"--install-dir ./opt/intel" "--download-cache ./opt/intel/tmp" ;;"--download-dir ./opt/intel/tmp" "--log-dir ./opt/intel/logs" "--ignore-errors" ))) ))) (inputs (list bash gtk+ mesa lxqt zlib cmake gcc)) (native-inputs (list pkg-config bash)) (propagated-inputs ;; These two libraries are in 'Requires.private' in libgit2.pc. (list libnotify xdg-utils ncurses nss libxcb libdrm gtk+ mesa lxqt zlib)) (home-page "https://www.intel.com/content/www/us/en/developer/tools/oneapi/overview.html") (synopsis "Intel OneAPI HPC tools") (description "C and fortran intel compilers, MPI suite etc .. ") (license #f))) oneapi