[gelöst] Singularity: golang not found

Antworten
SirTux
Beiträge: 607
Registriert: 05 Feb 2011, 18:37

[gelöst] Singularity: golang not found

Beitrag von SirTux »

Hi,

ich versuche ein opsi-Paket für Singularity zu bauen. So sieht mein Build-Sektion aus:

Code: Alles auswählen

[ShellInAnIcon_install_singularity]
set -x
rm -r /tmp/singularity/
tar -xf %ScriptPath%/singularity-$version$.tar.gz -C /tmp/
if [ $? -ne 0 ]; then EXITCODE=1; fi
cd /tmp/singularity/
if [ $? -ne 0 ]; then EXITCODE=1; fi
bash mconfig
if [ $? -ne 0 ]; then EXITCODE=1; fi
cd builddir/
if [ $? -ne 0 ]; then EXITCODE=1; fi
make
if [ $? -ne 0 ]; then EXITCODE=1; fi
make install
exit $?
Leider findet er golang nicht:

Code: Alles auswählen

212)     [7] [Aug 05 15:19:51:958] [singularity-container]           + rm -r /tmp/singularity/
(213)     [7] [Aug 05 15:19:51:958] [singularity-container]           + tar -xf /media/opsi_depot/singularity-container/singularity-3.6.0.tar.gz -C /tmp/
(214)     [7] [Aug 05 15:19:51:958] [singularity-container]           + '[' 0 -ne 0 ']'
(215)     [7] [Aug 05 15:19:51:958] [singularity-container]           + cd /tmp/singularity/
(216)     [7] [Aug 05 15:19:51:958] [singularity-container]           + '[' 0 -ne 0 ']'
(217)     [7] [Aug 05 15:19:51:958] [singularity-container]           + bash mconfig
(218)     [7] [Aug 05 15:19:51:958] [singularity-container]           Configuring for project `singularity' with languages: C, Golang
(219)     [7] [Aug 05 15:19:51:958] [singularity-container]           => running pre-basechecks project specific checks ...
(220)     [7] [Aug 05 15:19:51:958] [singularity-container]           => running base system checks ...
(221)     [7] [Aug 05 15:19:51:958] [singularity-container]            checking: host C compiler... cc
(222)     [7] [Aug 05 15:19:51:958] [singularity-container]            checking: host C++ compiler...
(223)     [7] [Aug 05 15:19:51:958] [singularity-container]           c++
(224)     [7] [Aug 05 15:19:51:958] [singularity-container]            checking: host Go compiler (at least version 1.13)... not found!
(225)     [7] [Aug 05 15:19:51:958] [singularity-container]           mconfig: could not complete configuration
(226)     [7] [Aug 05 15:19:51:958] [singularity-container]           + '[' 1 -ne 0 ']'
(227)     [7] [Aug 05 15:19:51:958] [singularity-container]           + EXITCODE=1
(228)     [7] [Aug 05 15:19:51:958] [singularity-container]           + cd builddir/
(229)     [7] [Aug 05 15:19:51:958] [singularity-container]           + '[' 0 -ne 0 ']'
(230)     [7] [Aug 05 15:19:51:958] [singularity-container]           + make
(231)     [7] [Aug 05 15:19:51:958] [singularity-container]           make: *** No targets specified and no makefile found.  Stop.
(232)     [7] [Aug 05 15:19:51:958] [singularity-container]           + '[' 2 -ne 0 ']'
(233)     [7] [Aug 05 15:19:51:958] [singularity-container]           + EXITCODE=1
(234)     [7] [Aug 05 15:19:51:958] [singularity-container]           + make install
(235)     [7] [Aug 05 15:19:51:958] [singularity-container]           make: *** No rule to make target 'install'.  Stop.
(236)     [7] [Aug 05 15:19:51:958] [singularity-container]           + exit 2
So sieht es aus, wenn es auf dem gleichen System manuell ausgeführt wurde:

Code: Alles auswählen

Configuring for project `singularity' with languages: C, Golang
=> running pre-basechecks project specific checks ...
=> running base system checks ...
 checking: host C compiler... cc
 checking: host C++ compiler... c++
 checking: host Go compiler (at least version 1.13)... /usr/bin/go
 checking: host C compiler option -Wall... yes
 checking: host C compiler option -Werror... yes
 checking: host C compiler option -Wfatal-errors... yes
 checking: host C compiler option -Wno-unknown-warning-option... yes
 checking: host C compiler option -Wstrict-prototypes... yes
 checking: host C compiler option -Wpointer-arith... yes
 checking: host C compiler option -Wbad-function-cast... yes
 checking: host C compiler option -Woverlength-strings... yes
 checking: host C compiler option -Wframe-larger-than=2047... yes
 checking: host C compiler option -Wno-sign-compare... yes
 checking: host C compiler option -Wclobbered... yes
 checking: host C compiler option -Wempty-body... yes
 checking: host C compiler option -Wmissing-parameter-type... yes
 checking: host C compiler option -Wtype-limits... yes
 checking: host C compiler option -Wunused-parameter... yes
 checking: host C compiler option -Wunused-but-set-parameter... yes
 checking: host C compiler option -Wno-discarded-qualifiers... yes
 checking: host C compiler option -Wno-incompatible-pointer-types... yes
 checking: host C compiler option -pipe... yes
 checking: host C compiler option -fmessage-length=0... yes
 checking: host C compiler option -fPIC... yes
 checking: host `ar' path... ar
 checking: host `ld' path... ld
 checking: host `ranlib' path... ranlib
 checking: host `objcopy' path... objcopy
 checking: target C compiler... cc
 checking: target C++ compiler... c++
 checking: target `ar' path... ar
 checking: target `ld' path... ld
 checking: target `ranlib' path... ranlib
 checking: target `objcopy' path... objcopy
 checking: host compiles static binaries... yes
 checking: target compiles static binaries... yes
 checking: host os type... unix
 checking: host architecture... x86_64
 checking: target architecture... x86_64
 checking: host architecture word size... 64
 checking: target architecture word size... 64
 checking: project version... 3.6.0
 checking: project short version... 3.6.0
=> running post-basechecks project specific checks ...
 checking: namespace: CLONE_NEWPID... yes
 checking: namespace: CLONE_FS... yes
 checking: namespace: CLONE_NEWNS... yes
 checking: namespace: CLONE_NEWUSER... yes
 checking: namespace: CLONE_NEWIPC... yes
 checking: namespace: CLONE_NEWNET... yes
 checking: namespace: CLONE_NEWUTS... yes
 checking: namespace: CLONE_NEWCGROUP... yes
 checking: feature: NO_NEW_PRIVS... yes
 checking: feature: MS_SLAVE... yes
 checking: feature: MS_REC... yes
 checking: feature: MS_PRIVATE... yes
 checking: user capabilities... yes
 checking: header linux/securebits.h... yes
 checking: header linux/capability.h... yes
 checking: libseccomp+headers... yes
 checking: cryptsetup... yes
=> generating fragments ...
=> building Makefile ...
=> generating singularity.spec ...
=> project singularity setup with :
    - host arch: x86_64
    - host wordsize: 64-bit
    - host C compiler: cc
    - host Go compiler: /usr/bin/go
    - host system: unix
      ---
    - target arch: x86_64
    - target wordsize: 64-bit
    - target C compiler: cc
      ---
    - config profile: release
      ---
    - SUID install: yes
    - Network plugins: yes
      ---
    - verbose: no
      ---
    - cryptsetup: /sbin/cryptsetup
      ---
    - version: 3.6.0
=> /tmp/singularity/builddir/Makefile ready, try:
   $ cd /tmp/singularity/builddir
   $ make
Hat jemand eine Idee?

Viele Grüße,
Stefan

EDIT: Verwendet wird opsi-linux-client-agent 4.1.1.0-3 unter Ubuntu 20.04
Zuletzt geändert von SirTux am 12 Aug 2020, 23:43, insgesamt 1-mal geändert.
SirTux
Beiträge: 607
Registriert: 05 Feb 2011, 18:37

Re: Singularity: golang not found

Beitrag von SirTux »

Ok ich habe mal etwas tiefer gegraben. Der Check ist:

Code: Alles auswählen

go run /tmp/singularity/mlocal/checks/version.go go1.13
Die Ausgabe in der ShellIAnIcon ist:

Code: Alles auswählen

build cache is required, but could not be located: GOCACHE is not defined and neither $XDG_CACHE_HOME nor $HOME are defined
SirTux
Beiträge: 607
Registriert: 05 Feb 2011, 18:37

Re: Singularity: golang not found

Beitrag von SirTux »

So funktionierts dann:

Code: Alles auswählen

[ShellInAnIcon_install_singularity]
set -x
EXITCODE=0
export HOME=/tmp
rm -r /tmp/singularity/
tar -xf %ScriptPath%/singularity-$version$.tar.gz -C /tmp/
if [ $? -ne 0 ]; then EXITCODE=1; fi
cd /tmp/singularity/
if [ $? -ne 0 ]; then EXITCODE=1; fi
bash mconfig
if [ $? -ne 0 ]; then EXITCODE=1; fi
cd builddir/
if [ $? -ne 0 ]; then EXITCODE=1; fi
make
if [ $? -ne 0 ]; then EXITCODE=1; fi
make install
exit $EXITCODE
Antworten