Il giorno mer 12 ott 2022 alle 21:23:03 +0200, Jonas Hahnfeld
<hah...@hahnjo.de> ha scritto:
On Wed, 2022-10-12 at 00:30 +0200, Federico Bruni wrote:
Hi all
I think I've already seen discussions about this.
Can you please remind how to work around this error?
Guile looks at file timestamps and the .go files must always be newer
than their .scm counterparts. Guile's build system should take care of
that during installation, but maybe flatpak copies around some files
afterwards? If you have the chance, either preserve the timestamps, or
copy the lib/ directory after share/. As a last resort, you may also
touch all .go files, but that's more of a hack...
Jonas
Yes, I think flatpak copies files somewhere else after the build and
probably timestamps change. Here's an example:
[📦 org.frescobaldi.Frescobaldi test]$ ls --full-time
/app/share/guile/2.2/ice-9/psyntax-pp.scm
-rw-r--r--. 2 nfsnobody nfsnobody 184880 2022-04-03 22:54:41.415067967
+0200 /app/share/guile/2.2/ice-9/psyntax-pp.scm
[📦 org.frescobaldi.Frescobaldi test]$ ls --full-time
/app/lib/guile/2.2/ccache/ice-9/psyntax-pp.go
-rw-r--r--. 2 nfsnobody nfsnobody 506061 2022-04-03 22:54:41.012067973
+0200 /app/lib/guile/2.2/ccache/ice-9/psyntax-pp.go
Touching the .go files is not allowed by flatpak.
I tried this and got an error:
find /app/lib/guile/2.2/ -name *.go -exec touch '{}' \;
[...]
touch: cannot touch '/app/lib/guile/2.2/ccache/web/uri.go': Permission
denied
I'll have to find a solution when building the flatpak.
Waiting for minutes or hours while CPU hits 100% is not an option.