Search
Thursday, 25th of May 2023, 16:10:01 UTC
18:53:28
Guest6
Hi all, I just opened a bug report but it looks like the cl+ssl library is hitting some bugs in the threads.h file, can anyone else confirm? I just did (ql:quickload :cl+ssl) and got an Error 1
18:54:43
Guest6
> (ql:quickload :cl+ssl)
18:54:45
Guest6
[package babel-encodings].........................
18:54:46
Guest6
[package babel]...................................
18:54:46
Guest6
..................................................
18:54:47
Guest6
[package cffi-sys]................................
18:54:47
Guest6
[package cffi-callbacks]..........................
18:54:48
Guest6
[package cffi]....................................
18:54:48
Guest6
..................................................
18:54:49
Guest6
[package cffi-features]...........................
18:54:49
Guest6
[package cl+ssl/config]...........................
18:54:50
Guest6
[package impl-specific-gray]......................
18:54:50
Guest6
[package trivial-gray-streams]....................
18:54:51
Guest6
[package flexi-streams]...........................
18:54:51
Guest6
..................................................
18:55:04
Guest6
;;; /usr/local/include/ecl/threads.h:90:3: error: implicit declaration of function 'gettimeofday' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
18:55:04
Guest6
;;; gettimeofday(&tp, NULL);
18:55:06
Guest6
Condition of type: COMPILE-FILE-ERROR
18:55:06
Guest6
COMPILE-FILE-ERROR while compiling #<cl-source-file "cl+ssl" "src" "ffi">
18:55:07
Guest6
1. (RETRY) Retry compiling #<cl-source-file "cl+ssl" "src" "ffi">.
18:55:08
Guest6
2. (ACCEPT) Continue, treating compiling #<cl-source-file "cl+ssl" "src" "ffi"> as having been successful.
18:55:08
Guest6
3. (RETRY) Retry ASDF operation.
18:55:09
Guest6
4. (CLEAR-CONFIGURATION-AND-RETRY) Retry ASDF operation after resetting the configuration.
18:55:09
Guest6
5. (ABORT) Give up on "cl+ssl"
18:55:10
Guest6
6. (REGISTER-LOCAL-PROJECTS) Register local projects and try again.
18:55:10
Guest6
7. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
18:55:11
Guest6
Broken at SI:BYTECODES. [Evaluation of: (QUICKLISP-CLIENT:QUICKLOAD :CL+SSL)] In: #<process TOP-LEVEL 0x10ed72ee0>.
18:57:39
josharmenta
ok thanks, should I add that to headers.h?
18:57:48
josharmenta
or sorry, threads.h
18:58:08
josharmenta
or does it need to be in internals.h?
18:58:35
Inline
config-internal.h and in configure-int.h previously
18:58:49
josharmenta
ok thanks. I'll add those and give it a try
18:58:53
Inline
so not sure why it doesn't get included
18:59:21
Inline
i mean if config-internal.h is already included in the compilation
18:59:43
josharmenta
yeah this was weird to me.
19:00:01
josharmenta
it's a brand new build, cloned from source, not changed anything
19:00:02
Inline
maybe a header guard issue
19:00:09
josharmenta
at first I figured it was just a brew install issue
19:00:31
Inline
i.e. it gets included initially and at some point gets excluded due to another condition ?
19:01:32
josharmenta
that was my thought, is it included as a pragma?
19:01:56
josharmenta
(C is not my strength here, I'm very much a lisp guy)
19:02:33
josharmenta
but if it's included and then dropped, that would definitely explain it
19:02:40
Inline
no idea really my headers knowledge is pretty limited
19:03:00
Inline
but i observed it on other compilations that such things can happen
19:03:00
josharmenta
but I appreciate the tip. I'll add it after lunch
19:05:57
Inline
SVr4, 4.3BSD. POSIX.1-2001 describes gettimeofday() but not settimeofday(). POSIX.1-2008 marks gettimeofday() as obsolete, recommend‐
19:05:57
Inline
ing the use of clock_gettime(2) instead
19:06:33
josharmenta
That was my other thought, something with c17/19
19:06:47
Inline
On some architectures, an implementation of gettimeofday() is provided in the vdso(7)
19:06:49
josharmenta
I caught a similar bug last year
19:08:13
Inline
Why does the vDSO exist at all? There are some system calls the kernel provides that user-space code ends up using frequently, to the
19:08:14
Inline
point that such calls can dominate overall performance. This is due both to the frequency of the call as well as the context-switch
19:08:14
Inline
overhead that results from exiting user space and entering the kernel.
19:08:34
Inline
to call the vDSO in your own application rather than using the C library, you're most likely doing it wrong.
19:09:00
Inline
Applications usually do not need to concern themselves with these details as the vDSO is most commonly called
19:09:31
Inline
yes but obsolete does not mean it was removed yet
19:10:50
josharmenta
no that makes sense, last year the bug was actually that the function was removed.
19:11:00
josharmenta
so similar but not the same
2:28:10
zephyr
howdy, i tried to quickload "iclendar" but hit "No :DIRECT-SUPERCLASS argument was supplied for metaclass" on 21.2.1, anyone seen that before? i tried to digest iclendar's protocol.lisp but i don't even know where to begin
Friday, 26th of May 2023, 4:10:01 UTC