libera/#clasp - IRC Chatlog
Search
3:48:21
drmeister
::notify yitzi I fixed a problem in init.lisp where you set the "home" logical-pathname-translation. SETF isn't available until later - so we use the `si:pathname-translations` function early on.
5:53:32
drmeister
::notify yitzi Another problem cropped up later. We define the default RC file to be "home:.rc" which later turns into `(namestring (make-pathname :type "rc"))` - which I thought was perfectly valid but sbcl and ecl give different answers. So I read clhs 19.1.2 and the issues attached to it and realized this is implementation dependent - so I made clasp do what I want --> "home/meister/.rc"
5:57:24
drmeister
Next in the `ext-load` branch I hit this problem - the github workflow will probably hit it as well.
10:32:05
yitzi
drmeister: That's probably an indicator that the rc file is not being loaded. In hindsight creating a HOME logical host is kind of a bad idea. Fixing...
10:32:05
Colleen
yitzi: drmeister said 6 hours, 43 minutes ago: I fixed a problem in init.lisp where you set the "home" logical-pathname-translation. SETF isn't available until later - so we use the `si:pathname-translations` function early on.
10:32:05
Colleen
yitzi: drmeister said 4 hours, 38 minutes ago: Another problem cropped up later. We define the default RC file to be "home:.rc" which later turns into `(namestring (make-pathname :type "rc"))` - which I thought was perfectly valid but sbcl and ecl give different answers. So I read clhs 19.1.2 and the issues attached to it and realized this is implementation dependent - so I made clasp do what I want --> "home/meister/.rc"
10:34:00
yitzi
I am also going to add some terminal messages about loading the rc file that respects noinform-p eventually.
11:21:08
yitzi
Pushed it. I have to drive to work. I'll test on zeus then. If it still doesn't work I'll cancel the workflow.
11:45:00
yitzi
zeus is missing some stuff. I don't have sudo there. Once the right deb packages are installed you can do `debuild -i -us -uc -b` in the root
11:45:50
yitzi
That will deposit a clasp-cl and a cando debian package in the directory containing the clasp repo
11:57:05
yitzi
Can we set a column limit in our `.clang-format` so we can use clang-format to make of the cc sources a bit more readable?
12:01:27
drmeister
What do we do about tmpnam - the suggestion of changing it to mkstemp is not useful in at least one case.
12:01:48
yitzi
No idea. You can set up triggers for git to automatically call clang-format. That is a bit aggressive for some.
12:03:01
yitzi
Maybe we just need our own function. C people are weird about what they think are security risks sometimes.
12:10:14
yitzi
So in anticipation that ext-load is gonna work, I am gonna move the experimental user-install stuff out of it since that stuff isn't done. Then eventually squash and cleanup the commit history in prep for merging.
12:13:25
Bike
making the temp filenames in the parallel analyzer relative to the compilation tool database main pathname lets it run now, even if i don't quite understand where that is
12:18:00
yitzi
I can look at some point at the paths in the analyzer and make them work better with koga.
12:24:33
Bike
i wonder how i even ran the serial analyzer before then, because my build directory is not build/
12:44:44
Bike
yeah, they're placed in /tmp, and i was getting permission denied, apparently because your run had already put files with the same names in /tmp
12:45:21
Bike
anyway, now it's crashed, and the only error messages i got are just the backtrace being confused, so i should find the log files if i can
13:39:40
drmeister
Bike: Do you think `(namestring (make-pathname :type "rc"))` should be implementation dependent?
13:43:33
Bike
`(pathname-name (make-pathname :type "rc"))` should be NIL provided there's no default name, i think. now how is that namestringed
13:44:22
drmeister
That's very new that we even run the parallel static analyzer - so change those at will.
13:45:04
specbot
Pathnames as Filenames: http://www.lispworks.com/reference/HyperSpec/Body/19_ab.htm
13:45:08
Bike
"These functions [e.g. `namestring`] convert pathname into a namestring. The name represented by pathname is returned as a namestring in an implementation-dependent canonical form." sounds like carte blanche to me, unless i'm missing something, which i might be
13:46:22
Bike
"namestring n. a string that represents a filename using either the standardized notation for naming logical pathnames described in Section 19.3.1 (Syntax of Logical Pathname Namestrings), or some implementation-defined notation for naming a physical pathname."
13:46:30
drmeister
I agree - I went in to this to see examples where they show again and again that it is implementation dependent. http://www.lispworks.com/documentation/HyperSpec/Issues/iss265_w.htm
13:46:59
drmeister
sbcl signals an error. ecl and we (did) return NIL `(namestring (make-pathname :type "rc"))`
13:47:23
drmeister
Last night at 2:00am I changed it to return ".rc" and I wanted to know if I made things worse. I don't think so.
13:47:37
Bike
that said, for this particular purpose could we do `(make-pathname :name "" :type "rc")`... i guess sbcl still complains about that
13:50:28
Bike
on sbcl, `(pathname-type #p".sbclrc") => NIL` and `(pathname-name #p".sbclrc") => ".sbclrc"`
14:00:18
yitzi
If only they didn't have the component restrictions on characters. They would be so much more useful.
14:05:55
drmeister
yitzi: We are free to create a new type of pathname like object that we could use - this is for building and bootstrapping clasp/cando.
14:07:13
drmeister
We could inherit from Pathname_O and call it ClaspPathname_O and change the behaviors that we don't like.
14:07:16
yitzi
Ok. I'll do some more thinking about if it is needed and at a minimum make the scrapper work better with koga.
14:08:05
drmeister
Ah - anything that will run in sbcl will not have that unless we re-implement pathname code.
14:08:59
yitzi
If we have to, we use the `source` path stuff I came up with. I am non convinced that we will need that though.
14:12:28
Bike
drmeister: if the problem is specifically #P"home:.rc", we could do `(merge-pathnames #p".rc" (user-homedir-pathname))`, no?
14:14:57
yitzi
It behaves like SBCL now. If the user supplies `--rc` it uses that path directly without assuming it lies in `$HOME`. Otherwise it uses `$HOME/.clasprc`.
14:14:58
drmeister
Yeah - I was more concerned if I had made things worse with my changes to cl__namestring that change what `(namestring (make-pathname :type "rc"))` now do.
14:15:34
yitzi
Still need to be improved a bit. It's a little hacky, but at least I can override via `--rc` in the snapshot build.
14:16:10
drmeister
A `LOG(...)` macro requires SOURCE_DEBUG to be turned on globally and #define DEBUG_LEVEL_FULL at the top of a file that contains the `LOG(...)` invocations.
14:20:18
drmeister
I don't know. I assume they have only one logging facility - they are pretty tidy.
14:25:32
drmeister
The core::lisp_debugIsOn(__FILE__) is kinda expensive - that's why I added SOURCE_DEBUG to compile them to nothing globally.
14:26:19
drmeister
Because we can turn on logging from individual source files using: `export CLASP_DEBUG=foo.cc,bar.cc`
14:28:09
drmeister
The __FILE__ is used to find just the filename and that is looked up in a std::set of filenames initialized from CLASP_DEBUG
14:29:03
drmeister
llvm has a logging system where you turn on logging with names of subsystems - like "link" or "lljit"
14:32:57
mns
for issue 1311, I see this: Fatal error 'mutex 0x814474b88 own 0x0 is on list 0x0 0x814474b08' at line 154 in file /usr/src/lib/libthr/thread/thr_mutex.c (errno = 2) what I'm trying to find out is which file or directory is missing (the errno = 2 part of the error). any thoughts ? this seems to be something related to threading. the header file does exist, I verified that already.
14:37:24
yitzi
We could use that, would still be nice to have a higher level interface that adds FILE, fmt, etc. So the messages are standardized.
14:37:51
drmeister
mns: Could you post the log of what you are seeing on that freebsd build? I've never seen that error - it looks like it's pretty deep in the weeds.
14:38:54
yitzi
Also, keep in mind that on the freebsd branch the snapshot stuff will be broken. I just added the minimal stuff to get it past iclasp.
14:39:36
drmeister
I'd like to know where in the build it's crashing - I have no idea if the snapshot code is being evaluated.
14:40:00
Bike
okay, so the clang tools main-directory is the actual main directory in the sources, that's probably not where we want to dump logs