[Ecls-list] ECL on windows 64?

Matic Kukovec matic.kukovec at pametnidom.si
Mon Jul 22 22:05:27 UTC 2013


Hi,

I finally got the compilation to work. I'm not sure what was wrong the 
first time I tried it.

If anyone wants to try compiling on Windows 7 64-bit, here is the 
procedure I used:
     - clone the git repository of ECL into any directory
     - run the "Visual Studio x64 Win64 Command Prompt (2010)" (you need 
"Visual Studio 2010" with MSVC++ x64 compiler installed)
     - move to the directory where you cloned ECL and into the "msvc" 
sebdirectory
     - edit the "Makefile" in line 21 and change it from "#ECL_WIN64 = " 
to "ECL_WIN64 = 1", then save the Makefile
     - run "nmake" from the same directory and wait for the compilation 
to finish
     - run "nmake install", this will install ECL to the "msvc\package" 
subdirectory
     - run "ECL" form "msvc\package" and install the compiler by 
entering "(ext:install-c-compiler)" into the REPL
     - compile your lisp file(E.G.: hello.lisp) to an .obj file by 
entering "(compile-file "path_to_file/hello.lisp" :system-p t)" into the 
REPL
     - build your program by entering "(c:build-program 
"your_program_name" :lisp-files '("path_to_file/hello.obj"))" into the REPL
     - you will need ecl.dll and any other dependencies in the directory 
where you run your compiled program or in the "PATH"

I know that the procedure is explained in the ECL manual, but I was so 
happy that I got it to work that I had to share it with you guys.

Cheers,
Matic



On 22.7.2013 0:32, Matic Kukovec wrote:
> Thanks for the information.
>
> About point 1.:
> Did you build ECL yourself?
>         yes
>
> Which compiler did you use?
>         MSVC 2010 x64, I ran "nmake" from the "Visual Studio x64 Win64 
> Command Prompt (2010)"
>
> Which flags did you use for building ECL? Did you use "nmake ECL_WIN64=1"?
>         Uncommented the "ECL_WIN64=1" flag in the MakeFile, then ran 
> "nmake"
>
> How did you install ECL?
>         Did not install it, just ran the ecl2.exe after the 
> compilation finished.
>         Also tried running "nmake install" then running the ecl.exe 
> from the package directory, still got the same error.
>
> Is the same compiler used for building ECL and for compiling this code?
>         I do not know how to select the compiler, I only ran 
> "(ext:install-c-compiler)" in the REPL and it automatically installed 
> the compiler
>         and printed the message:  ;;; Loading 
> #P"C:/Users/Matic/Desktop/LISP/ECL_64/ecl/msvc/package/cmp.fas"
>         If I do not run the "(ext:install-c-compiler)", then it only 
> compiles to a .fas file.
>         How do you select the appropriate c compiler?
>
> P.S.: I used the exact same procedure on a 32-bit Windows XP with the 
> MSVC 2010 x86 compiler and it worked like a charm.
>
> Any advice would be greatly appreciated.
>
> Matic
>
>
> On 21.7.2013 22:17, Juan Jose Garcia-Ripoll wrote:
>> I am forwarding your email to the mailing list. I do not answer 
>> private emails nor solve individual problems. If you have some doubt 
>> about ECL, the mailing list is the place for asking.
>>
>> On Sun, Jul 21, 2013 at 12:14 PM, Matic Kukovec 
>> <matic.kukovec at pametnidom.si <mailto:matic.kukovec at pametnidom.si>> wrote:
>>
>>     1. How do i compile a program on a Windows 7 64-bit system to
>>     native code?
>>         I tried this procedure: - installed the c compiler with
>>     "(ext:install-c-compiler)", i am using the MSVC++ 2010 compiler
>>                                                - created hello.lisp
>>     file same as in the "1.6 Compiler examples" of the manual
>>                                                - ran (compile-file
>>     "hello.lisp" :system-p t)
>>         I get this message:
>>                                         > (compile-file
>>     "C:/Users/Matic/Desktop/LISP/ECL_Testiranje/hello.lisp")
>>                                         ;;;
>>                                         ;;; Compiling
>>     C:/Users/Matic/Desktop/LISP/ECL_Testiranje/hello.lisp.;;;
>>     OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0
>>                                         ;;;
>>                                         ;;; End of Pass 1.hello.c
>>                                         .\ecl/object.h(826) : error
>>     C2632: 'long' followed by 'long' is illegal
>>                                         .\ecl/object.h(827) : error
>>     C2632: 'long' followed by 'long' is illegal
>>
>>
>> There is not enough information here:
>>
>> - Did you build ECL yourself?
>> - Which compiler did you use?
>> - Which flags did you use for building ECL? Did you use "nmake 
>> ECL_WIN64=1"?
>> - How did you install ECL?
>> - Is the same compiler used for building ECL and for compiling this code?
>>
>>
>>     2. How do you run a LTk application properly?
>>
>>
>> This is not the right place to ask this question.
>>
>> Juanjo
>>
>> -- 
>> Instituto de Física Fundamental, CSIC
>> c/ Serrano, 113b, Madrid 28006 (Spain)
>> http://juanjose.garciaripoll.googlepages.com
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20130723/08e804c2/attachment.html>


More information about the ecl-devel mailing list