[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Correnson_Loïc <Loic.Correnson@t...> |
| Subject: | win32-ocamlopt 3.10 |
I was using win32-msvc-ocamlopt-3.06 for *many* years without any problem. I'm trying to upgrade to 3.10 with VC++ 2005 Express, but still have problems on linking phase. Symptom: > $ ocamlopt -verbose -o fact.exe fact.ml > + ml /nologo /coff /Cp /c /Fo"fact.obj" "C:\tmp\camlasm66fdf0.asm">NUL > + ml /nologo /coff /Cp /c /Fo"C:\tmp\camlstartup8f1c00.obj" "C:\tmp\camlstartupfba8a6.asm">NUL > + cl /nologo -D_CRT_SECURE_NO_DEPRECATE /MT /Fe"fact.exe" -I"D:\ocaml-3.10\lib" "C:\tmp\camlstartup8f1c00.obj" "D:\ocaml > -3.10\lib\std_exit.obj" "fact.obj" "D:\ocaml-3.10\lib\stdlib.lib" "D:\ocaml-3.10\lib\libasmrun.lib" advapi32.lib /link > /subsystem:console > Error during linking Installed required packages (on Windows 2000 Pro): * VC++ 2005 Express * Platform SDK SP1 * MASM (found v8.00) Already corrected or checked correct: * clash in $PATH between cygwin/bin/link and VC/bin/link * $PATH and $LIB includes references to VC++ and SDK paths > $ ls *.obj c:/tmp/*.obj c:/tmp/*.asm > ls: c:/tmp/*.obj: No such file or directory > c:/tmp/camlstartupfba8a6.asm fact.obj It seems that actually ml fails on creating the temporary .obj file. However, when I reply by hand the associated cl step: > $ ml /nologo /coff /Cp /c /Fo"C:\tmp\camlstartup8f1c00.obj" "C:\tmp\camlstartupfba8a6.asm" > Assembling: C:\tmp\camlstartupfba8a6.asm The .obj file is now assembled ! > $ ls *.obj c:/tmp/*.obj c:/tmp/*.asm > c:/tmp/camlstartup8f1c00.obj c:/tmp/camlstartupfba8a6.asm fact.obj However, when trying to link again by hand: > $ cl /nologo -D_CRT_SECURE_NO_DEPRECATE /MT /Fe"fact.exe" -I"D:\ocaml-3.10\lib" "C:\tmp\camlstartup8f1c00.obj" "D:\ocam > l-3.10\lib\std_exit.obj" "fact.obj" "D:\ocaml-3.10\lib\stdlib.lib" "D:\ocaml-3.10\lib\libasmrun.lib" advapi32.lib /li > nk /subsystem:console No output on std, but it seems to have failed again... > $ echo $? ; ls fact.* > 128 > fact.cmi fact.cmx fact.ml fact.obj Unfortunately, link /HELP and cl /HELP does not output anything (unlike ml!) Does anyone known how to debug linking phase on VC++ ? Does anyone succeed in using ocamlopt-msvc-3.10 ? L.