laurent.orseau
2020-8-9 17:15:29

does compile-zos compile the dependencies too?


mflatt
2020-8-9 17:43:08

No, but compile-collection-zos and compile-dierctory-zos do. That’s not at all apparent from the documentation, and I’ll fix the docs.

Meanwhile, managed-compile-zo is the main dependency-following function, also in its make-caching-managed-compile-zo form. That’s what compile-collection-zos and compile-dierctory-zos use.


laurent.orseau
2020-8-9 17:50:15

I see, thank you


laurent.orseau
2020-8-9 18:16:29

compile-directory-zos does go through dependencies, but a little too much now: By compiling a directory where I have rwx permissions, it cascades into directories where I don’t have write permission, and it fails while trying to create a subdirectory: /home/laurent/.racket/quickscript/user-scripts (execute write read) checking: /home/laurent/.racket/quickscript/user-scripts/add-frame-child.rkt checking: /usr/share/racket/pkgs/errortrace-lib/errortrace/errortrace-key.rkt failed reading /usr/share/racket/pkgs/errortrace-lib/errortrace/compiled/drracket/errortrace/errortrace-key_rkt.dep old version #f for /usr/share/racket/pkgs/errortrace-lib/errortrace/errortrace-key.rkt... maybe-compile-zo starting /usr/share/racket/pkgs/errortrace-lib/errortrace/errortrace-key.rkt no source hash: /usr/share/racket/pkgs/errortrace-lib/errortrace/errortrace-key.rkt compiling /usr/share/racket/pkgs/errortrace-lib/errortrace/errortrace-key.rkt [ERROR] make-directory: cannot make directory path: /usr/share/racket/pkgs/errortrace-lib/errortrace/compiled/drracket/ system error: Permission denied; errno=13 How does raco make do that correctly then?


mflatt
2020-8-9 18:42:05

You may be seeing an interaction with DrRacket trying to compile files. Do you see the same thing if debugging is disabled in DrRacket?


mflatt
2020-8-9 18:42:38

More generally raco make only avoids the problem if modules are up-to-date where you can’t write.


jjsimpso
2020-8-9 21:11:20

I’ve run into something that looks like it could be a bug in Racket CS. I have a mutable hash table with thousands of entries, but calling (hash-copy (expression that returns table)) returns a table with only the first 32 entries. I wasn’t seeing this behavior with BC.


soegaard2
2020-8-9 21:13:08

That does sound like a bug. File a report here. If you can, include an example. https://github.com/racket/racket/issues


jjsimpso
2020-8-9 21:19:41

Ok, let me see if I can duplicate it with a minimal example.


jjsimpso
2020-8-9 21:28:21