GNU bug report logs - #73432
clojure package is broken

Previous Next

Package: guix;

Reported by: Andreas Bauer <andreas.wolfgang.bauer <at> gmail.com>

Date: Mon, 23 Sep 2024 05:36:01 UTC

Severity: normal

Full log


Message #23 received at 73432 <at> debbugs.gnu.org (full text, mbox):

From: Roman Scherer <roman.scherer <at> burningswell.com>
To: Kristiyan Kanchev <skrechy <at> gmail.com>
Cc: Ludovic Courtès <ludo <at> gnu.org>,
 Rostislav Svoboda <Rostislav.Svoboda <at> gmail.com>, 73432 <at> debbugs.gnu.org,
 Andreas Bauer <andreas.wolfgang.bauer <at> gmail.com>
Subject: Re: bug#73432: clojure package is broken
Date: Fri, 04 Oct 2024 12:51:02 +0200
[Message part 1 (text/plain, inline)]
Hi Kristiyan,

sorry for not being clear. I tried the metabase repository with the Guix
and the Nix package. The Nix package works, but the one from Guix not.

I also just tried the clojure-guix-broken repo now (I haven't seen this
yesterday) with the Guix package, and it didn't find the
class. Unfortunatly, I have no idea why the class files are not being
found.

After seeing all those:

Warning: failed to load the S3TransporterFactory class

I thought it might be related. But maybe not.

I hope you find the issue.

Roman

Kristiyan Kanchev <skrechy <at> gmail.com> writes:

> Hello Roman,
>
> What do you mean that you're getting the same error? Getting the same
> error with Guix Clojure or with Nix Clojure? Metabase or the test
> project by Andreas?
>
> I'm fairly confident that the problem is not caused by the S3
> transport because alot of transitive dependencies are missing from the
> class-path that are not related to these libraries you cited. I was
> investigating the reported class-path from within Clojure with
> https://github.com/clojure/java.classpath, which is also dependency
> for Metabase, so you could try it in a nREPL session.
>
> I'm currently trying to  maven-resolver-provider from 3.9 to 3.8 and
> will report results, hopefully soon -- I'm new to Guix and need some
> more time. If it works out, I'll try to push patches.
>
> Thanks,
> Kriss
>
> On 10/3/24 17:48, Roman Scherer wrote:
>> Ludo recently merged some of my patches that I have re-submitted
>> recently. There are 4 patches missing, that I haven't submitted
>> again. They contain the S3 support.
>>
>> But it's not clear if they can be included inn Guix, because some of the
>> artifacts are Clojure EDN files generated from AWS API docs. The code to
>> generate them has not been published by the Clojure team. That was a
>> blocker back in the day according to Maxim Devos.
>>
>> The patches are here:
>>
>> https://github.com/r0man/guix/commits/clojure-s3-transport/
>>
>> I really should find that thread ...
>>
>> Roman Scherer <roman.scherer <at> burningswell.com> writes:
>>
>>> Hi,
>>>
>>> I just tried this and got the same error. I'm not using the Clojure
>>> package from Guix because the AWS S3 support has been ripped out. I use
>>> the package from Nix.
>>>
>>> My guess is, this error is also because of the lacking S3 support, or if
>>> not it will break later. The deps.edn file of Metabase contains:
>>>
>>> ```
>>> {"athena"   {:url "https://s3.amazonaws.com/maven-athena"}
>>>    "redshift" {:url "https://s3.amazonaws.com/redshift-maven-repository/release"}
>>>    ;; for metabase/saml20-clj
>>>    "opensaml" {:url "https://build.shibboleth.net/nexus/content/repositories/releases/"}}
>>> ```
>>>
>>> So it's using S3 to resolve Maven dependencies. There is an open issue
>>> for this https://issues.guix.gnu.org/53765 and I opened a duplicate of
>>> this a while ago (which I can't find right now). Unfortunaltly this went
>>> nowhwere.
>>>
>>> Roman
>>>
>>> Ludovic Courtès <ludo <at> gnu.org> writes:
>>>
>>>> Hi Andreas and Kristiyan,
>>>>
>>>> Cc’ing Roman and Rostislav who are among the recent committers for this
>>>> file.
>>>>
>>>> Andreas Bauer <andreas.wolfgang.bauer <at> gmail.com> wrote:
>>>>
>>>>> Now it can be fixed with time machine:
>>>>>
>>>>> guix time-machine --commit=98e4bfe96f2c99daa0b66b65c1d379bb385301a8 -- guix
>>>>> shell --pure --development --check clojure-tools openjdk coreutils
>>>>>
>>>>> Then in time-machine run again clojure-X:curl and the demo will work.
>>>> Kristiyan Kanchev <skrechy <at> gmail.com> skribis:
>>>>
>>>>> I'm seeing issues with the project Metabase: https://github.com/metabase/metabase. When `clojure -M:run`, it fails with:
>>>>> Execution error (ClassNotFoundException) at java.net.URLClassLoader/findClass (URLClassLoader.java:476).
>>>>> jakarta.servlet.AsyncContext
>>>>>
>>>>> The problem seems to be that Clojure CLI (`clojure-tools` guix
>>>>> package) doesn't construct proper class path including all
>>>>> transitive
>>>>> dependencies of the project. I've tried to figure out what might
>>>>> be causing the issue and I suspect `maven-resolver-*`
>>>>> packages. Clojure
>>>>> CLI depends on `tools.deps` clojure lib, which itself depends on
>>>>> `maven-resolver-*`. There is a mention in the `tools.deps`
>>>>> changelog of
>>>>> reverting `maven-resolver-*` libs in version 0.18.1374 with comment "Revert update of Maven resolver libs - seeing resolution
>>>>> differences".
>>>>> Here is the relevant commit:
>>>>> https://github.com/clojure/tools.deps/commit/04539cd060d41a528794c04b50a6aa2293b672ce
>>>>>
>>>>> Up until this date, `tools.deps` lists the older versions of
>>>>> maven-resolver-* libs in its deps.end file. Since Guix uses the
>>>>> latest versions of
>>>>> maven-resolver-* libs, I think this is causing the issue.
>>>> Roman, Rostislav: does that ring a bell?
>>>>
>>>> Thanks,
>>>> Ludo’.
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 327 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.