Ricardo Wurmus <rek...@elephly.net> writes: > Nils Gillmann <niaster...@grrlz.net> writes: > >> Efraim Flashner <efr...@flashner.co.il> writes: >> >>> On Tue, 09 Feb 2016 02:31:51 +0100 >>> Nils Gillmann <niaster...@grrlz.net> wrote: >>> >>>> Leo Famulari <l...@famulari.name> writes: >>>> >>>> [...] >>>> [...] >>>> [...] >>>> [...] >>>> [...] >>>> [...] >>>> [...] >>>> [...] >>>> >>>> Thanks! >>>> >>>> But now as I did guix pull and installed it from there, and do >>>> not run it inside guix environment, I encounter an error I did >>>> not see coming as it worked in the environment. >>>> >>>> >>>> niasterisk@khazad-dum ~$ guix package -i lispf4 >>>> The following package will be installed: >>>> lispf4 0.0.0-1-174d876 >>>> /gnu/store/7rkw1rhn4ijap9b936waspki03260lpb-lispf4-0.0.0-1-174d876 >>>> >>>> 56 packages in profile >>>> niasterisk@khazad-dum ~$ lispf4 >>>> Can't open 'SYSATOMS' >>>> niasterisk@khazad-dum ~$ ls -al >>>> /gnu/store/7rkw1rhn4ijap9b936waspki03260lpb-lispf4-0.0.0-1-174d876/bin/ >>>> total 200 >>>> dr-xr-xr-x 2 root guixbuild 4096 Jan 1 1970 ./ >>>> dr-xr-xr-x 3 root guixbuild 4096 Jan 1 1970 ../ >>>> -r--r--r-- 3 root guixbuild 94972 Jan 1 1970 BASIC.IMG >>>> -r-xr-xr-x 7 root guixbuild 92088 Jan 1 1970 lispf4 >>>> -r--r--r-- 7 root guixbuild 2105 Jan 1 1970 SYSATOMS >>>> >>>> I checked ~/.guix-profile/bin/ and it's there, all three files. >>>> For what I know, SYSATOMS includes allowed commands, that's it. >>>> My guix checkout I develop with is in my home folder, permissions >>>> for my daily user and all checked in guix environment. >>>> >>>> Any Ideas? >>> >>> If you replace the install phase sometimes you have to change the >>> permissions >>> yourself. Try searching for #o555. >> >> Okay, I just tried #o555 and #o644 in individual builds for both >> files. Both builds produced the same mistake which currently >> keeps lispf4 from running ("can't open 'SYSATOMS'"). > > Could it be a search-path problem? Try running > > strace -f lispf4 > > to see where lispf4 looks for SYSATOMS and what the exact error is as it > tries to open the file. Does it find it at all? > > ~~ Ricardo >
I am not experienced with strace, to me it looks like on the line where SYSATOMS is opened there should be a path where is none. But it's in the same location as the executable lispf4. niasterisk@khazad-dum ~/projects/guix_project/guix [env]$ strace -f lispf4 execve("/gnu/store/3p8h4cy4zlb4kjwpswj6829qwdnp7qrv-profile/bin/lispf4", ["lispf4"], [/* 55 vars */]) = 0 brk(0) = 0x10e9000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3659529000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/gnu/store/gybk6iz6n659njzg56vqsy5bg7irk370-glibc-2.22/lib/tls/x86_64/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/gnu/store/gybk6iz6n659njzg56vqsy5bg7irk370-glibc-2.22/lib/tls/x86_64", 0x7ffcb1326080) = -1 ENOENT (No such file or directory) open("/gnu/store/gybk6iz6n659njzg56vqsy5bg7irk370-glibc-2.22/lib/tls/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/gnu/store/gybk6iz6n659njzg56vqsy5bg7irk370-glibc-2.22/lib/tls", 0x7ffcb1326080) = -1 ENOENT (No such file or directory) open("/gnu/store/gybk6iz6n659njzg56vqsy5bg7irk370-glibc-2.22/lib/x86_64/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/gnu/store/gybk6iz6n659njzg56vqsy5bg7irk370-glibc-2.22/lib/x86_64", 0x7ffcb1326080) = -1 ENOENT (No such file or directory) open("/gnu/store/gybk6iz6n659njzg56vqsy5bg7irk370-glibc-2.22/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300T\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0555, st_size=1111104, ...}) = 0 mmap(NULL, 3137880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f365900c000 mprotect(0x7f365910a000, 2093056, PROT_NONE) = 0 mmap(0x7f3659309000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xfd000) = 0x7f3659309000 close(3) = 0 open("/gnu/store/gybk6iz6n659njzg56vqsy5bg7irk370-glibc-2.22/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/gnu/store/n9ap5r8j6vw92ban7baisg4vswsmf299-gcc-4.9.3-lib/lib/tls/x86_64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/gnu/store/n9ap5r8j6vw92ban7baisg4vswsmf299-gcc-4.9.3-lib/lib/tls/x86_64", 0x7ffcb1326050) = -1 ENOENT (No such file or directory) open("/gnu/store/n9ap5r8j6vw92ban7baisg4vswsmf299-gcc-4.9.3-lib/lib/tls/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/gnu/store/n9ap5r8j6vw92ban7baisg4vswsmf299-gcc-4.9.3-lib/lib/tls", 0x7ffcb1326050) = -1 ENOENT (No such file or directory) open("/gnu/store/n9ap5r8j6vw92ban7baisg4vswsmf299-gcc-4.9.3-lib/lib/x86_64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/gnu/store/n9ap5r8j6vw92ban7baisg4vswsmf299-gcc-4.9.3-lib/lib/x86_64", 0x7ffcb1326050) = -1 ENOENT (No such file or directory) open("/gnu/store/n9ap5r8j6vw92ban7baisg4vswsmf299-gcc-4.9.3-lib/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p*\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0444, st_size=100848, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3659528000 mmap(NULL, 2185952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3658df6000 mprotect(0x7f3658e0c000, 2093056, PROT_NONE) = 0 mmap(0x7f365900b000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f365900b000 close(3) = 0 open("/gnu/store/gybk6iz6n659njzg56vqsy5bg7irk370-glibc-2.22/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\7\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0555, st_size=1952536, ...}) = 0 mmap(NULL, 3821248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3658a51000 mprotect(0x7f3658bec000, 2097152, PROT_NONE) = 0 mmap(0x7f3658dec000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19b000) = 0x7f3658dec000 mmap(0x7f3658df2000, 16064, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3658df2000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3659527000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3659526000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3659525000 arch_prctl(ARCH_SET_FS, 0x7f3659526700) = 0 mprotect(0x7f3658dec000, 16384, PROT_READ) = 0 mprotect(0x7f3659309000, 4096, PROT_READ) = 0 mprotect(0x7f365952b000, 4096, PROT_READ) = 0 rt_sigaction(SIGINT, {0x406f40, [INT], SA_RESTORER|SA_RESTART, 0x7f3658a84560}, {SIG_IGN, [], 0}, 8) = 0 mmap(NULL, 401408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f36594c3000 mmap(NULL, 401408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3659461000 brk(0) = 0x10e9000 brk(0x110c000) = 0x110c000 open("SYSATOMS", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, "Can't open 'SYSATOMS'\n", 22Can't open 'SYSATOMS' ) = 22 exit_group(1) = ? +++ exited with 1 +++ In lispf42.c I only find this with reference to SYSATOMS.. /* BELOW IS CODE THAT OPENS SYSATOMS AT RUNTIME SO YOU DON'T NEED */ /* TO ASSIGN IT. */ #ifdef FORTRAN_LIB o__1.oerr = 1; o__1.ounit = b_1.lunsys; o__1.ofnmlen = 8; o__1.ofnm = c_b98; o__1.orl = 0; o__1.osta = c_b5; o__1.oacc = 0; o__1.ofm = 0; o__1.oblnk = 0; i__1 = f_open(&o__1); #else i__1 = f4_open(b_1.lunsys, c_b98, "r"); #endif if (i__1 != 0) { goto L3; } goto L4; L3: #ifdef FORTRAN_LIB io___50.ciunit = b_1.lunuts; s_wsfe(&io___50); e_wsfe(); s_stop(c_b3, (ftnlen)0); #else fprintf(stderr, "Can't open 'SYSATOMS'\n"); exit(1); #endif /* READ SYSTEM CHARACTERS */ L4: rda1_(&b_1.lunsys, ich, &c__1, &a_1.nchtyp, &ieof); -- ng