Hello, I've tried compiling the latest ClojureCLR and ... it wasn't easy. Maybe because my setup is missing stuff (a fresh virtual machine with Windows Server 2003, Visual Studio 2008 SP1 and the Visual J# redistributables). Anyway, I managed to come up with a reproducible list of steps that got me into a ClojureCLR REPL and I'm thinking that the list of steps may be 1) useful to other people and/or 2) useful to me because it will trigger emails containing corrections to my process. If this is the wrong mailing list, please tell me which is the correct mailing list (I've seen ClojureCLR threads here before, couldn't find a ClojureCLR mailing list).
So here's my list of steps: 1. Create a 'clojure' directory somewhere convenient (this dir will be denoted by $CLOJURE below). 2. Download the DLR from http://dlr.codeplex.com/SourceControl/ListDownloadableCommits.aspx#DownloadLatest Right now the archive name is dlr-33505.zip, denoting the revision. The revision numbers will obviously increase. 3. Unzip the DLR archive into $CLOJURE 4. Load the $CLOJURE/DLR_Main/Src/Codeplex-DLR.sln solution in Visual Studio 2008 SP1. 5. Build it, close Visual Studio. 6. Clone the clojure-clr repository by running git clone git://github.com/richhickey/clojure-clr.git in $CLOJURE (the commit I used is f62dd19) 7. Open the $CLOJURE/clojure-clr/Clojure/ClojureCLR.sln solution in Visual Studio 2008 SP1. 8. Check the references of the Clojure project. If there is a yellow warning sign next to the 'vjslib' reference, you need to close the solution, download the VJ# redistributable from http://www.microsoft.com/downLoads/details.aspx?familyid=F72C74B3-ED0E-4AF8-AE63-2F0E42501BE1&displaylang=en , install it and go to step 7. 9. Check that the projects in the Runtime/ solution folder are loaded. Seems like this setup is similar to dmiller's - the projects load OK. 10. Since I was not interested in running the ClojureCLR tests, I did not install nunit or RhinoMocks. So building the whole solution won't work. Try building the Clojure project. 11. Get 134 errors, very similar to 'The type or namespace name 'Linq' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)'. Scratch head (optional sub-step). Remember that there is a 'System.Linq.Expressions' in .NET 3.5. Look for 'System.Linq.Expressions' in Runtime/Microsoft.Scripting.Core/Actions/BinaryOperationsBinder.cs. The #if directive at the start of the file provides a hint that we may want to use 'Microsoft.Scripting.Ast' instead (because the DLR assemblies we're interested in are compiled for .NET 2.0). Use Control-Shift-F to replace 'Microsoft.Linq.Expressions' with 'Microsoft.Scripting.Ast' across the entire solution. Save all, close the opened files, try building the Clojure project again. 12. Oh joy. The error count is down to two. Scratch head (again, this is optional). The errors are similar to 'The type or namespace name 'Utils' does not exist in the namespace 'Microsoft.Scripting.Ast' (are you missing an assembly reference?)'. Apparently we need 'SimpleCallHelper' from that namespace. Searching for it inside the DLR solution reveals that it is defined in project 'Microsoft.Dynamic' in the DLR. Add this project to the 'Runtime' solution folder inside the ClojureCLR solution (Existing Project, Microsoft.Dynamic.csproj). Also add a reference to the project to the Clojure project. Try compiling the Clojure project again. 13. The compilation succeeds. Wonderful. Build the Clojure.Compile project, then the Clojure.Main project. 14. Run the $CLOJURE/clojure-clr/Clojure/Clojure.Main/bin/Debug/Clojure.Main.exe. Celebrate getting a Clojure REPL by typing (+ 1 1) or your favourite Clojure expression. Cheers, -- Miron Brezuleanu --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---