The .snap folder that SNAP is trying to use and create during installation is protected on systems. E.g., systems which use CephFS. Hence standard installations such as:
can fail. I t would be better to place such files/folders in .config instead. The workaround here is to update the snap.conf file, but perhaps in new installations this could be improved by the SNAP developers.
I am still getting some errors from SNAP after updating the ~/.snap folder to ~/.esa_snap in snap.conf
The above change allows me start SNAP but I still get errors from SNAP of the form:
[raymondo@ui-01 bin]$ ./snap
org.h2.message.DbException: Log file error: “/home/raymondo/.snap/product-library/products.trace.db”, cause: “org.h2.message.DbException: Error while creating file “”/home/raymondo/.snap/product-library”" [90062-197]" [90034-197]
org.h2.message.DbException: Log file error: “/home/raymondo/.snap/product-library/products.trace.db”, cause: “org.h2.message.DbException: Error while creating file “”/home/raymondo/.snap/product-library”" [90062-197]" [90034-197]
org.h2.message.DbException: Log file error: “/home/raymondo/.snap/product-library/products.trace.db”, cause: “org.h2.message.DbException: Error while creating file “”/home/raymondo/.snap/product-library”" [90062-197]" [90034-197]
org.h2.message.DbException: Log file error: “/home/raymondo/.snap/product-library/products.trace.db”, cause: “org.h2.message.DbException: Error while creating file “”/home/raymondo/.snap/product-library”" [90062-197]" [90034-197]
org.h2.message.DbException: Log file error: “/home/raymondo/.snap/product-library/products.trace.db”, cause: “org.h2.message.DbException: Error while creating file “”/home/raymondo/.snap/product-library”" [90062-197]" [90034-197]
I.e., the product library still thinks that a .snap folder should be used. Does anyone know how to fix this?
I thing config is also not good name for this directory. This is too generic.
Maybe we name it in some future version esa_snap.
As alternative CephFS could rename there directories they use.
Thanks for the response. This is very useful I indeed missed to update the dir in the snap.properties file. Now it seems ok. As far as I can judge Ceph/CephFS is an up an coming storage management system. I am not sure how likely it is that they will update their .snap dir.
I heard that there was some beginning consensus that hidden software folders such as ESA’s .snap could perhaps be preferentially placed below a generic .config dir and that other software could do the same. Hence my comment, but I am not sure whether this will find any real traction (too early to tell). A .esa_snap would already be very useful as it less likely to cause a clash (I hope).
Ceph has been widely used by supercomputer sites for well over a decade, but the “snaps” are relatively recent (becoming “stable” in 2018). Not using a more specific name seems a bit lazy, but not surprising. It is best to avoid using non-standard directory names as it is all too easy to forget to update some rarely used script, scripts provided by 3rd parties may use hard-coded directory names. etc.
There has also been confusion over ESA SNAP and Ubuntu snap packages, which use ~/snap, ESA SNAP’s python interface (snappy) and other Python packages called snappy. This will only get worse as new packages also called SNAP appear. Renaming along the lines: ~snap --> ~/esa_snap, ~/.snap --> ~/.esa_snap, and snappy --> esa_snappy should minimize confusion. An option to create symbolic links for the old names so existing scripts can continue to be used would ease the transition.