Opened 7 years ago

Closed 7 years ago

#360 closed defect (invalid)

Unable to load hunchentoot via quicklisp (maven, asdf problem?)

Reported by: David Creelman Owned by: Mark Evenson
Priority: major Milestone:
Component: other Version:
Keywords: Cc:
Parent Tickets:

Description

After successfully setting up quicklisp, I try to do :-
(ql:quickload "hunchentoot")

and get the following (apologies for bad formatting, copying from a Windows cmd window.

.....
[package jss].....................................
[package abcl-asdf]...............................
[package abcl-asdf-test].
; in (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL ...) ...)

; Caught SIMPLE-WARNING:
; Unable to locate Maven executable to find Maven Aether adaptors.

jnaASDF could not load because The file http://repo1.maven.org/maven2/net/java/
dev/jna/jna/4.1.0/jna-4.1.0.jar does not exist..
#<THREAD "interpreter" {938BE3}>: Debugger invoked on condition of type FILE-ERR
OR

The file http://repo1.maven.org/maven2/net/java/dev/jna/jna/4.1.0/jna-4.1.0.ja

r does not exist.
Restarts:

0: RETRY Retry loading #<ASDF/INTERFACE:MVN "jna" "net.java.dev.jna/jna/4.

1.0">.

1: ACCEPT Continue, treating loading #<ASDF/INTERFACE:MVN "jna" "net.java.d

ev.jna/jna/4.1.0"> as having been successful.

2: RETRY Retry compiling #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cffi" "src" "c

ffi-abcl">.

3: ACCEPT Continue, treating compiling #<ASDF/LISP-ACTION:CL-SOURCE-FILE "c

ffi" "src" "cffi-abcl"> as having been successful.

4: ABORT Give up on "hunchentoot"
5: TOP-LEVEL Return to top level.

[1] CL-USER(5): 0
jnaASDF could not load because The file http://repo1.maven.org/maven2/net/java/
dev/jna/jna/4.1.0/jna-4.1.0.jar does not exist..
#<THREAD "interpreter" {938BE3}>: Debugger invoked on condition of type FILE-ERR
OR

The file http://repo1.maven.org/maven2/net/java/dev/jna/jna/4.1.0/jna-4.1.0.ja

r does not exist.
Restarts:

0: RETRY Retry loading #<ASDF/INTERFACE:MVN "jna" "net.java.dev.jna/jna/4.

1.0">.

1: ACCEPT Continue, treating loading #<ASDF/INTERFACE:MVN "jna" "net.java.d

ev.jna/jna/4.1.0"> as having been successful.

2: RETRY Retry compiling #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cffi" "src" "c

ffi-abcl">.

3: ACCEPT Continue, treating compiling #<ASDF/LISP-ACTION:CL-SOURCE-FILE "c

ffi" "src" "cffi-abcl"> as having been successful.

4: ABORT Give up on "hunchentoot"
5: TOP-LEVEL Return to top level.

Please let me know if you would like more information.

This may be strictly speaking a quicklisp issue, but it seems to be calling in the ABCL asdf stuff.

Regards,
David

Change History (22)

comment:1 Changed 7 years ago by Mark Evenson

Owner: set to Mark Evenson
Status: newaccepted

Do you have Maven installed locally?

What are the results of :

CL-USER> (require :abcl-contrib) (require :quicklisp-abcl) (require :abcl-asdf)
CL-USER> (abcl-asdf:find-mvn)
#P"/opt/local/share/java/apache-maven-3.1.1/bin/mvn"

What version of abcl are you running? What does

CL-USER> (lisp-implementation-version)

"1.4.0-dev"
"Java_HotSpot(TM)_64-Bit_Server_VM-Oracle_Corporation-1.8.0-b132"
"x86_64-Mac_OS_X-10.9.2"

return for you?

Last edited 7 years ago by Mark Evenson (previous) (diff)

comment:2 Changed 7 years ago by Alan Ruttenberg

On my system the first step in debugging this problem is to install mvn. Actually it was installed but for some reason not on PATH in the environment in which my lisp runs. Request: (push "/sw/bin/mvn" abcl-asdf::*mavens*) to make it nicer for fink users.

Next problem:
jna
ASDF could not load because Java exception 'java.lang.ClassNotFoundException?: AETHER.GRAPH.DEPENDENCY'..

comment:4 in reply to:  2 Changed 7 years ago by Mark Evenson

Replying to alan ruttenberg:

On my system the first step in debugging this problem is to install mvn. Actually it was installed but for some reason not on PATH in the environment in which my lisp runs. Request: (push "/sw/bin/mvn" abcl-asdf::*mavens*) to make it nicer for fink users.

Next problem:
jna
ASDF could not load because Java exception 'java.lang.ClassNotFoundException?: AETHER.GRAPH.DEPENDENCY'..

Somehow the Maven libraries are not getting loaded into the process space.

From a clean REPL, what is the result of:

(require :abcl-contrib)
(require :abcl-asdf)
(abcl-asdf:init)
(directory (make-pathname :defaults abcl-asdf::*mvn-libs-directory* :name "*"))

What are the values of (LISP-IMPLEMENTATION-VERSION)? abcl-1.4.0-dev has slightly different heuristics for determining the proper MVN version, which shouldn't effect the load, but one never knows.

Last edited 7 years ago by Mark Evenson (previous) (diff)

comment:5 in reply to:  3 Changed 7 years ago by Mark Evenson

Replying to alan ruttenberg:

http://queue.acm.org/detail.cfm?id=2349257&ref=fullrss

I'm not sure how being snarky is gonna improve code quality either…

comment:6 Changed 7 years ago by Alan Ruttenberg

Snark is nothing personal. I have yet to have a SINGLE experience in which maven has worked.

CL-USER> (require :abcl-contrib)
(require :abcl-asdf)
(abcl-asdf:init)
(directory (make-pathname :defaults abcl-asdf::*mvn-libs-directory* :name "*"))

WARNING: Unable to locate Maven executable to find Maven Aether adaptors.
WARNING: Failed to find Maven3 libraries.
; Evaluation aborted on #<SIMPLE-ERROR {717B5E2}>.
CL-USER> (pushnew "/sw/bin/mvn" abcl-asdf::*mavens* :test 'equal)

("/sw/bin/mvn" "/opt/local/bin/mvn3" "mvn3" "mvn")
CL-USER> (require :abcl-contrib)
(require :abcl-asdf)
(abcl-asdf:init)
(directory (make-pathname :defaults abcl-asdf::*mvn-libs-directory* :name "*"))

(#P"/sw/lib/terminfo/" #P"/sw/lib/perl5/" #P"/sw/lib/p7zip/" #P"/sw/lib/ncurses/" #P"/sw/lib/mime/" #P"/sw/lib/locate/" #P"/sw/lib/libxml2.2.dylib" #P"/sw/lib/libtermcap.dylib" #P"/sw/lib/libssl.1.0.0.dylib" #P"/sw/lib/libreadline.dylib" #P"/sw/lib/libreadline.a" #P"/sw/lib/libreadline.6.dylib" #P"/sw/lib/libreadline.6.3.dylib" #P"/sw/lib/libpcre1/" #P"/sw/lib/libpanel.dylib" #P"/sw/lib/libncurses.dylib" #P"/sw/lib/libmenu.dylib" #P"/sw/lib/liblzma.5.dylib" #P"/sw/lib/libintl.la" #P"/sw/lib/libintl.dylib" #P"/sw/lib/libintl.8.dylib" #P"/sw/lib/libiconv.la" #P"/sw/lib/libiconv.dylib" #P"/sw/lib/libiconv.2.dylib" #P"/sw/lib/libhistory.dylib" #P"/sw/lib/libhistory.a" #P"/sw/lib/libhistory.6.dylib" #P"/sw/lib/libhistory.6.3.dylib" #P"/sw/lib/libform.dylib" #P"/sw/lib/libcurses.dylib" #P"/sw/lib/libcrypto.1.0.0.dylib" #P"/sw/lib/libcharset.la" #P"/sw/lib/libcharset.dylib" #P"/sw/lib/libcharset.a" #P"/sw/lib/libcharset.1.dylib" #P"/sw/lib/libbz2.dylib" #P"/sw/lib/libbz2.1.dylib" #P"/sw/lib/libbz2.1.0.6.dylib" #P"/sw/lib/libapt-pkg.dylib" #P"/sw/lib/libapt-pkg.3.2.dylib" #P"/sw/lib/libapt-pkg.3.2.0.dylib" #P"/sw/lib/libapt-inst.dylib" #P"/sw/lib/libapt-inst.1.0.dylib" #P"/sw/lib/libapt-inst.1.0.0.dylib" #P"/sw/lib/fink/" #P"/sw/lib/engines100/" #P"/sw/lib/dpkg/" #P"/sw/lib/apt/" #P"/sw/lib/ant/")
CL-USER> (setq ABCL-ASDF:*MVN-LIBS-DIRECTORY* "/sw/share/maven/lib/")
"/sw/share/maven/lib/"
CL-USER> (require :abcl-contrib)
(require :abcl-asdf)
(abcl-asdf:init)
(directory (make-pathname :defaults abcl-asdf::*mvn-libs-directory* :name "*"))

(#P"/sw/share/maven/lib/wagon-provider-api-2.6.jar" #P"/sw/share/maven/lib/wagon-http-shared-2.6.jar" #P"/sw/share/maven/lib/wagon-http-2.6-shaded.jar" #P"/sw/share/maven/lib/wagon-file-2.6.jar" #P"/sw/share/maven/lib/slf4j-simple.license" #P"/sw/share/maven/lib/slf4j-simple-1.7.5.jar" #P"/sw/share/maven/lib/slf4j-api.license" #P"/sw/share/maven/lib/slf4j-api-1.7.5.jar" #P"/sw/share/maven/lib/sisu-guice-3.1.3-no_aop.jar" #P"/sw/share/maven/lib/plexus-utils-3.0.17.jar" #P"/sw/share/maven/lib/plexus-sec-dispatcher.license" #P"/sw/share/maven/lib/plexus-sec-dispatcher-1.3.jar" #P"/sw/share/maven/lib/plexus-interpolation-1.19.jar" #P"/sw/share/maven/lib/plexus-component-annotations-1.5.5.jar" #P"/sw/share/maven/lib/plexus-cipher.license" #P"/sw/share/maven/lib/plexus-cipher-1.7.jar" #P"/sw/share/maven/lib/org.eclipse.sisu.plexus.license" #P"/sw/share/maven/lib/org.eclipse.sisu.plexus-0.0.0.M5.jar" #P"/sw/share/maven/lib/org.eclipse.sisu.inject.license" #P"/sw/share/maven/lib/org.eclipse.sisu.inject-0.0.0.M5.jar" #P"/sw/share/maven/lib/maven-settings.license" #P"/sw/share/maven/lib/maven-settings-builder.license" #P"/sw/share/maven/lib/maven-settings-builder-3.2.3.jar" #P"/sw/share/maven/lib/maven-settings-3.2.3.jar" #P"/sw/share/maven/lib/maven-repository-metadata.license" #P"/sw/share/maven/lib/maven-repository-metadata-3.2.3.jar" #P"/sw/share/maven/lib/maven-plugin-api.license" #P"/sw/share/maven/lib/maven-plugin-api-3.2.3.jar" #P"/sw/share/maven/lib/maven-model.license" #P"/sw/share/maven/lib/maven-model-builder.license" #P"/sw/share/maven/lib/maven-model-builder-3.2.3.jar" #P"/sw/share/maven/lib/maven-model-3.2.3.jar" #P"/sw/share/maven/lib/maven-embedder.license" #P"/sw/share/maven/lib/maven-embedder-3.2.3.jar" #P"/sw/share/maven/lib/maven-core.license" #P"/sw/share/maven/lib/maven-core-3.2.3.jar" #P"/sw/share/maven/lib/maven-compat.license" #P"/sw/share/maven/lib/maven-compat-3.2.3.jar" #P"/sw/share/maven/lib/maven-artifact.license" #P"/sw/share/maven/lib/maven-artifact-3.2.3.jar" #P"/sw/share/maven/lib/maven-aether-provider.license" #P"/sw/share/maven/lib/maven-aether-provider-3.2.3.jar" #P"/sw/share/maven/lib/jsr250-api.license" #P"/sw/share/maven/lib/jsr250-api-1.0.jar" #P"/sw/share/maven/lib/jsoup.license" #P"/sw/share/maven/lib/jsoup-1.7.2.jar" #P"/sw/share/maven/lib/javax.inject-1.jar" #P"/sw/share/maven/lib/guava-14.0.1.jar" #P"/sw/share/maven/lib/ext/" #P"/sw/share/maven/lib/commons-lang-2.6.jar" #P"/sw/share/maven/lib/commons-io-2.2.jar" #P"/sw/share/maven/lib/commons-cli-1.2.jar" #P"/sw/share/maven/lib/cdi-api.license" #P"/sw/share/maven/lib/cdi-api-1.0.jar" #P"/sw/share/maven/lib/aopalliance-1.0.jar" #P"/sw/share/maven/lib/aether-util.license" #P"/sw/share/maven/lib/aether-util-0.9.0.M2.jar" #P"/sw/share/maven/lib/aether-spi.license" #P"/sw/share/maven/lib/aether-spi-0.9.0.M2.jar" #P"/sw/share/maven/lib/aether-impl.license" #P"/sw/share/maven/lib/aether-impl-0.9.0.M2.jar" #P"/sw/share/maven/lib/aether-connector-wagon.license" #P"/sw/share/maven/lib/aether-connector-wagon-0.9.0.M2.jar" #P"/sw/share/maven/lib/aether-api.license" #P"/sw/share/maven/lib/aether-api-0.9.0.M2.jar")
; Loading jar:file:/Users/alanr/repos/lsw2-bona/lib/abcl-contrib.jar!/mvn/jna.asd ...
; Loaded jar:file:/Users/alanr/repos/lsw2-bona/lib/abcl-contrib.jar!/mvn/jna.asd (0.025 seconds)
ARTIFACT_RESOLVING net.java.dev.jna:jna:pom:4.1.0
ARTIFACT_RESOLVED net.java.dev.jna:jna:pom:4.1.0 (/Users/alanr/.m2/repository/net/java/dev/jna/jna/4.1.0/jna-4.1.0.pom) @ /Users/alanr/.m2/repository (enhanced)
ARTIFACT_RESOLVING net.java.dev.jna:jna:jar:4.1.0
ARTIFACT_RESOLVED net.java.dev.jna:jna:jar:4.1.0 (/Users/alanr/.m2/repository/net/java/dev/jna/jna/4.1.0/jna-4.1.0.jar) @ /Users/alanr/.m2/repository (enhanced)
ARTIFACT_RESOLVING net.java.dev.jna:jna:pom:4.1.0
ARTIFACT_RESOLVED net.java.dev.jna:jna:pom:4.1.0 (/Users/alanr/.m2/repository/net/java/dev/jna/jna/4.1.0/jna-4.1.0.pom) @ /Users/alanr/.m2/repository (enhanced)
ARTIFACT_RESOLVING net.java.dev.jna:jna:jar:4.1.0
ARTIFACT_RESOLVED net.java.dev.jna:jna:jar:4.1.0 (/Users/alanr/.m2/repository/net/java/dev/jna/jna/4.1.0/jna-4.1.0.jar) @ /Users/alanr/.m2/repository (enhanced)
CL-USER> (ql:quickload "cl-mediawiki")
To load "cl-mediawiki":

Load 1 ASDF system:

cl-mediawiki

; Loading "cl-mediawiki"
;;; Checking for wide character support... yes, using UTF-16.
;;; Checking for wide character support... yes, using UTF-16.
;;; Building Closure with CHARACTER RUNES
..................................................
[package cffi-sys].
; in (DEFUN ENSURE-CALLBACK-INTERFACE ...)

; Caught STYLE-WARNING:
; The variable SIMPLE-INTERFACE-NAME is defined but never used.

; UNSUPPORTED-FEATURE: #<COMPILER-UNSUPPORTED-FEATURE-ERROR {3417F85E}>
; in (DEFUN LOAD-CLASS ...)

; Caught WARNING:
; Unable to compile function LOAD-CLASS. Using interpreted form instead.

; UNSUPPORTED-FEATURE: #<COMPILER-UNSUPPORTED-FEATURE-ERROR {26A480B6}>
; in (DEFUN %CALLBACK ...)

; Caught WARNING:
; Unable to compile function %CALLBACK. Using interpreted form instead.

; Caught COMPILE-FAILED-WARNING:
; Lisp compilation failed while compiling #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cffi" "src" "cffi-abcl">

; Caught COMPILE-WARNED-WARNING:
; Lisp compilation had style-warnings while compiling #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cffi" "src" "cffi-abcl">

...............................
[package cffi]....................................
[package cffi-features]...........................
[package bordeaux-threads]........................
[package trivial-garbage].........................
[package cl+ssl].

error -> Illegal function object: loadClassFromByteArray.

comment:7 Changed 7 years ago by Alan Ruttenberg

Before this, I replaced 4 uses of jclass with jss:find-java-class in maven-embedder.lisp

comment:8 in reply to:  6 Changed 7 years ago by Mark Evenson

Replying to alan ruttenberg:

[…]

CL-USER> (setq ABCL-ASDF:*MVN-LIBS-DIRECTORY* "/sw/share/maven/lib/")
"/sw/share/maven/lib/"

You will have to set *MVN-LIBS-DIRECTORY* to work with Fink installed Maven. The ABCL-ASDF heuristic is to 1) find the directory of the 'mvn' executable, and then 2) merge "../lib/" to find the directory of the Maven jars. Not sure how to extend the current probing behavior to find the Maven jars without resorting to some sort of potentially expensive recursive search. Suggestions would be welcome.

comment:9 Changed 7 years ago by Alan Ruttenberg

After accepting several errors on loadClassFromByteArray and loading the version of cl-mediawiki (ql version give an error something about flexi streams) from https://github.com/AccelerationNet/cl-mediawiki I can now fetch a page.

When is (abcl-asdf:init) supposed to be called?

comment:10 in reply to:  6 Changed 7 years ago by Mark Evenson

Replying to alan ruttenberg:
[…]

; Loading "cl-mediawiki"
;;; Checking for wide character support... yes, using UTF-16.
;;; Checking for wide character support... yes, using UTF-16.
;;; Building Closure with CHARACTER RUNES
..................................................
[package cffi-sys].
; in (DEFUN ENSURE-CALLBACK-INTERFACE ...)

; Caught STYLE-WARNING:
; The variable SIMPLE-INTERFACE-NAME is defined but never used.

; UNSUPPORTED-FEATURE: #<COMPILER-UNSUPPORTED-FEATURE-ERROR {3417F85E}>
; in (DEFUN LOAD-CLASS ...)

; Caught WARNING:
; Unable to compile function LOAD-CLASS. Using interpreted form instead.

; UNSUPPORTED-FEATURE: #<COMPILER-UNSUPPORTED-FEATURE-ERROR {26A480B6}>
; in (DEFUN %CALLBACK ...)

; Caught WARNING:
; Unable to compile function %CALLBACK. Using interpreted form instead.

; Caught COMPILE-FAILED-WARNING:
; Lisp compilation failed while compiling #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cffi" "src" "cffi-abcl">

; Caught COMPILE-WARNED-WARNING:
; Lisp compilation had style-warnings while compiling #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cffi" "src" "cffi-abcl">

...............................
[package cffi]....................................
[package cffi-features]...........................
[package bordeaux-threads]........................
[package trivial-garbage].........................
[package cl+ssl].

error -> Illegal function object: loadClassFromByteArray.

I suspect this is from an old version of CFFI, as I don't see these errors with cffi-0.14.0 as is available from Quicklisp 2014-11-06.

comment:11 Changed 7 years ago by Alan Ruttenberg

I have done (QUICKLISP-CLIENT:UPDATE-CLIENT) and (QUICKLISP-CLIENT:UPDATE-all-DISTS) before getting this far.

comment:12 Changed 7 years ago by Alan Ruttenberg

cffi_0.10.7.1 -> cffi_0.14.0 is one of the things (QUICKLISP-CLIENT:UPDATE-all-DISTS) printed

Last edited 7 years ago by Alan Ruttenberg (previous) (diff)

comment:13 in reply to:  12 ; Changed 7 years ago by Mark Evenson

Replying to alan ruttenberg:

cffi_0.10.7.1 -> cffi_0.14.0 is one of the things (QUICKLISP-CLIENT:UPDATE-all-DISTS) printed

The question is, which CFFI is loaded? Did you restart the REPL after performing the upgrade?

comment:14 in reply to:  13 Changed 7 years ago by Mark Evenson

Replying to mevenson:

Replying to alan ruttenberg:

cffi_0.10.7.1 -> cffi_0.14.0 is one of the things (QUICKLISP-CLIENT:UPDATE-all-DISTS) printed

The question is, which CFFI is loaded? Did you restart the REPL after performing the upgrade?

And which version of ABCL are you using? I'm working with abcl-1.4.0-dev. While there shouldn't be significant changes from abcl-1.3.1, one should keep this in mind.

comment:15 in reply to:  9 ; Changed 7 years ago by Mark Evenson

Replying to alan ruttenberg:

After accepting several errors on loadClassFromByteArray and loading the version of cl-mediawiki (ql version give an error something about flexi streams) from https://github.com/AccelerationNet/cl-mediawiki I can now fetch a page.

CL-MEDIAWIKI seems to load ok for me:

(ql:quickload :cl-mediawiki)
;;; Checking for wide character support... yes, using UTF-16.
To load "cl-mediawiki":
  Load 3 ASDF systems:
    alexandria cxml drakma
  Install 1 Quicklisp release:
    cl-mediawiki
; Fetching #<QL-HTTP:URL "http://beta.quicklisp.org/archive/cl-mediawiki/2014-11-06/cl-mediawiki-20141106-git.tgz">
; 16.03KB
==================================================
16,417 bytes in 0.09 seconds (180.14KB/sec)
; Loading "cl-mediawiki"
;;; Checking for wide character support... yes, using UTF-16.
;;; Building Closure with CHARACTER RUNES
..................................................
[package net.acceleration.cl-mediawiki]
; in (DEFUN MAKE-API-REQUEST ...)

; Caught STYLE-WARNING:
;   Undefined variable *DEFAULT-EXTERNAL-FORMAT* assumed special

; Caught COMPILE-WARNED-WARNING:
;   Lisp compilation had style-warnings while
compiling
   #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-mediawiki" "src" "main">

; in (DEFINE-PROXY GET-ACTION-TOKENS ...)

; Caught STYLE-WARNING:
;   The variable PAGE is defined but never used.

.
; Caught COMPILE-WARNED-WARNING:
;   Lisp compilation had style-warnings while
compiling
   #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-mediawiki" "src" "query">


; Compilation unit finished
;   Caught 2 WARNING conditions
;   Caught 2 STYLE-WARNING conditions


(:CL-MEDIAWIKI)
CL-USER>  (ql:dist-version "quicklisp")
"2014-11-06"
CL-USER> (lisp-implementation-version)
"1.4.0-dev"
"Java_HotSpot(TM)_64-Bit_Server_VM-Oracle_Corporation-1.8.0_25-b17"
"x86_64-Mac_OS_X-10.10.1"

comment:16 Changed 7 years ago by Alan Ruttenberg

I'm very glad

comment:17 in reply to:  15 Changed 7 years ago by Mark Evenson

Replying to mevenson:

Replying to alan ruttenberg:

After accepting several errors on loadClassFromByteArray and loading the version of cl-mediawiki (ql version give an error something about flexi streams) from https://github.com/AccelerationNet/cl-mediawiki I can now fetch a page.

CL-MEDIAWIKI seems to load ok for me:

Ah, with one caveat on my setup: post 1.3.9 versions of DRAKMA are currently not working due to issues with Gray streams not being subclassed correctly (a fundamental error in ABCL that I've been spending what time I had over the past couple weeks trying to figure out a way around) which manifests itself as a problem with FLEXI-STREAMS.

If you want to use ABCL with DRAKMA at the moment, you will need to run it with drakma-1.3.9.

comment:18 in reply to:  9 Changed 7 years ago by Mark Evenson

Replying to alan ruttenberg:

When is (abcl-asdf:init) supposed to be called?

Despite its exported status, ABCL-ASDF:INIT is not intended to be invoked by the user. ABCL-ASDF:INIT is invoked by the code calling into Maven whenever the ABCL-ASDF::*INIT* special is nil. Not a great design…

comment:19 Changed 7 years ago by Alan Ruttenberg

I don't want to use DRAKMA, I want to use cl-mediawiki (well, hardly any more TBH, given PITA).

comment:20 in reply to:  19 Changed 7 years ago by Mark Evenson

Replying to alan ruttenberg:

I don't want to use DRAKMA, I want to use cl-mediawiki (well, hardly any more TBH, given PITA).

cl-mediawiki depends on drakma for HTTP(S) communication, so the two desires are congruent.

comment:21 Changed 7 years ago by Mark Evenson

Closing ticket as the original poster never replied with additional details, and the conversation with Alan contains a lot of additional information. The intention is to link additional tickets here to follow up upon to resolve issues using the Maven connector.

To summarize:

  1. Both Drakma and Hunchentoot use cl+ssl to interact with OpenSSL libraries via CFFI.
  1. One may instruct Drakma or Hunchentoot to load without SSL by pushing the appropriate symbol to *FEATURES*, namely by
   (push :drakma-no-ssl *features*)

or

   (push :hunchentoot-no-ssl *features*)

respectively. Requesting Drakma/Hunchentoot? not to use SSL in this manner is probably best done in the ABCL startup file at <file:~/.abclrc>.

  1. For CFFI, ABCL uses the Java JNA library. The JNA library is located over the network and loaded by the ABCL-ASDF Maven connector, which requires Maven to be installed locally. The error message for not finding Maven needs to be more informative.
  1. If the heuristic for finding the Maven jar archives fails, but Maven is installed locally, one may explicitly specify this location by setting the special ABCL-ASDF::*MVN-LIBS-LOCATION*. The ABCL-ASDF Maven component does not use the Maven 'mvn' command directly, but instead uses the location of the 'mvn' command on the filesystem in an attempt to locate and load the Maven jar archives for direct manipulation of the Aether connector. When this heuristic fails, the ABCL-ASDF:*MVN-LIBS-DIRECTORY* needs to be specified explicitly.
  1. There should be some facility to print diagnostics on what the current state of a given ABCL process with Maven in a user friendly manner.


comment:22 Changed 7 years ago by Mark Evenson

Resolution: invalid
Status: acceptedclosed
Note: See TracTickets for help on using tickets.