From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 1201ABC37 for ; Sun, 24 May 2009 16:23:22 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ai8CAF71GEqB8ApGmWdsb2JhbACXYwEBAQEBCAsKBxG4E4QLBQ X-IronPort-AV: E=Sophos;i="4.41,240,1241388000"; d="tgz'50?ml'50?scan'50,208,49,50";a="29829808" Received: from mail-forward1.uio.no ([129.240.10.70]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 24 May 2009 16:23:21 +0200 Received: from exim by mail-out1.uio.no with local-bsmtp (Exim 4.69) (envelope-from ) id 1M8Ebg-0004bH-D4 for caml-list@inria.fr; Sun, 24 May 2009 16:23:20 +0200 Received: from mail-mx6.uio.no ([129.240.10.47]) by mail-out1.uio.no with esmtp (Exim 4.69) (envelope-from ) id 1M8Ebg-0004bE-Bt for caml-list@inria.fr; Sun, 24 May 2009 16:23:20 +0200 Received: from 217-14-4-204-dhcp-osl.bbse.no ([217.14.4.204] helo=[10.0.0.104]) by mail-mx6.uio.no with esmtpsa (TLSv1:AES256-SHA:256) user hans (Exim 4.69) (envelope-from ) id 1M8Ebf-0008Rf-Tc for caml-list@inria.fr; Sun, 24 May 2009 16:23:20 +0200 Message-ID: <4A195857.9050306@simula.no> Date: Sun, 24 May 2009 16:23:19 +0200 From: Hans Ole Rafaelsen User-Agent: Thunderbird 2.0.0.21 (X11/20090318) MIME-Version: 1.0 To: caml-list@inria.fr Subject: Linking fails for native version of 3.11 under MinGW when using large number of modules Content-Type: multipart/mixed; boundary="------------000808000208010303010004" X-UiO-Ratelimit-Test: rcpts/h 1 msgs/h 1 sum rcpts/h 1 sum msgs/h 1 total rcpts 233 max rcpts/h 7 ratelimit 0 X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=_URIID_) X-UiO-Scanned: 48BA19084D73244F74593ED3F2539105541E7DFD X-UiO-SPAM-Test: remote_host: 217.14.4.204 spam_score: -49 maxlevel 80 minaction 2 bait 0 mail/h: 1 total 4 max/h 1 blacklist 0 greylist 0 ratelimit 0 X-Spam: no; 0.00; rafaelsen:01 mingw:01 mingw:01 ocaml:01 cygwin:01 cygwin:01 findlib:01 ocaml:01 ocamlfind:01 ocamlopt:01 -linkpkg:01 -package:01 -package:01 netstring:01 foo:01 X-Attachments: type="application/x-compressed-tar" name="link_bug.tgz" name="link_bug.tgz" This is a multi-part message in MIME format. --------------000808000208010303010004 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi, I have problems linking my application with MinGW version of OCaml 3.11. I'm using GODI for my installation, thus my build environment is cygwin. I'm not sure if this is a cygwin, mingw, godi, findlib or ocaml problem. I'm using the cygwin version 1.7 under 32bit WinXP. In a simplified example, during the link stage, the linker fails with this message: ** Fatal error: Error during linking File "caml_startup", line 1, characters 0-1: Error: Error during linking Exit code 2 while executing this command: ocamlfind ocamlopt -g -linkpkg -package json-wheel -package str -package extlib -package netsys -package rpc -package unix -package netplex -package xstr -package ocamlgraph -package bitstring -package num -package pop -package netstring src/foo/bar100.cmx src/foo/bar101.cmx src/foo/bar102.cmx src/foo/bar103.cmx src/foo/bar104.cmx src/foo/bar105.cmx src/foo/bar106.cmx src/foo/bar107.cmx src/foo/bar108.cmx src/foo/bar109.cmx src/foo/bar110.cmx src/foo/bar111.cmx src/foo/bar112.cmx src/foo/bar113.cmx src/foo/bar114.cmx src/foo/bar115.cmx src/tests/foo.cmx -o src/tests/foo.native test/foo.ml is just: open Bar100 ... open Bar115 let () = Printf.printf "foo\n"; flush stdout And the baxXXX.ml files are just: $ cat src/foo/bar100.ml let () = () By reducing the number of bars opened in foo.ml to Bar114 as the last, it builds and produces the following working file: $ ./_build/src/tests/foo.native foo $ file _build/src/tests/foo.native _build/src/tests/foo.native: PE32 executable for MS Windows (console) Intel 80386 32-bit By removing some of the packages from the link stage, it builds easily with more BarXXX modules included. Some of the packages seems to high a higher impact than others. By instead opening BXXX modules, which do the same as BarXXX modules, but have shorter names, I'm able to include a few more, when linking against the same packages. Including up to B116 works, and it fails when trying B117. So it looks like it is impacted of both the number of symbols and their length. By not linking against any packages, I'm able to include a large number of my own modules (tested with long names), so it does not seem to be the length of the command line arguments that is causing the problems. Some info about the various versions of programs being used: $ gcc -v Reading specs from /bin/../lib/gcc/i686-pc-cygwin/3.4.4/specs Configured with: /managed/gcc-build/final-v3-bootstrap/gcc-3.4.4-999/configure --verbose --program-suffix=-3 --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --without-included-gettext --enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug Thread model: posix gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) $ ld -v GNU ld (GNU Binutils) 2.18.50.20080625 $ ocamlopt -v The Objective Caml native-code compiler, version 3.11.0 Standard library directory: C:/cygwin/work/godi-3.11-mingw/lib/ocaml/std-lib $ file `which ocamlopt` /work/godi-3.11-mingw/bin/ocamlopt: PE32 executable for MS Windows (console) Intel 80386 32-bit Any idea of what is the problem? Is there some options that will enable more info of what fails during linking, than just the "** Fatal error: Error during linking" message? Any suggestions for possible workarounds? Under Linux linking these works just fine. Also byte version seems to link fine under MinGW. Attached is the files used to demonstrate the problem. Regards, Hans Ole Rafaelsen --------------000808000208010303010004 Content-Type: application/x-compressed-tar; name="link_bug.tgz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="link_bug.tgz" H4sIAIBwb0UAA+2da3PbyJWG/TX8FR1WKpYciyZuhGSPXeXJrVw1k9na8e5+mHhVEAmSGFEA iwBtqSo/fhsACVLdxzNeRT7o5LxPTWwIBMCDy9OHYr/lrLL8+vJqu3jx5Osx1sRRVP/txZNx 87f+r1m/44nn+eOJH07icfBk7HmxP36ioq9YU8e2rJKNUk82yXyZ5J/f7l2+SH/h5X9VVvv7 /31ync6zVfoV3qO+wZMw/Oz998Ngd//Hk9jXz4kXBFH8RI2/Qi0Wwu//t//17rs/vf3Pv/74 +my6Ssoym57NsnK9Su7UWV6crYrFYJCsVi+Vurqr0sHgb2/fv/vvP1++17v8+f2Pr8vN9EWV llX5Yl4Uozypso96o/bvl4PfnBTT5GZ1tc1WM/W7k+69TvUP9w90ejoYDKarNMn1XpsbdbaZ q8tmv8Gg70v0b03n/83d4V6NblaP+R6/4n888eOd/17ke/p1L4yDEP5zUKzTXP3Q3fnL9Wq7 yPLByTPVvPLH4uYmyWfq7EzlhVoV+iJsVJ6ms3Sm5sVG/fBHvad681oFI2888tUz7bHet1qm Zarm23xaZUVeqmST6v0rtUn1WHKnivk8m2bNYnq7LjaVPprec5XqLbb5pX7DS73lTL2+V1ky vR59f3e5zbPb0fFmzX5Xq0Q/yGW6viyrTZYvSmLn79LbdFOOrE0HzRH0oJfpP9V0qV4PlKpX 3eqDbNK5+umD0tekXbdJp2pR6O3qjdpV66J+tx+bg42yfJbetodp9lH6KC9fq5Pdy1epvmyp fl3vdPry5W9vXzXb6CPut0jmlb7GpTqpD/sH5emhUbWHqjZ3+41LvfApq5bqb0V1OS+29S16 o35727wuhsN9u8xX9S3pbuLTv+dP29vaXvDLUj8B6e6u7a+jeUtOjFv4VD09Ja9zWT/jw+02 m90MX6n60W2e+axUq0z3QqWfbFVu17snu372kkVa7h/xuT7+Zbfy5LSp6afhz2WRn31apulq +Kr9QY9MVTbVP+nnVP+Z3lar7Eov5GlV3pV6YbOuX62FaNeuV2m9dNtu34zni02yXuofrrKq fdqPl0flXV4l9S71putQL1TLWqn64PlWn9xwXax377jb+0N9rkp9p090dJOs71/fk+5m/P6+ yW0x9Zk3l2h4ehgp9FXT/zWXq9RXqyqaLVTyMclWydVK35imyLR8rq62lXqnZkX+tFLXefFJ LfX/9A6zQmXV6N713e/UXF99ddsTLObduRb6zu0WN8MPTS2HGqe7YW93xMML9Yjw409vD6ej j3L7oX3SLvVr9WenpNLuX6V6GO1GwPpx+4f6tr1UxbodFM/e7G3V7311p7alvsDmRkWeNmPM viLdr1O1f3GZfExVkqtltljqMWO9yYpNVt3VZR+OXOT1cKwPkFebZLN/m7f1KNO9y6dMP7GL bbJJ8ipN60vaHLrejzj28cE/pptNNkvVLJ0n21VXZ1mf0OGy6bMoj6r6oX3bUbPBtFmlh8jD 5r8/XGP9gL8dni2GH16RO+sT+IWd9au/vPssXdu773bWrw0/s1cx/fxexfQze91cV8X6M3s1 rw0H7WPS3prNdpU2z8jR1f6fpW7JzROhP7XVN75tv3pUqO/si6ssr//aDS3Pmy3LZbHVH763 uh2f1XutrxdHN2K+ShZajqaG2od6i+GHpq791vpsjir4i+75aaKf78NJ7N6uebcs/zmdVs1z c9atby6C0iNbvj/Qb57Vz8k602+xeN4sbqv6odSXPNVjbz7Natv15610k7QvFNPtTZrX46E+ lH6+jo5U11mPZUen1QxOWd1GOw1VfeIH4+xTbwtK6/F8qLe9HP6v/vPD7mnan4x+9W19pMPj ZB/o8PD8kwdqHqX2pX/uQM1dffXIB9KjcNX88nD/aPvVX3K4LJ/rBz3TQ85mrrvH//OC6SdF nZi99PTe0/pddn30INbdo/7MqvtompfNuNd2iZH6vtjUI5k6a1fUDUkbowUsjx60+gn+0qdt d5wvfeDazfWZtwvdye/7sz733Stf+OA9ygGPH8BHOSBxwx9w3MONP2ryp93LR/f//fLQmHaf bIaq0jXp+1v/OlLfAj2k1B8ymg953aA2Ovoc/U6PSOnseTOo7Q/WDs7JbNas3X9oGk1vkqHS T9jRittkeHSsrt/Wj1LbiJsPQLqmUTu671fqo3YjcDeE6hqPD7av9nl7kJtitm3ORPfyqj7W VVqXWH+m+pRN08MHgcMniZF50TTv9W8Xxarp/lnZNpFkvd4U9ahfl1oczvtsf02Pxvj2DI6O d3yFhl23OJznepN+zIqt/o2o+dXzcOk/36bqUaL7oHow6YP+BP/T20NZHw4Pxa8cYdf3Hrq7 +VzbRxroK7zv7Mu7RaZbW/2LRHv8k9PBPy7rH/VC/XS/esX3nVf3/U/9Td5Xeo8v/v5/HI+9 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 HFo1R1bNkVVzZNUcWTVHVs2RVXNk1RxZNUdWzZFV88SqeWLVPLFqnlg1T6yaJ1bNE6vmiVXz xKp5YtUcWzXHVs2xVXNs1RxbNcdWzbFVc2zVHFs1x1bN51bN51bN51bN51bN51bN51bN51bN 51bN51bN51bNF1bNF1bNF1bNF1bNF1bNF1bNF1bNF1bNF1bNF2bNftsHB4N2hW6L3ZLXLfnd UtAthd1S1C1NuqW4Wzrvli72S173Hl73Hl73Hl73Hl73Hl73Ht7kUL3Zkcx+ZHYjsxeZncjs Q2YXMnuQ2YHM/mN2H7P3mJ3H7Dtm1zF7jtlxzH5jdhuz15idxuwzZpcxe4zZYcz+YnYXs7eY ncXsK2ZXMXuK2VHMfmJ2E7OXmJ3E7CNmFzF7iNlBzP5hdg+zd5idw+wbZtcwe4bZMcx+YXYL s1eYncLsE2aXMHuE2SHM/mB2B7M3mJ3B7AtmVzB7gtkRzH5gdgOzF5idwOwDZhcwe4DZAczx 3xz9zbHfHPnNcd8c9c0x3xzxzfHeHO33Y/3+a7CBUv+xyfJqPlo3f6mh/m347/nwlX5hvtqW S1VWs2Jbvfp3+bKs+/3/K333U/PF3/+MJ/Ekrv//n4Nx7OH7Hw66+39ZJYvy67zHr33/Hwf7 7/91O4p8ff/9OED+n4VvdvM+b16qLJ+utrN08E33VeDRysE3VbF+8UyvyYvqcnm3yNI8mw6O Nt59b6i3WF8vLvO0Ku/K5/Xiz2WRn31apumq+TG9rVbZVbO4zbPb57ut16u0Xd5us9lNs3SV VWWlh+FF81MxTW5Wi02yXjY/6leav6+T9baqmsXNetr8PU1WaT5L2tdv9xuui/X+vY6Omm9v Bt88253Bs1GeVNnH9I0qNupo7dVdlf4LnlffzxYAAAAAAAAAAAAAAKBf/g8PXAiRAHADAA== --------------000808000208010303010004--