On Tue, Jan 10, 2017 at 07:17:06PM +0100, probono wrote: > 2017-01-08 19:30 GMT+01:00 Dirk Hohndel <[email protected]>: > >> On Jan 8, 2017, at 09:38, Anton Lundin <[email protected]> wrote: > >> Hi. > >> > >> I was about to test some stuff with the appimage-build and noted: > >> > >> strace -e chdir,open ./Subsurface-4.6-Beta-2-x86_64.AppImage > >> testdata/ostc4.xml |& grep -E 'ostc|chdir' > >> chdir("/tmp/.mount_xyn3Tx") = 0 > >> chdir("usr") = 0 > >> open("testdata/ostc4.xml", O_RDONLY) = -1 ENOENT (No such file or > >> directory) > >> > >> > >> The chdir'ing might make sense in some case, but in this case it really > >> doesn't. > > > > I think it needs to chdir in order to find its libraries, but I haven't > > looked > > at this in enough detail. > > The chdir is required only in cases in which binaries are not > relocatable at runtime (i.e., "/usr" is hardcoded at compile time, for > example for loading resources). If this is not the case (e.g., in the > case of Subsurface), then we should get away without chdir'ing.
I've played around with this for a bit and it's actually quite a bit more complicated than that. All the paths in AppRun.c are currently relative paths - so this needs a bit of work that goes beyond "just don't do that chdir". /D _______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
