Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007615OCamlplatform support (windows, cross-compilation, etc)public2017-08-29 16:432017-10-10 14:03
Reporterschommer 
Assigned Todra 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version4.05.0 
Target VersionFixed in Version4.06.0+dev 
Summary0007615: Flexdll is incompatible with visual studio 2017.3
DescriptionI'm unable to compile ocaml with the latest visual studio 2017 release. The problem seems to be that the generated: dyndll_implib.lib is a not a valid file. During the linking of for example the unix library the following error is reported:

../../boot/ocamlrun ../../tools/ocamlmklib -oc unix accept.obj bind.obj channels.obj close.obj close_on.obj connect.obj createprocess.obj dup.obj dup2.obj errmsg.obj getpeername.obj getpid.obj getsockname.obj gettimeofday.obj link.obj listen.obj lockf.obj lseek.obj nonblock.obj mkdir.obj open.obj pipe.obj read.obj readlink.obj rename.obj select.obj sendrecv.obj shutdown.obj sleep.obj socket.obj sockopt.obj startup.obj stat.obj symlink.obj system.obj times.obj unixsupport.obj windir.obj winwait.obj write.obj winlist.obj winworker.obj windbug.obj access.obj addrofstr.obj chdir.obj chmod.obj cst2constr.obj cstringv.obj envir.obj execv.obj execve.obj execvp.obj exit.obj getaddrinfo.obj getcwd.obj gethost.obj gethostname.obj getnameinfo.obj getproto.obj getserv.obj gmtime.obj putenv.obj rmdir.obj socketaddr.obj strofaddr.obj time.obj unlink.obj utimes.obj -ldopt ws2_32.lib -ldopt advapi32.lib -v
+ ..\..\boot\ocamlrun ..\..\flexdll\flexlink.exe -x64 -merge-manifest -stack 33554432 -o .\dllunix.dll accept.obj bind.obj channels.obj close.obj close_on.obj connect.obj createprocess.obj dup.obj dup2.obj errmsg.obj getpeername.obj getpid.obj getsockname.obj gettimeofday.obj link.obj listen.obj lockf.obj lseek.obj nonblock.obj mkdir.obj open.obj pipe.obj read.obj readlink.obj rename.obj select.obj sendrecv.obj shutdown.obj sleep.obj socket.obj sockopt.obj startup.obj stat.obj symlink.obj system.obj times.obj unixsupport.obj windir.obj winwait.obj write.obj winlist.obj winworker.obj windbug.obj access.obj addrofstr.obj chdir.obj chmod.obj cst2constr.obj cstringv.obj envir.obj execv.obj execve.obj execvp.obj exit.obj getaddrinfo.obj getcwd.obj gethost.obj gethostname.obj getnameinfo.obj getproto.obj getserv.obj gmtime.obj putenv.obj rmdir.obj socketaddr.obj strofaddr.obj time.obj unlink.obj utimes.obj ws2_32.lib advapi32.lib -LR:\usr\20170829\130101\release\win64\lib\ocaml\flexdll
   Bibliothek "D:\cygdrive\tmp\dyndll_implib25d6f4.lib" und Objekt "D:\makefactory\d633fcee-7987-486e-808e-e1b5081ae129\tmp\dyndll_implib25d6f4.exp" werden erstellt.
D:\makefactory\d633fcee-7987-486e-808e-e1b5081ae129\tmp\dyndll_implib25d6f4.lib : fatal error LNK1136: illegal or corrupt file.
** Fatal error: Error during linking
Steps To ReproduceHappens during execution of make world.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0018204)
dra (developer)
2017-08-29 21:37

What version of FlexDLL are you using or did you bootstrap it? Have you been successfully using an earlier release of VS2017, or is this the first time you've tried it with VS2017?
(0018205)
schommer (reporter)
2017-08-30 09:42

Sorry for the missing details:
ocaml 4.05
flexdll latest (0.35)

The 2017.0 version did work without problem. It seems to be the case that only building shared libraries is broken.
(0018206)
dra (developer)
2017-08-30 22:54

I've replicated this and have a proposed fix to FlexDLL which I'm just testing before pushing there. Leaving this open because we'll need a new release of FlexDLL with the change, and the instructions and submodules on 4.05 and trunk will want updating accordingly.
(0018207)
schommer (reporter)
2017-08-31 10:18

The fix worked for me too.
(0018525)
xleroy (administrator)
2017-10-09 20:26

I see a 0.36 version of FlexDLL was released in Sept 2017 integrating the changes discussed here, and that README.win32.adoc mentions this version. I'm tentatively marking this PR as resolved/fixed in 4.06.
(0018531)
schommer (reporter)
2017-10-10 14:03

Fine with me, I think the only thing remaining was whether we should report this to change of behavior to Microsoft.

- Issue History
Date Modified Username Field Change
2017-08-29 16:43 schommer New Issue
2017-08-29 21:37 dra Note Added: 0018204
2017-08-30 09:42 schommer Note Added: 0018205
2017-08-30 22:54 dra Note Added: 0018206
2017-08-30 22:54 dra Assigned To => dra
2017-08-30 22:54 dra Status new => confirmed
2017-08-31 10:18 schommer Note Added: 0018207
2017-10-09 20:26 xleroy Note Added: 0018525
2017-10-09 20:26 xleroy Status confirmed => resolved
2017-10-09 20:26 xleroy Resolution open => fixed
2017-10-09 20:26 xleroy Fixed in Version => 4.06.0+dev
2017-10-10 14:03 schommer Note Added: 0018531


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker