freenode/#ecl - IRC Chatlog
Search
16:27:02
d333j
Hello peoples, if anyone has a moment to help... I'm having trouble getting sb-bsd-sockets to play nice with quicklisp... I've built with sockets, and testing it out from the REPL seems fine, for example, I can create an instance of an inet socket... however quicklisp does not seem to recognize that I've got sb-bsd-sockets and any build with it
16:27:03
d333j
as a dependency, ie usocket fails with the error "sb-bsd-sockets" not found [ condition of type quicklisp-cliet:system-not-found] ... seems to me to be an error on the quicklisp side. I've not found much in the way of networking examples with ECL in the documentation that I've got... any ideas?
18:29:10
d333j
making some progress... but running into issues with ssl libs on windows... as default with quicklisp it's looking for "libeay32.dll" however, compliling openssl gives you libssl-3 and libcrypto DLLs... I am trying to get around this by using the CL+SSL features flag FOREIGN-LIBS_ALREADY_LOADED, however when I try to (cffi:load-foreign-library
18:29:11
d333j
"libssl-3.dll") I get an error that ECL's DFFI support is required and I should use FFI:load-foreign-library with a constant arguement instead.. so I try (ffi:load-foreign-library "libssl-3.dll") and I get NIL
18:34:03
jackdaniel
d333j: libffi is supported on windows when you build with either cygwin or mingw
18:35:12
jackdaniel
n.b I want to bundle statically linked bearlssl with ecl (optionally), but that won't land in the upcoming release
18:36:34
d333j
ok well I guess I'll be doing my networking in c++ GRRR was looking forward to exploring hunchentoot
18:38:47
jackdaniel
quick search yields https://stackoverflow.com/questions/2529770/how-to-use-libraries-compiled-with-mingw-in-msvc
18:41:16
d333j
CL-USER> (princ *features*)(BORDEAUX-THREADS FLEXI-STREAMS THREAD-SUPPORT FLAT-NAMESPACE WINDOWS CFFI FLAT-NAMESPACE SWANK PROFILE QUICKLISP WSOCK ASDF-PACKAGE-SYSTEM ASDF3.1 ASDF3 ASDF2 ASDF OS-WINDOWS NON-BASE-CHARS-EXIST-P ASDF-UNICODE WALKER ECL-BYTECMP CDR-1 CDR-5 WIN32 FORMATTER CDR-7 ECL-WEAK-HASH LITTLE-ENDIAN LONG-LONG UINT64-T UINT32-T
18:41:17
d333j
UINT16-T RELATIVE-PACKAGE-NAMES UNICODE CLOS-STREAMS CMU-FORMAT WINDOWS MSVC ECL-PDE DLOPEN CLOS THREADS BOEHM-GC ANSI-CL COMMON-LISP IEEE-FLOATING-POINT CDR-14 PREFIXED-API FFI PENTIUM4 COMMON ECL)(:BORDEAUX-THREADS :FLEXI-STREAMS :THREAD-SUPPORT CFFI-FEATURES:FLAT-NAMESPACE CFFI-FEATURES:WINDOWS :CFFI CFFI-SYS::FLAT-NAMESPACE :SWANK :PROFILE
18:41:17
d333j
:QUICKLISP :WSOCK :ASDF-PACKAGE-SYSTEM :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-WINDOWS :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :WALKER :ECL-BYTECMP :CDR-1 :CDR-5 :WIN32 :FORMATTER :CDR-7 :ECL-WEAK-HASH :LITTLE-ENDIAN :LONG-LONG :UINT64-T :UINT32-T :UINT16-T :RELATIVE-PACKAGE-NAMES :UNICODE :CLOS-STREAMS :CMU-FORMAT :WINDOWS :MSVC :ECL-PDE :DLOPEN :CLOS
18:41:18
d333j
:THREADS :BOEHM-GC :ANSI-CL :COMMON-LISP :IEEE-FLOATING-POINT :CDR-14 :PREFIXED-API :FFI :PENTIUM4 :COMMON :ECL)CL-USER>
18:55:54
jackdaniel
but if you have dll loaded in your process (i.e linked when you build your msvc project), then there is no need to call load-foreign-library, no?
19:02:11
d333j
well... there is another issue getting in the way of testing this in my application... something else is causing it to crash and I've not pinpointed what so I'm trying to get it working in just stand alone ECL first...
19:03:53
d333j
the crash might be the same problem, but it's not totally crashing the program not dropping down into something I can view... when I'm connected to ECL via swank it loses the connection... I can see what's going on better in the standalone ECL
19:12:37
d333j
yes with the libs linked in MSVC project and the binaries in the same folder as my exe ...
19:12:42
d333j
(let ((*features* (cons :cl+ssl-foreign-libs-already-loaded *features*))) (ql:quickload :a-system-which-depends-on-cl+ssl) (ql:quickload :cl+ssl))
19:15:11
d333j
I don't get an error message back... it tells me ;oading "cl+ssl" but then I lose connection to ECL from slime
19:15:49
jackdaniel
one last thing I can think of: try removing the flag "alread-loaded" and load cffi first, then
19:16:38
jackdaniel
(defun cffi::%load-foreign-library (name path) (format t "Faking loading of ~s.~%" name)
19:17:56
d333j
ok I will look into this. got to switch over to other things now. thanks for the help