Bug #69729 [Csd]: unresolved externals when compiling with VC 2015
| From: | phpdev at ehrhardt dot nl | Date: | Fri, 29 May 2015 15:41:27 +0000 |
| Subject: | Bug #69729 [Csd]: unresolved externals when compiling with VC 2015 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-193006@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=69729&edit=1
ID: 69729
User updated by: phpdev at ehrhardt dot nl
Reported by: phpdev at ehrhardt dot nl
Summary: unresolved externals when compiling with VC 2015
Status: Closed
Type: Bug
Package: Compile Failure
Operating System: Windows with VC14
PHP Version: master-Git-2015-05-29 (Git)
Assigned To: ab
Block user comment: N
Private report: N
New Comment:
Not mixing CRT versions was exactly the reason why I switched to building PHP7 with VC14. Steffen
from Apachelounge compiled a VC14 Apache:
http://www.apachelounge.com/viewtopic.php?t=6544
His comment: "No problem to use the VC11 or VC10 modules, it is fully supported by
Microsoft."
Well, you do not like it and I do not. That is whu I installed VC14 and started all of a sudden.
Previous Comments:
------------------------------------------------------------------------
[2015-05-29 15:08:02] ab@php.net
Hi Jan,
thanks for the report, I see now. The golden rule still persists - no CRT mix. We had this
discussion many times, so please stop wasting time doing things that are not supposed to work.
Please use these VC14 packages http://windows.php.net/downloads/snaps/ostc/core_deps_7/
and ping back if you see some issues. I would have given you the link if you were asking before
starting to do the builds ;)
Thanks.
------------------------------------------------------------------------
[2015-05-29 14:25:15] phpdev at ehrhardt dot nl
Closing
------------------------------------------------------------------------
[2015-05-29 14:23:49] phpdev at ehrhardt dot nl
Closing. The needed libs were at
http://windows.php.net/downloads/snaps/ostc/core_deps_7/vc14_rc/x86/
------------------------------------------------------------------------
[2015-05-29 09:29:59] phpdev at ehrhardt dot nl
Current compilations:
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC14-x86.htm
https://phpdev.toolsforresearch.com/php-7.0.0-dev-nts-Win32-VC14-x86.zip
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC14-x86.htm
https://phpdev.toolsforresearch.com/php-7.0.0-dev-Win32-VC14-x86.zip
------------------------------------------------------------------------
[2015-05-29 09:20:04] phpdev at ehrhardt dot nl
Description:
------------
I am getting lots of unresolved externals when I try to compile PHP7 with VC14 (VC 2015).
I started with a clean sheet and VC 2015 Pro RC. I used the deps from http://windows.php.net/downloads/php-sdk/deps-5.6-vc11-x86.7z
as starting point. With those deps a lot of extensions did not compile.
I recompiled mcrypt, iconv, xml2, ssleay32, libeay32, ssh2, curl, xpm, zlib, jpeg, png, vpx, libbz2,
netsnmp (all x86 vc14) to get rid of many problems. But I was really surprised recompilation if the
libs was needed. Some still remain, like php_gmp.dll, which fails on the mpir_a.lib in the VC11 deps
for 5.6.
Error messages below.
Test script:
---------------
Recreating build dirs
Recreating build dirs
Recreating build dirs
libiconv_a.lib(iconv1.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with
/LTCG; add /LTCG to the link command line to improve linker performance
Creating library C:\php-sdk\php70dev\Release_TS\php7ts.lib and object
C:\php-sdk\php70dev\Release_TS\php7ts.exp
Generating code
Finished generating code
Creating library C:\php-sdk\php70dev\Release_TS\php_gmp.lib and object
C:\php-sdk\php70dev\Release_TS\php_gmp.exp
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use
/NODEFAULTLIB:library
mpir_a.lib(memory.obj) : error LNK2019: unresolved external symbol ___iob_func referenced in
function ___gmp_default_allocate
mpir_a.lib(assert.obj) : error LNK2001: unresolved external symbol ___iob_func
C:\php-sdk\php70dev\Release_TS\php_gmp.dll : fatal error LNK1120: 1 unresolved externals
Expected result:
----------------
I expected that VC14 would build with the deps that work fine for VC11 and VC12
Actual result:
--------------
Broken compilation for lots of extensions (and even the core before I recompiled some libs).
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=69729&edit=1