pocmatos
2018-12-11 11:35:04

All, I need to draw some data structure illustrations. The obvious Latex solution for this problem is usually Tikz. Absolutely amazing tool, hate the language though. Have to relearn it each time I need to use it. Is there anything like this in Racket? It looks like pict is somehow going in this direction. Is it my best bet?


diego
2018-12-11 12:50:09

How about Graphviz or PlantUML? Pretty easy to automatically generate diagram definitions.


pocmatos
2018-12-11 12:53:01

Never looked at those (used graphviz for graph generation using dot) but certainly not plantuml. Will take a look.


pocmatos
2018-12-11 14:46:29

@samth following up a chat a few days ago about building racket and racketcs in the same build, cd racket/src; ./configure; make; make cs does not seem to work.


pocmatos
2018-12-11 14:46:42

Take a look, if possible, at the end of : https://travis-ci.org/LinkiTools/racket/jobs/466507986


pocmatos
2018-12-11 14:47:07
make[7]: Entering directory `/home/travis/build/LinkiTools/racket/racket/src/cs'
cd ../thread; make RACO=" -N raco -l- raco" thread-src
make[8]: Entering directory `/home/travis/build/LinkiTools/racket/racket/src/thread'
N raco -l- raco make ../expander/bootstrap-run.rkt
make[8]: N: Command not found
make[8]: [thread-src] Error 127 (ignored)
make thread-src-generate
make[9]: Entering directory `/home/travis/build/LinkiTools/racket/racket/src/thread'
../expander/bootstrap-run.rkt -t main.rkt --submod main --check-depends ../cs/compiled/thread-dep.rktd ++depend-module ../expander/bootstrap-run.rkt --depends ../cs/compiled/thread-dep.rktd --makefile-depends compiled/thread.rktl ../cs/compiled/thread.d -c ../cs/compiled/cache-src -k ../.. -s -x ++direct pthread  -o ../cs/compiled/thread.rktl
make[9]: execvp: ../expander/bootstrap-run.rkt: Permission denied
make[9]: *** [thread-src-generate] Error 127
make[9]: Leaving directory `/home/travis/build/Link

pocmatos
2018-12-11 14:47:46

Anyone else tried this before? I am really only interested in the C part - which is the only interesting part for coverity.


mflatt
2018-12-11 14:54:25

I think Sam meant make && make cs in the repo top-level directory, which is also what I do. The sequence cs racket/src; ./configure --enable-cs; make; make cs is also meant to work, but I haven’t tried that (and can’t try just at the moment).


pocmatos
2018-12-11 14:57:08

Ah, yes, that makes sense. I will give it a try. Thanks.


pocmatos
2018-12-11 15:01:28

Looks like its working after cloning your chez repo as well.


mflatt
2018-12-11 15:03:35

Ah, right. Hopefully the configure script alerted you to do that, though.


mflatt
2018-12-11 15:04:54

I should make the cs target tell you to configure with --enable-cs, assuming that works.


pocmatos
2018-12-11 15:07:56

doesn’t actually work, there’s some missing Makefile rule: make[6]: *** No rule to make target '/home/pmatos/Projects/LT-racket/racket/src/cs/racket.so'. Stop.


pocmatos
2018-12-11 15:08:13

Don’t really want to bother you with this because it’s just so I can run coverity on both racket builds.


pocmatos
2018-12-11 15:08:53

I am going to try to just get coverity running through make on top-level.


mflatt
2018-12-11 15:10:37

I bet the problem is that the build needs to run in a separate “build” subdirectory. So, cd racket/src; mkdir build; cd build; ../configure --enable-cs; make cs


pocmatos
2018-12-11 15:21:58

If I do it in the top-level I am still not getting it to work. Fails building cs: Exception in $fasl-file-equal?: gensym comparison failed while comparing ../boot/ta6le/sbb and ../boot/ta6le/petite.boot within fasl entry 959 make[16]: *** [Mf-base:294: checkboot] Error 255


pocmatos
2018-12-11 15:22:05

Is this related to a recent change?


mflatt
2018-12-11 15:25:12

That’s odd, since I recently sync’ed the bootfiles. I’ll have to investigate later today.


mflatt
2018-12-11 15:25:28

That’s a fresh checkout, or an existing one?


pocmatos
2018-12-11 15:30:55

That’s an existing one. But I updated it a few hours ago.


pocmatos
2018-12-11 15:31:08

I will try a fresh checkout to see if there’s a difference.


soegaard2
2018-12-11 17:07:18

soegaard2
2018-12-11 17:09:01

pocmatos
2018-12-11 17:12:17

@soegaard2 wow, saw the examples and am excited already. :slightly_smiling_face:


pocmatos
2018-12-11 17:12:30

Thanks. Will definitely give this one a try.


pocmatos
2018-12-11 17:14:25

Works with fresh checkout. I am stumped. Will sort out now things on my branch. Thanks for your time.


diego
2018-12-11 17:24:56

@soegaard2 wow, thanks for the pointer - looks very cool


mflatt
2018-12-11 19:06:32

Does make another time in your old checkout solve the problem? The Chez Scheme makefile tries to build and rebuild a time or two to reach a fixed point. I’m not sure why, but sometimes it takes another round to get there. Starting from a non-fresh build means starting with the bootfiles from your previous build, instead of the checked-in ones, so tat’s why a fresh checkout is different.


leif
2018-12-11 19:26:25

Oh interesting. So are you saying the way to work around this is to require as few things in the reader as possible?


leif
2018-12-11 19:26:33

(And move the rest to the #:language field?