From: Stephen W. <wes...@ke...> - 2006-12-15 00:37:43
|
I didn't get any response to my previous report on problems with using SLIME on windows with SBCL. Is anyone using SLIME on windows successfully? The problems still persist with SBCL 1.0. The first problem is when I start up I get VirtualAlloc: 0x1e7. ensure_space: failed to validate 41938944 bytes at 0x02000000 (hint: Try "ulimit -a"; maybe you should increase memory limits.) I can work around this by altering the SLIME start-up to use cmd.exe /C sbcl instead of just sbcl This works until it tries to create a socket to talk with XEmacs. when it gets an error: debugger invoked on a SB-BSD-SOCKETS:UNKNOWN-PROTOCOL: Protocol not found: "tcp" This error occurs while executing (SB-BSD-SOCKETS:GET-PROTOCOL-BY-NAME "tcp") Is there a problem with the sockets code. I would appreciate help with this as I have users that want to run our software under windows and I would like to use SBCL. Thanks, Stephen Westfold |
From: Yaroslav K. <kav...@je...> - 2006-12-15 07:40:39
|
Stephen Westfold wrote: > I didn't get any response to my previous report on problems with using > SLIME on windows with SBCL. Is anyone using SLIME on windows > successfully? I use without problems. But with gnu-emacs, not XEmacs. On Win2k & WinXP. -- WBR, Yaroslav Kavenchuk. |
From: Stephen W. <wes...@ke...> - 2006-12-16 00:40:40
|
Yaroslav Kavenchuk wrote: > Stephen Westfold wrote: >> I didn't get any response to my previous report on problems with >> using SLIME on windows with SBCL. Is anyone using SLIME on windows >> successfully? > > I use without problems. But with gnu-emacs, not XEmacs. On Win2k & WinXP. > That is promising, as my problems seem to be on the SBCL side and not the emacs side. Can you evaluate (SB-BSD-SOCKETS:GET-PROTOCOL-BY-NAME "tcp") without error? How about (make-instance 'sb-bsd-sockets:inet-socket :type :stream :protocol :tcp) ? Thanks, stephen |
From: Yaroslav K. <kav...@tu...> - 2006-12-17 21:15:12
|
Stephen Westfold wrote: > Can you evaluate > > (SB-BSD-SOCKETS:GET-PROTOCOL-BY-NAME "tcp") > > without error? > > How about > > (make-instance 'sb-bsd-sockets:inet-socket :type :stream :protocol :tcp) ? > This is SBCL 1.0.0.34, slime from CVS head ; SLIME 2006-11-24 CL-USER> (SB-BSD-SOCKETS:GET-PROTOCOL-BY-NAME "tcp") 6 CL-USER> (make-instance 'sb-bsd-sockets:inet-socket :type :stream :protocol :tcp) #<SB-BSD-SOCKETS:INET-SOCKET descriptor 6 {AF398A1}> CL-USER> -- WBR, Yaroslav Kavenchuk. |
From: nash e. f. <na...@na...> - 2006-12-15 18:22:34
|
On Thu, Dec 14, 2006 at 04:37:40PM -0800, Stephen Westfold wrote: > > debugger invoked on a SB-BSD-SOCKETS:UNKNOWN-PROTOCOL: Protocol not > found: "tcp" > This error occurs while executing > (SB-BSD-SOCKETS:GET-PROTOCOL-BY-NAME "tcp") It actually appears that the getprotobyname function isn't defined by the win32 sockets back-end. It appeats to be provided by Winsock2, so it could be a bug. Not being an sbcl developer, I can't say for sure and I don't have a Windows machine to test for you. Until there's a patch to fix it, perhaps something like this would work? (let ((proto-db '(("ip" . 0) ("icmp" . 1) ("tcp" . 6) ("udp" . 17)))) (defun get-proto-by-name (proto) (declare (string proto)) (cdr (assoc (string-downcase proto) proto-db :test #'equal)))) Good luck, -nash -- Please do not mock other religons in your quest for the Spaghetti god. - anonymous |
From: Stephen W. <wes...@ke...> - 2006-12-16 00:36:08
|
nash e. foster wrote: > On Thu, Dec 14, 2006 at 04:37:40PM -0800, Stephen Westfold wrote: > >> debugger invoked on a SB-BSD-SOCKETS:UNKNOWN-PROTOCOL: Protocol not >> found: "tcp" >> This error occurs while executing >> (SB-BSD-SOCKETS:GET-PROTOCOL-BY-NAME "tcp") >> > > It actually appears that the getprotobyname function isn't defined by > the win32 sockets back-end. It appeats to be provided by Winsock2, so it > could be a bug. Not being an sbcl developer, I can't say for sure and I > don't have a Windows machine to test for you. > > Until there's a patch to fix it, perhaps something like this would work? > > (let ((proto-db '(("ip" . 0) ("icmp" . 1) ("tcp" . 6) ("udp" . 17)))) > (defun get-proto-by-name (proto) > (declare (string proto)) > (cdr (assoc (string-downcase proto) proto-db :test #'equal)))) > > > Good luck, > > -nash > > Thanks for the suggestion, but doing this doesn't get me much further. I get the error: debugger invoked on a SB-BSD-SOCKETS:SOCKET-ERROR: Socket error in "socket": 9 (Bad file descriptor) with stack 0: (SB-BSD-SOCKETS:SOCKET-ERROR "socket") 1: (SB-BSD-SOCKETS:SOCKET-ERROR "socket") 2: ((SB-PCL::FAST-METHOD SHARED-INITIALIZE :AFTER ("#<...>" . "#<...>")) #<error printing object>) 3: ((LAMBDA ())) 4: ((LAMBDA (SWANK-BACKEND::HOST SWANK-BACKEND::PORT)) "127.0.0.1" 0) 5: (SWANK::SETUP-SERVER #<unavailable argument> #<CLOSURE (LAMBDA #) {E611B5D}> NIL NIL :ISO-LATIN-1-UNIX) 6: (SWANK:START-SERVER #<unavailable argument> :STYLE #<unavailable argument> :DONT-CLOSE #<unavailable argument> :EXTERNAL-FORMAT #<unavailable argument>) stephen |