Using MzScheme as interpreter.

 
Post new topic   Reply to topic    Aprelium Forum Index -> FastCGI/CGI
View previous topic :: View next topic  
Author Message
Mats Högman
-


Joined: 13 Jun 2004
Posts: 7

PostPosted: Sun Jun 13, 2004 5:50 pm    Post subject: Using MzScheme as interpreter. Reply with quote

Hi,
I'm into Scheme programming and learned that it is possible to use MzScheme in cgi scripting.
I encountered a problem... how do I use Scheme with Abyss Web Server?

I did all the things said in adding Pearl support, but for MzScheme instead. In the beginning of the *.scm file I put

#!/bin/sh
":";exec /usr/local/bin/mzscheme -r $0

but it doesn't work. I get an HTTP 500 error.

What is wrong?

Mats
Back to top View user's profile Send private message
Anonymoose
-


Joined: 09 Sep 2003
Posts: 2192

PostPosted: Sun Jun 13, 2004 7:02 pm    Post subject: Reply with quote

Are you running the Linux or Windows version of Abyss ?
Back to top View user's profile Send private message
Mats Högman
-


Joined: 13 Jun 2004
Posts: 7

PostPosted: Sun Jun 13, 2004 10:26 pm    Post subject: Reply with quote

I'm running the Windows version of Abyss.
Back to top View user's profile Send private message
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3752
Location: USA, GA

PostPosted: Sun Jun 13, 2004 10:36 pm    Post subject: Reply with quote

You setup your path wrong , you should install this language
like you installed Perl , without using the scripts #! line , the
problem should be solved now , I HOPE !
Back to top View user's profile Send private message Visit poster's website
Mats Högman
-


Joined: 13 Jun 2004
Posts: 7

PostPosted: Sun Jun 13, 2004 11:27 pm    Post subject: Reply with quote

That doesn't work either...
Back to top View user's profile Send private message
Anonymoose
-


Joined: 09 Sep 2003
Posts: 2192

PostPosted: Mon Jun 14, 2004 12:22 am    Post subject: Reply with quote

http://list.cs.brown.edu/pipermail/plt-scheme/2002-December/001284.html

... Only explanation I have so far.
Back to top View user's profile Send private message
Mats Högman
-


Joined: 13 Jun 2004
Posts: 7

PostPosted: Mon Jun 14, 2004 12:00 pm    Post subject: Reply with quote

I saw that post too, but I couldn't figure out what to do. Using .bat files in Windows is more like scripting in the local computer. In the DrScheme manual they made a difference in that kind of script and cgi-script.

I will try to install Pearl and see how that work and perhaps I can work it out that way. If someone have some solution on this problem please let me know.
Back to top View user's profile Send private message
aprelium
-


Joined: 22 Mar 2002
Posts: 6800

PostPosted: Tue Jun 15, 2004 1:12 pm    Post subject: Reply with quote

Mats Högman,

We'll download MzScheme and see how things works on Windows. FYI, we've already tested MzScheme on Linux and it works fine for CGI scripting with Abyss. So there should be no problem with Windows.
Please contact us at support@aprelium.com to have the answer quickly.
_________________
Support Team
Aprelium - http://www.aprelium.com
Back to top View user's profile Send private message Send e-mail
Anonymoose
-


Joined: 09 Sep 2003
Posts: 2192

PostPosted: Tue Jun 15, 2004 3:44 pm    Post subject: Reply with quote

I'd also be interested to see the answer - looks like it could be useful... I did download it and try to get it running but with no luck.
Back to top View user's profile Send private message
Mats Högman
-


Joined: 13 Jun 2004
Posts: 7

PostPosted: Tue Jun 15, 2004 4:09 pm    Post subject: Reply with quote

I have installed Perl and that works fine. Perhaps I'm doing something wrong when I try to install MzScheme. I added a path to MzScheme in autoexec.bat as they did with Perl, but it will not work.
Back to top View user's profile Send private message
Anonymoose
-


Joined: 09 Sep 2003
Posts: 2192

PostPosted: Tue Jun 15, 2004 4:20 pm    Post subject: Reply with quote

Seems to be more to do with how the interpreter included in MzScheme outputs under Windows, none of the .exe's I found could handle being passed a script to execute and return output to the server.
Back to top View user's profile Send private message
aprelium
-


Joined: 22 Mar 2002
Posts: 6800

PostPosted: Thu Jun 17, 2004 10:16 am    Post subject: Reply with quote

You should modify slightly your CGI configuration as follows:
* Open the console, select Server Configuration > Advanced > CGI Parameters
* Set "Resolve the interpreter using the #! line" to "Yes"
* In the CGI Paths, press Add and enter /*.scm in the Virtual Path field.
Press OK
* Remove any previous Scheme interpreter that you have declared in the CGI
Interpreters table
* Press OK
* Press Restart

Now go to any of you web site directory (htdocs/ by default) and create a
file called test.scm containing the following code:

Code:
#!"C:\Program Files\MzScheme\MzScheme.exe" -r %1

;Identify content-type as plain text.
(display "content-type: text/plain")
(newline)
(newline)
;Generate a page with the requested info. This is
;done by simply writing to standard output.
(for-each
(lambda (env-var)
(display env-var)
(display " = ")
(display (or (getenv env-var) ""))
(newline))
'("AUTH_TYPE"
"CONTENT_LENGTH"
"CONTENT_TYPE"
"DOCUMENT_ROOT"
"GATEWAY_INTERFACE"
"HTTP_ACCEPT"
"HTTP_REFERER" ; [sic]
"HTTP_USER_AGENT"
"PATH_INFO"
"PATH_TRANSLATED"
"QUERY_STRING"
"REMOTE_ADDR"
"REMOTE_HOST"
"REMOTE_IDENT"
"REMOTE_USER"
"REQUEST_METHOD"
"SCRIPT_NAME"
"SERVER_NAME"
"SERVER_PORT"
"SERVER_PROTOCOL"
"SERVER_SOFTWARE"))


Replace in the first line C:\Program Files\MzScheme\MzScheme.exe with the
full path of MzScheme.exe on your computer.

Now browse this file (using http://127.0.0.1/test.scm for example), does it
work? If not, please send us your abyss.conf file, your test.scm file and
tell us what is the full path of you have installed MzScheme on your hard
drive.

If it works, congratulations. Any Scheme file will only need adding the #!
line in order to run correctly by the web server (the server will use #! to
know how to run it, and adding /*.scm to the CGI Paths instructs the server
to consider /*.scm files as CGI scripts.)
_________________
Support Team
Aprelium - http://www.aprelium.com
Back to top View user's profile Send private message Send e-mail
iNaNimAtE
-


Joined: 05 Nov 2003
Posts: 2381
Location: Everywhere you're not.

PostPosted: Thu Jun 17, 2004 7:18 pm    Post subject: Reply with quote

Now if you set the #! to "yes," will that also start to resolve perl scripts using the #! also? Or will it still continue to use the set interpreter in the abyss.conf file?
_________________
Bienvenidos!
Back to top View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger ICQ Number
Mats Högman
-


Joined: 13 Jun 2004
Posts: 7

PostPosted: Fri Jun 18, 2004 7:07 am    Post subject: Reply with quote

I tested if it was possible to run both Scheme and Perl with this configuration and its not. If I add the path for Perl, Scheme would not work but Perl does. If I remove the path for Perl in the CGI Interpreters table Scheme will work but not Perl.

It would be nice if the Abyss software could choose interpreter by itself. Perhaps it could be solved with some sort of plugin. If I choose to install Scheme but I would like to use Perl or some other script in some other language. What to do?
Well I know that it is possible to write Scheme code and include C++, Java, Ada or whatever. Then it must be possible to write some scheme code to execute Perl or any other script language.
Back to top View user's profile Send private message
iNaNimAtE
-


Joined: 05 Nov 2003
Posts: 2381
Location: Everywhere you're not.

PostPosted: Fri Jun 18, 2004 7:22 am    Post subject: Reply with quote

There must be a workaround somehow, though. When you had the #! set to yes, and both interpreters set up, did you set the Perl's #! line accordingly?
_________________
Bienvenidos!
Back to top View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger ICQ Number
Mats Högman
-


Joined: 13 Jun 2004
Posts: 7

PostPosted: Fri Jun 18, 2004 6:20 pm    Post subject: Reply with quote

Yes
Back to top View user's profile Send private message
aprelium
-


Joined: 22 Mar 2002
Posts: 6800

PostPosted: Sat Jun 19, 2004 3:04 pm    Post subject: Reply with quote

Mats Högman,

We don't understand what is the problem with Scheme and Perl. If you install Perl as explained in http://www.aprelium.com/abyssws/perl.html, Abyss will rely on the file extension to know what interpreter it should run. If it can't find the extension associated with an interpreter, it will use the #! line. So Perl and Scheme will both work without any problem.

If this doesn't help, please send us your abyss.conf file.
_________________
Support Team
Aprelium - http://www.aprelium.com
Back to top View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    Aprelium Forum Index -> FastCGI/CGI All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB phpBB Group