Closed drbenmorgan closed 5 years ago
@pfranchini, I haven't added you yet as a reviewer, but if you have Singularity on the UCL systems, please try it out and feel free to comment here!
Do not know what Singularity is but will have a look. BTW, I am still stuck https://github.com/SuperNEMO-DBD/homebrew-cadfael/issues/69 Cheers
Just to clarify the purpose/review as requested by @yramachers, there's no need to do a full reinstall of brew
for the review. The primary things I want to check are:
Other comments/discussions welcome, but the above are the absolute minimum needed.
Tried it here at Warwick according to the manual (README) and all works fine with Singularity installed on the system. I didn't quite get why to start a brew shell inside the new singularity container shell since all executables already worked fine hence I didn't. Turns out that was pure luck since I went into the container with my system setup for falaise, i.e. all environment variables set correctly already.
A fresh terminal didn't have that. In that case (my second attempt) I had to set up the correct environment first with that brew shell after(!) I went into the container, just as the manual describes. Then all worked again just as expected. I could even compile the Sensitivity module without a hitch in that container (and didn't have to take compile precautions for QT5 on the cmake level either).
This might be me doing it wrong and installing something I didn't need to, but brew tap SuperNEMO-DBD/cadfael
failed with
==> ../configure --disable-debug --disable-dependency-tracking --disable-silent-rules --prefix=/unix/nemo3/users/
Last 15 lines from /home/cpatrick/.cache/Homebrew/Logs/glibc/01.configure:
checking for gnumsgfmt... no
checking for gmsgfmt... no
checking for msgfmt... msgfmt
checking version of msgfmt... 0.17, ok
checking for makeinfo... makeinfo
checking version of makeinfo... 4.13, ok
checking for sed... sed
checking version of sed... 4.2.1, ok
checking for gawk... gawk
checking version of gawk... 3.1.7, ok
checking if gcc -B/unix/nemo3/users/cpatrick/testSingularity/snemo-sdk/opt/binutils/bin/ is sufficient to build libc... no
checking for nm... nm
configure: error:
*** These critical programs are missing or too old: compiler
*** Check the INSTALL file for required versions.
READ THIS: https://github.com/Linuxbrew/brew/wiki/troubleshooting
Please do not report this issue to Homebrew/brew or Homebrew/core,
which support macOS only."
error: unknown option `list'
usage: git tag [-a|-s|-u <key-id>] [-f] [-m <msg>|-F <file>] <tagname> [<head>]
or: git tag -d <tagname>...
or: git tag -l [-n[<num>]] [<pattern>]
or: git tag -v <tagname>...
-l list tag names
-n[<n>] print <n> lines of each tag message
-d delete tags
-v verify tags
Tag creation options
-a annotated tag, needs a message
-m <msg> message for the tag
-F <FILE> message in a file
-s annotated and GPG-signed tag
-u <key-id> use another key to sign the tag
-f, --force replace the tag if exists
Tag listing options
--contains <commit> print only tags that contain the commit
error: unknown option `list'
usage: git tag [-a|-s|-u <key-id>] [-f] [-m <msg>|-F <file>] <tagname> [<head>]
or: git tag -d <tagname>...
or: git tag -l [-n[<num>]] [<pattern>]
or: git tag -v <tagname>...
-l list tag names
-n[<n>] print <n> lines of each tag message
-d delete tags
-v verify tags
Tag creation options
-a annotated tag, needs a message
-m <msg> message for the tag
-F <FILE> message in a file
-s annotated and GPG-signed tag
-u <key-id> use another key to sign the tag
-f, --force replace the tag if exists
Tag listing options
--contains <commit> print only tags that contain the commit
==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
https://docs.brew.sh/Analytics
==> Linuxbrew is run entirely by unpaid volunteers. Please consider donating:
https://github.com/Linuxbrew/brew#donations
==> Tapping supernemo-dbd/cadfael
Initialized empty Git repository in /unix/nemo3/users/cpatrick/testSingularity/snemo-sdk/Library/Taps/supernemo-dbd/homebrew-cadfael/.git/
remote: Enumerating objects: 40, done.
remote: Counting objects: 100% (40/40), done.
remote: Compressing objects: 100% (37/37), done.
remote: Total 40 (delta 4), reused 14 (delta 0), pack-reused 0
Unpacking objects: 100% (40/40), done.
Tapped 2 commands and 21 formulae (92 files, 140.7KB).
I'm just following the instructions in the README, so I think I am maybe not getting the PR version? I suspect the problem is not with anything you've done, but in what I'm doing!
@cherylepatrick, ahhh, this is why Homebrew is now getting annoying, albeit this is a mistake on my part. Try starting again, but this time set the following two environment variables in the session:
HOMEBREW_NO_AUTO_UPDATE=1
HOMEBREW_BUILD_FROM_SOURCE=1
It looks like it's been trying to update, thus using git, thus relying on newer git, thus trying to install git, thus trying to build glibc... (I'm guessing that this is a CentOS 6 system?)
Edit: I'll also add this to the README in this PR!
Correct about CentOS 6!
brew tap SuperNEMO-DBD/cadfael
Warning: Calling HOMEBREW_BUILD_FROM_SOURCE is deprecated! Use --build-from-source instead.
I tried brew tap --build-from-source SuperNEMO-DBD/cadfael
but it didn't like that either:
Error: invalid option: --build-from-source
Trying to figure out now...
The warning should be harmless. If you run
$ brew tap
It should show supernemo-dbd/homebrew
in the list (after it warns you yet again about having HOMEBREW_BUILD_FROM_SOURCE
set...)
Oh yeah! (supernemo-dbd/cadfael)
But Error: Unknown command: snemo-doctor
- carry on regardless?
O.k., that's expected as that commands in this PR. You can get the changes (inc. that command) with the following:
$ cd $(brew --repo supernemo-dbd/cadfael)
$ git checkout -b drbenmorgan-snemo-doctor-cmd master
$ git pull https://github.com/drbenmorgan/homebrew-cadfael.git snemo-doctor-cmd
$ cd back_where_you were
(I tried but unsurprisingly, it couldn't find snemo-install-sdk either, I assume for the same reason)
[cpatrick@pc133 testSingularity]$ brew tap
Warning: Calling HOMEBREW_BUILD_FROM_SOURCE is deprecated! Use --build-from-source instead.
homebrew/core
supernemo-dbd/cadfael
It should then run, but watch for the the issues that @pfranchini found in #69. If anything like that occurs, run
$ cat /proc/cpuinfo
and post the output here.
Thanks @drbenmorgan - we're getting there. I can run snemo-doctor
now - lots of warnings, not sure whether any are important. (Can post if would be helpful.)
BUT
Warning: Calling HOMEBREW_BUILD_FROM_SOURCE is deprecated! Use --build-from-source instead.
Warning: Calling HOMEBREW_BUILD_FROM_SOURCE is deprecated! Use --build-from-source instead.
error: You already have Formulae installed, SDK installs requires empty Cellar
I'm really sorry that I understand brew so little that these warnings just seem like gibberish to me. Doesn't seem immediately apparent to me that this is @pfranchini 's problem, but maybe?
Just in case:
[cpatrick@pc133 testSingularity]$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 67
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 5200+
stepping : 2
cpu MHz : 1000.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy retpoline
bogomips : 2004.16
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 67
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 5200+
stepping : 2
cpu MHz : 1000.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy retpoline
bogomips : 2004.16
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
And:
[cpatrick@pc133 testSingularity]$ brew snemo-doctor
Warning: Calling HOMEBREW_BUILD_FROM_SOURCE is deprecated! Use --build-from-source instead.
Please note that these warnings are just used to help the SuperNEMO maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!
Warning: git origin remote is Linuxbrew/brew.
Linuxbrew/brew has been merged into Homebrew/brew!
Linuxbrew/brew will no longer be updated.
The current git origin is:
https://github.com/Linuxbrew/brew.git
Please set the origin remote to point at the Homebrew/brew by running:
git -C "/unix/nemo3/users/cpatrick/testSingularity/snemo-sdk" remote set-url origin https://github.com/Homebrew/brew
Warning: You have HOMEBREW_BUILD_FROM_SOURCE set.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Discourse, Twitter or IRC. You are responsible for resolving any issues you
experience, as you are running this unsupported configuration.
Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.
Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/pkg-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/ncurses6-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/ncursesw6-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/curl-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/Exceptions-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/Random-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/xml2-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/gsl-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/Cast-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/GenericFunctions-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/Units-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/Geometry-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/icu-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/Evaluator-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/Matrix-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/root-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/libpng16-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/RandomObjects-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/RefCount-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/Utility-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/Vector-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/clhep-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/geant4-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/libpng-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/freetype-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/python3-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/python3.6-config
/unix/nemo2/users/cpatrick/CadfaelBrew/bin/python3.6m-config
Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
Unexpected header files:
/usr/local/include/attr_node_func.h
/usr/local/include/chk_file_sec.h
/usr/local/include/common_cmds.h
/usr/local/include/lib_ifl.h
/usr/local/include/lib_net.h
/usr/local/include/lib_utils.h
/usr/local/include/log_event.h
/usr/local/include/pbs_log.h
/usr/local/include/pbsnodes.h
/usr/local/include/qsub_functions.h
/usr/local/include/setup_env.h
/usr/local/include/trq_auth_daemon.h
/usr/local/include/u_lock_ctl.h
Warning: Your Homebrew's prefix is not /home/linuxbrew/.linuxbrew.
Some of Homebrew's bottles (binary packages) can only be used with the default
prefix (/home/linuxbrew/.linuxbrew).
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Discourse, Twitter or IRC. You are responsible for resolving any issues you
experience, as you are running this unsupported configuration.
Warning: Your Linux system is not supported by SuperNEMO, so checks on
the needed system packages cannot be performed. This does
not mean your system is missing these packages, but some
formulae may fail to install.
Warning: Your Linux system is not supported by SuperNEMO, or cannot be
fingerprinted using /etc/os-release or lsb_release:
ID: scientific
VERSION_ID: 6.10
PRETTY_NAME: Scientific Linux release 6.10 (Carbon)
SuperNEMO and Homebrew only have minimal requirements on the
actual Linux distribution, but some formulae or bottles may
fail to install.
I think (no promises) you won't run into the issues in #69 as the CPU should be supported by the system binutils.
The warnings are expected, except for those about scripts in /unix/nemo2/users/cpatrick/CadfaelBrew/bin
. I suspect that directory is in your PATH
and I would update PATH
to remove it. Since this is also a Brew install, there could well be clashes...
Cheers Ben. I updated the path and it got rid of a bunch of the doctor warnings, but no change on the install
[cpatrick@pc133 testSingularity]$ brew snemo-install-sdk
Warning: Calling HOMEBREW_BUILD_FROM_SOURCE is deprecated! Use --build-from-source instead.
Warning: Calling HOMEBREW_BUILD_FROM_SOURCE is deprecated! Use --build-from-source instead.
error: You already have Formulae installed, SDK installs requires empty Cellar
O.k., that's probably from the early mis-install. Do:
$ brew ls
and post the output here, then
$ brew rm --force $(brew ls)
...
$ brew snemo-install-sdk
[cpatrick@pc133 testSingularity]$ brew ls
Warning: Calling HOMEBREW_BUILD_FROM_SOURCE is deprecated! Use --build-from-source instead.
binutils curl linux-headers openssl patchelf pkg-config zlib
Yep, it tried to do the full binary install... All fine to remove!
Great! It's installing SOMETHING now - let's cross fingers! Thanks again for your help.
Well we got somewhere, I guess... installer was going ok then it got stuck on something called expat:
==> Installing supernemo-dbd/cadfael/bayeux dependency: expat
==> Downloading https://github.com/libexpat/libexpat/releases/download/R_2_2_6/expat-2.2.6.tar.bz2
==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/80314213/02cc62
######################################################################## 100.0%
==> ./configure --prefix=/unix/nemo3/users/cpatrick/testSingularity/snemo-sdk/Cellar/expat/2.2.6 --m
Last 15 lines from /home/cpatrick/.cache/Homebrew/Logs/expat/01.configure:
checking for off_t... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... yes
checking for docbook2x-man... no
checking for db2x_docbook2man... no
checking for docbook2man... docbook2man
configure: error: Your local docbook2man was found to work with SGML rather
than XML. Please install docbook2X and use variable DOCBOOK_TO_MAN to point
configure to command docbook2x-man of docbook2X.
Or use DOCBOOK_TO_MAN="xmlto man --skip-validation" if you have xmlto around.
You can also configure using --without-docbook if you can do without a man
page for xmlwf.
READ THIS: https://github.com/Linuxbrew/brew/wiki/troubleshooting
Please do not report this issue to Homebrew/brew or Homebrew/core,
which support macOS only."
Installing bayeux has failed!
Homebrew Bundle failed! 1 Brewfile dependency failed to install.
By the way here is the full text of that log expatconfig.txt
This is a CentOS annoyance if the system has certain things installed. I'll probably need to vendor the expat
formula, but for now, run
$ brew edit expat
this will pop open a editor with the expat formula in. Replace the line args << "--with-docbook" if build.head?
with args << "--without-docbook"
, save and exit.
To restart the install, the easiest thing to do is run (bit of a mouthful, but cut and paste should work!)
$ HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_BUILD_FROM_SOURCE=1 brew bundle install -v --file=$(brew --repo supernemo-dbd/cadfael)/cmd/Brewfiles/Linux-gcc7.brewfile
This is what snemo-install-sdk
runs behind the scenes, so just avoids you having to reinstall from scratch.
@drbenmorgan How on earth do you figure this out?! Install is back in progress, thank you.
Next drama: fontconfig
==> Installing supernemo-dbd/cadfael/bayeux dependency: fontconfig
==> Downloading https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.13.1.tar.bz2
######################################################################## 100.0%
==> autoreconf -iv
==> ./configure --disable-silent-rules --enable-static --with-add-fonts=/System/Library/Fonts,/Libra
==> make install RUN_FC_CACHE_TEST=false
Last 15 lines from /home/cpatrick/.cache/Homebrew/Logs/fontconfig/03.make:
Working on: /tmp/fontconfig-20190201-7983-1ph0391/fontconfig-2.13.1/doc/fontconfig-user.sgml
rm -f fontconfig-devel.txt; \
docbook2txt fontconfig-devel.sgml
Using catalogs: /etc/sgml/sgml-docbook-3.1-1.0-51.el6.cat
Using stylesheet: /usr/share/sgml/docbook/utils-0.6.14/docbook-utils.dsl#html
Working on: /tmp/fontconfig-20190201-7983-1ph0391/fontconfig-2.13.1/doc/fontconfig-devel.sgml
rm -f fontconfig-user.pdf; \
docbook2pdf fontconfig-user.sgml
/bin/sh: line 1: docbook2pdf: command not found
make[2]: *** [fontconfig-user.pdf] Error 127
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/tmp/fontconfig-20190201-7983-1ph0391/fontconfig-2.13.1/doc'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/tmp/fontconfig-20190201-7983-1ph0391/fontconfig-2.13.1/doc'
make: *** [install-recursive] Error 1
Same fix?
I think probably not EXACTLY the same fix, as the config looks slightly different but I think I figured out where to pass without-docbook
to ./configure
and now I feel like a boss. Let's see how it goes!
I spoke too soon, totally didn't work. No longer feel like a boss @drbenmorgan - sorry, I've changed it back like it was - any ideas?
IIRC, it’s something like ‘--without-docs’ for fontconfig. Try adding that like you did for the doc book arg...
Ah! I'll give it a try
Was --disable-docs
. Third time's the charm! On to the next component...
@cherylepatrick, the changes in #76 should fix the expat and fontconfig problems. No need for you to make any changes as your local build already has these 😄!
Note to self: this PR should be rebased on master
before merging.
Hi @drbenmorgan - back to this again (sorry for distraction/delay) and it's still being trouble. I ran
HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_BUILD_FROM_SOURCE=1 brew bundle install -v --file=$(brew --repo supernemo-dbd/cadfael)/cmd/Brewfiles/Linux-gcc7.brewfile
(having fixed fontconfig - for reference it was disable-docs) and it looks like it has worked up to Bayeux but not installed Falaise? Do I need to do something else? Last output was from bayeux, and if I try running brew test falaise
I get
[cpatrick@pc133 testSingularity]$ brew test falaise
Warning: Calling HOMEBREW_BUILD_FROM_SOURCE is deprecated! Use --build-from-source instead.
Error: Testing requires the latest version of supernemo-dbd/cadfael/falaise
Any idea where my falaise is?
Hmm, if brew ls
doesn't show falaise
, try HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_BUILD_FROM_SOURCE=1 brew install falaise --cc=gcc-7
followed by brew test falaise
I'm not sure why it would have not installed Falaise, but let me check.
Ahhh, I'm a fool, the Brewfile
doesn't have an brew
stanza for falaise
, that's why....
I'll update, but my previous comment will at least get you to the point of a working falaise installation!
Ah! Glad I am not going crazy here. Running the command you sent now and it looks like it is installing. Cross fingers!
I think we are winning! Falaise is OK now so I can actually try and test singularity...
Good news - singularity container has built! Bad news: it doesn't work. Is this something I'm going to need to chase the UCL sysadmins about?
[cpatrick@pc133 testSingularity]$ singularity exec falaise.simg brew test falaise
WARNING: Non existent mount point (file) in container: '/var/singularity/mnt/final/etc/localtime'
FATAL: kernel too old
I tried to find out my kernel version on my crummy old UCL PC:
[cpatrick@pc133 testSingularity]$ uname -a
Linux pc133.hep.ucl.ac.uk 2.6.32-754.10.1.el6.x86_64 #1 SMP Wed Jan 16 03:41:20 CST 2019 x86_64 x86_64 x86_64 GNU/Linux
I guess it is CentOS 6. It might be that I can get it upgraded or use someone else's PC that's running CentOS 7? Will beg for help from HEP computing people tomorrow.
PS is anyone testing this on CCLyon? @emchauve or @lemiere ? Or should I be trying that too...?
Yeah, that looks CentOS6-ish (and I used Ubuntu 18 for the container...). CentOS7 should work, but to confirm, you could also try getting the base CentOS7 Singularity image:
$ singularity pull docker://supernemo/falaise-centos7-base
and run that (the .simg
file will be falaise-centos7-base
in this case). If that still gives the same error, try the centos6 variant:
$ singularity pull docker://supernemo/falaise-centos7-base
These don't have falaise
in, but you should be able to run. I'll then update the main image to use the newest compatible kernel!
If you can try at CCLyon, that'd be great. You might get the same kernel issue if CentOS6 is there, but if not I think @emchauve had some issues before because of the /afs
home areas. I think I know how to fix that, but let's sort the kernel issue first.
OK! I tried a CentOS7 machine and as far as I could tell, the falaise test on the singularity image worked just fine.
[cpatrick@pc209 testSingularity]$ singularity exec falaise.simg brew test falaise
error: could not lock config file /opt/supernemo/Homebrew/.git/config: Permission denied
Warning: Calling HOMEBREW_BUILD_FROM_SOURCE is deprecated! Use --build-from-source instead.
Testing supernemo-dbd/cadfael/falaise
==> /opt/supernemo/Cellar/falaise/3.3.0/bin/flsimulate -o test.brio
==> /opt/supernemo/Cellar/falaise/3.3.0/bin/flreconstruct -i test.brio -p urn:snemo:demonstrator:reconstruction:1.0.0 -o test.root
(I don't see any test.brio or test.root file, though... should I?)
So if I understand correctly, I've managed the basic test of the native install and the singularity install now on the UCL machines. Great!
A few comments on the documentation:
singularity exec
? I can try and play with this, but we might do well to document it somewhere. Not necessarily here.That's all, I think! I can try and get a singularity image going on CCLyon later. Hope this is helpful, and thanks for all the assistance @drbenmorgan .
Managed to run the singularity image on CCLyon and run flsimulate --help
OK. brew test falaise
failed, but I don't know if that is to be expected? It's not clear to me what directories I can access from within the singularity container to actually be able to create any files. This is just me not knowing how to work singularity, I think, not anything to do with SuperNEMO.
Hi @cherylepatrick, is the error something along the lines of:
==> /opt/supernemo/Cellar/falaise/3.3.0/bin/flsimulate -o test.brio
Error: supernemo-dbd/cadfael/falaise: failed
An exception occurred within a child process:
Errno::EROFS: Read-only file system @ dir_s_mkdir - /pbs
If so, that's down to the CCLyon home area starting under /pbs
rather than `/home'. I need to add that path into the image so it can access the user's home area. What system directories you have access to in the container are a bit dependent on the local setup, so I'll need to compare the CCLyon config with the one we have at Warwick (which I know works!).
However, the important thing is you can run flsimulate
so the basic application functionality seems o.k.
Yep, that is what the error was, so it sounds like it's under control. Hurray! Let me know if there's anything I can look up about the CCLyon config. But meanwhile I am going to go ahead and approve, if I can figure out how.
CCLyon directories are semi-sorted, so noting here for my reference and for anyone who wants to try it, including in batch jobs) Documentation on Singularity at Lyon indicates they support bind mounts, which I've confirmed have worked. What you should be able to do at Lyon is run:
$ singularity shell --bind /sps:/sps --bind $HOME:/srv falaise.simg
The full /sps
area is then visible in the container, but you have to cd
to /srv
to see your home area (--bind $HOME:$HOME
doesn't seem to work). The documentation at Lyon also covers running singularity in batch jobs, so I will point to that in the first instance.
This updates the primary documentation and tools for installing the SuperNEMO Offline Software to:
snemo-sh
command that drops user into a shell session configured to run or develop the software with no further setup neededI've selected reviewers based on the prior discussions on testing out Singularity, as I know you can run this. I think the primary things to review are the content of the README to see if this is clear, and if the Singularity instructions don't work on UCL, Warwick, and CC-Lyon.
Note that the documents are written assuming this PR is merged, so running the singularity container will require you to do:
If you do try this out, it's possible that some steps of the Singularity workflow will fail. Please post this errors here and I'll fix. The Docker/Singularity scripts will eventually be hosted in SuperNEMO-DBD/snemo-containers.