Skip to content
This repository has been archived by the owner on Jan 31, 2023. It is now read-only.

Unable to compile: fatal error C1900: Il mismatch between 'P1' version '20150812' and 'P2' version '20130802' #12

Closed
Wes0617 opened this issue Jun 27, 2017 · 14 comments

Comments

@Wes0617
Copy link

Wes0617 commented Jun 27, 2017

It used to work. I'm using VC14 x64 and PHP 7.1.6

I tried downloading the deps from both windows.php.net and from the phpsdk_deps tool but no luck, and same error on both the solutions.

@weltling
Copy link
Member

Thanks for the report. This kind of error usually means your Visual Studio install is broken. I'd advise to retry on some clean machine, with the core only first, or maybe try to reinstall VS.

Thanks.

@Wes0617
Copy link
Author

Wes0617 commented Jun 27, 2017

I've installed (and just reinstalled) only the vs build tools. It used to work before I've updated the dependencies. Also (don't know if relevant) I'm using the x86 x64 cross compiler, because I've never had the x64 native one... who knows why. I do have a 64 bit machine and OS.

@weltling
Copy link
Member

That might be a factor, yes. As soon as you try to link with deps, there might be issues, if you only compile sources and link with the same toolset - that's fine. Actually, there's no cross compilation support, it's documented.

Another point - i was working to support build tools only for vc15 (upcoming PHP 7.2), but not for vc14. If you bypass the starter scripts - well, that might be fine, but I never tried it, especially not with vc14 standalone build tools. Anyway it seems to be explicitly some VS issue, not the new sdk one, at the moment at least.

I'd recommend to get some community edition, conventional, standard :) and check with it.

Thanks.

@Wes0617
Copy link
Author

Wes0617 commented Jun 27, 2017

I could compile PHP 7.1.0 with the same setup. 7.1.5 and 7.1.6 failed instead. These are the only that I've tried. Does that help to identify the issue? I don't mind using an old version as it's for a dev machine anyway. It is strange though, because it always worked fine. Also, do you know why I don't get the native x64 compiler? Are you suggesting me to install VS express or whatever it's called now? Thank you for the help.

@weltling
Copy link
Member

It should not depend on the PHP version in 99% of cases. If you compile without deps - same toolset is used. As soon as deps are in the game, the toolset used for the deps and the toolset currently being used do matter.

Why there's no 64-bit compiler - not sure as I don't use the build tools. Do you vcvarsall.bat amd64 and it errors? Otherwise i'd expect the toolset were same as normal VS has, except it were some special x86 edition or alike. On the wiki we also always point to the Visual Studio only as the most reliable and hassle free experience. In that case, you'd simply click phpsdk-vc14-x64.bat and be automatically on the right shell.

Thanks.

@Wes0617
Copy link
Author

Wes0617 commented Jun 27, 2017

LINK : fatal error LNK1104: cannot open file 'E:\php-sdk\phpmaster\vc14\x64\Release_TS\resp\PHP_GLOBAL_OBJS.txt'
Also related? Will try Visual Studio. By the way, what about VS Code?

Do you vcvarsall.bat amd64 and it errors?
Yes, but it uses the cross compiler instead. It worked up until now :(

@weltling
Copy link
Member

The link error above is not related. It's because the response file is missing, those should not be deleted by hand, you need to configure and all that stuff again.

VS code is an editor only AFAIK, no idea about it anyway :)

Thanks.

@Wes0617
Copy link
Author

Wes0617 commented Jun 27, 2017

I did not delete it by hand :P

@weltling
Copy link
Member

Oh, then something fishy happens anyway. Should not happen, if you follow the build doc by letter.

Thanks.

@weltling
Copy link
Member

Btw. it were anyway interesting to know, what your vcvarsall.bat amd64 tells. At least to know, the standalone build tools have same config as VS.

Thanks.

@Wes0617
Copy link
Author

Wes0617 commented Jun 28, 2017

The specified configuration type is missing. The tools for the configuration might not be installed.

I've installed visual studio but nothing changed. I still only get the cross arm compiler, the x86 and the cross x64. no native x64 one

@Wes0617
Copy link
Author

Wes0617 commented Jun 28, 2017

So, after I've installed all released VS of the past 10 years, I'm still missing VC14 x64 compiler. I've lost all hopes. I'm trying on another machine now. Is it possible that Windows 7 just doesn't have it?

@Wes0617
Copy link
Author

Wes0617 commented Jun 28, 2017

Update: After it did that error again, I've tried to relaunch nmake again without doing nmake clean. It resumed from where it left before the error... and completed the compilation. I'm completely stumped. Running the tests now...

@weltling
Copy link
Member

Thanks for the further checks. As the issue doesn't regard the binary tools SDK, I'm closing it. Please direct the issues regarding the Visual Studio configuration to the corresponding places like MSDN support, etc. If you could invent a patch for the BuildTools support for vc14, I't be something to evaluate. Please also keep in mind, that we officially don't support yet the new SDK wrt. PHP lower than 7.2 and not Visual Studio, while it is likely to work.

Thanks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants