Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added null-impl for apiv2 to fix loading on CLISP with no threads support #86

Closed

Conversation

svetlyak40wt
Copy link

Probably this will fix loading on other systems too, when there is not
threading support.

In old BT version implementation files were included condiitionally
if there is implementation name and :thread-support in features. But
when apiv2 was introduced, it dropped check for thread support.

This pull returns this check back.

…port.

Probably this will fix loading on other systems too, when there is not
threading support.

In old BT version implementation files were included condiitionally
if there is implementation name and :thread-support in features. But
when apiv2 was introduced, it dropped check for thread support.

This pull returns this check back.
@svetlyak40wt
Copy link
Author

Pull failed on CI.

SBCL, SBCL-32, ECL and CLISP can't be installed

The problem is the same:

Installing SBCL...
Downloading https://cdn.cddr.org/ci/sbcl-2.0.7+r00-x86-64-linux-binary.tar.bz2...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.haxx.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
Failed to download https://cdn.cddr.org/ci/sbcl-2.0.7+r00-x86-64-linux-binary.tar.bz2.

I've checked https://cdn.cddr.org/ and browser considers it valid

@sionescu
Copy link
Owner

I've fixed the CI, but I don't intend to support unthreaded implementations for APIv2. I could change my mind, but at the moment it seems unlikely.

@svetlyak40wt
Copy link
Author

The reason why I want this patch to be accepted is that some systems can depend on bordeaux-threads, like it Rove does. It is only changes *default-special-bindings*:

https://github.com/fukamachi/rove/blob/bbc7b8e3e300266b44780fc926aee2962e649392/reporter.lisp#L55-L60

But because of this dependency, I'm unable to use Rove for running tests on implementations compiled without threads support.

When I'm loading Rove in my tests, quicklisp loads bordeaux-threads as a dependency and fails with this error:

An unhandled error condition has been signalled: READ from #<INPUT BUFFERED FILE-STREAM CHARACTER
     #P"/Users/art/projects/lisp/cl-info/.qlot/dists/ultralisp/software/sionescu-bordeaux-threads-20200801171406/apiv2/impl-clisp.lisp"
@10>: there is no package with name "MT"

If you don't want to support unthreaded implementation, then at least we needed to make bordeaux-threads compile on these implementations without error and without adding :thread-support to the *features*.

This way we will have a chance to use :thread-support feature for conditional compilation inside Rove.

@sionescu
Copy link
Owner

What other non-threaded Lisp implementations are you using, besides Clisp ? I seriously suggest dropping Clisp support.

@svetlyak40wt
Copy link
Author

I want some of my tools to work for a large number of implementations. Is this bad?

@sionescu
Copy link
Owner

No, but I think it's time to drop support for unthreaded implementations.

@sionescu sionescu closed this Jan 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants