|Anonymous | Login | Signup for a new account||2017-10-22 10:06 CEST|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005831||OCaml||configure and build/install||public||2012-11-17 20:58||2012-11-19 12:13|
|Status||closed||Resolution||no change required|
|Platform||Windows||OS||Windows||OS Version||Vista 64|
|Target Version||Fixed in Version|
|Summary||0005831: When buliding an MSVC executable, flexdll passes cygwin paths to microsoft tools|
|Description||When flexlink builds an MSVC project, it will pass cygwin style paths to microsoft LINK.|
For example, if I have TMPDIR unset, it passes /tmp/dyndll051eba.obj to link which gives this error:
LINK : warning LNK4044: unrecognized option "tmp/dyndll051eba.obj"; ignored
If I have TMPDIR set to c:\windows\temp, it passes /cygdrive/c/windows/temp/dyndlla8f209.obj to Link which gives this error:
LINK : warning LNK4044: unrecognized option "cygdrive/c/windows/temp/dyndlla8f209.obj"; ignored
|Steps To Reproduce||* build flexdll with a cygwin ocaml |
* build a msvc ocaml
* Either set TMPDIR to "c:/windows/temp" or leave it unset
* Build a "Hello world" with the MSVC port of OCaml and its ocamlbuild
You will get those errors when the project is linking.
|Additional Information||(Currently I can't link flexdll with my MSVC OCaml so I'm not certain whether that build of flexlink would have this problem.)|
This patch to flexlink 0.30 solves the problem: http://wwayneb.wikispaces.com/Windowsify+Patch [^] (I don't think the patch works if TMPDIR is not set.)
This other patch to flexlink 0.30 is useful for testing this problem because it causes flexlink.exe to print out the name of every temporary file that it creates. http://wwayneb.wikispaces.com/Flexdll+Noisy+Patch [^]
|Tags||No tags attached.|
|flexdll is supposed to be built with a native Win32 port (mingw or msvc). Do you have a reason not to use the binary distribution of flexdll?|
I get problems trying to build the libraries such as win32unix.
If I have flexlink in the default install path of "c:\program files (x86)\flexdll",
I get LINK : fatal error LNK1104: cannot open file ''c:\Program.obj'
(because some step in the process doesn't handle spaces properly)
If I move it to c:\Tools\Flexdll, I get this error:
LINK : fatal error LNK1104: cannot open file ''c:\Tools\Flexdll\flexdll_initer_msvc.obj''
where the problem is extra single quotes in the arguments to LINK (the '' is two single quotes, not a double quote. One is from the error message and one is from what was given to link.) I checked and the file is there.
subcommands get passed through bash which has its own magic processing in the middle
I found out today that the version I was using yesterday was not the "stock" version that I thought it was. I had replaced it by my own build about two weeks ago and forgot that I'd made the change.
Once I restarted the build process from start, I was able to get it to work, except that I couldn't build ocamlbrowser.
So this report is all wrong...
|2012-11-17 20:58||sesquized||New Issue|
|2012-11-17 22:34||frisch||Note Added: 0008522|
|2012-11-18 00:28||sesquized||Note Added: 0008523|
|2012-11-19 03:12||sesquized||Note Added: 0008528|
|2012-11-19 12:13||frisch||Status||new => closed|
|2012-11-19 12:13||frisch||Assigned To||=> frisch|
|2012-11-19 12:13||frisch||Resolution||open => no change required|
|2017-02-23 16:38||doligez||Category||OCaml internal build/install (Makefiles, configure) => configure and build/install|
|Copyright © 2000 - 2011 MantisBT Group|