When compiling using nmake, I am receiving errors.
At first, I have first tried using msys according to Vern's excellent tutorial: https://stackoverflow.com/a/22649559/5092846
I then tried using msys2 to perform the same steps with the same results
These are my configuration parameters(zlib,pcre,openssl, and nginx-rtmp-module are present in the correct directories):
auto/configure \
--with-cc=cl \
--with-debug \
--prefix= \
--conf-path=conf/nginx.conf \
--pid-path=logs/nginx.pid \
--http-log-path=logs/access.log \
--error-log-path=logs/error.log \
--sbin-path=nginx.exe \
--http-client-body-temp-path=temp/client_body_temp \
--http-proxy-temp-path=temp/proxy_temp \
--http-fastcgi-temp-path=temp/fastcgi_temp \
--http-scgi-temp-path=temp/scgi_temp \
--http-uwsgi-temp-path=temp/uwsgi_temp \
--with-cc-opt=-DFD_SETSIZE=1024 \
--with-pcre=objs/lib/pcre-8.43 \
--with-zlib=objs/lib/zlib-1.2.11 \
--with-openssl=objs/lib/openssl-1.1.1c \
--with-openssl-opt=no-asm \
--with-http_ssl_module \
--add-module=nginx-rtmp-module
The result of running nmake -f Makefile is:
$ nmake -f Makefile
Microsoft (R) Program Maintenance Utility Version 14.23.28105.4
Copyright (C) Microsoft Corporation. All rights reserved.
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx86\x86\nmake.exe" -f objs/Makefile
Microsoft (R) Program Maintenance Utility Version 14.23.28105.4
Copyright (C) Microsoft Corporation. All rights reserved.
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx86\x86\nmake.exe" -f auto/lib/openssl/makefile.msvc OPENSSL="objs/lib/openssl-1.1.1c" OPENSSL_OPT="no-asm"
Microsoft (R) Program Maintenance Utility Version 14.23.28105.4
Copyright (C) Microsoft Corporation. All rights reserved.
cd objs/lib/openssl-1.1.1c
perl Configure VC-WIN32 no-shared --prefix="%cd%/openssl" --openssldir="%cd%/openssl/ssl" no-asm
Configuring OpenSSL version 1.1.1c (0x1010103fL) for VC-WIN32
Using os-specific seed configuration
Creating configdata.pm
Creating makefile
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL file first) ***
*** ***
**********************************************************************
if exist ms\do_ms.bat ( ms\do_ms && "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx86\x86\nmake.exe" -f ms\nt.mak && "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx86\x86\nmake.exe" -f ms\nt.mak install ) else ( "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx86\x86\nmake.exe" && "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx86\x86\nmake.exe" install_sw )
Microsoft (R) Program Maintenance Utility Version 14.23.28105.4
Copyright (C) Microsoft Corporation. All rights reserved.
"C:\perl32\Strawberry\perl\bin\perl.exe" "-I." -Mconfigdata "util\dofile.pl" "-omakefile" "crypto\include\internal\bn_conf.h.in" > crypto\include\internal\bn_conf.h
"C:\perl32\Strawberry\perl\bin\perl.exe" "-I." -Mconfigdata "util\dofile.pl" "-omakefile" "crypto\include\internal\dso_conf.h.in" > crypto\include\internal\dso_conf.h
"C:\perl32\Strawberry\perl\bin\perl.exe" "-I." -Mconfigdata "util\dofile.pl" "-omakefile" "include\openssl\opensslconf.h.in" > include\openssl\opensslconf.h
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx86\x86\nmake.exe" / depend && "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx86\x86\nmake.exe" / _all
Microsoft (R) Program Maintenance Utility Version 14.23.28105.4
Copyright (C) Microsoft Corporation. All rights reserved.
Microsoft (R) Program Maintenance Utility Version 14.23.28105.4
Copyright (C) Microsoft Corporation. All rights reserved.
"C:\perl32\Strawberry\perl\bin\perl.exe" "util\mkbuildinf.pl" "cl /Zi /Fdossl_static.pdb /MT /Zl /Gs0 /GF /Gy /W3 /wd4090 /nologo /O2 /WX -D"L_ENDIAN" -D"OPENSSL_PIC"" "VC-WIN32" > crypto\buildinf.h
cl /Zi /Fdossl_static.pdb /MT /Zl /Gs0 /GF /Gy /W3 /wd4090 /nologo /O2 /WX /I "." /I "crypto\include" /I "include" /I "crypto" -D"L_ENDIAN" -D"OPENSSL_PIC" -D"OPENSSLDIR=\"C:\\MinGW\\msys2\\nginx\\objs\\lib\\openssl-1.1.1c\\openssl\\ssl\"" -D"ENGINESDIR=\"C:\\MinGW\\msys2\\nginx\\objs\\lib\\openssl-1.1.1c\\openssl\\lib\\engines-1_1\"" -D"OPENSSL_SYS_WIN32" -D"WIN32_LEAN_AND_MEAN" -D"UNICODE" -D"_UNICODE" -D"_CRT_SECURE_NO_DEPRECATE" -D"_WINSOCK_DEPRECATED_NO_WARNINGS" -D"NDEBUG" -c /Focrypto\cversion.obj "crypto\cversion.c"
cversion.c
C:\MinGW\msys2\nginx\objs\lib\openssl-1.1.1c\include\internal/cryptlib.h(13): fatal error C1083: Cannot open include file: 'stdlib.h': No such file or directory
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx86\x86\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx86\x86\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'if' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx86\x86\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Hostx86\x86\nmake.exe"' : return code '0x2'
Stop.
If I understand this correctly, the failure is during the compilation of openssl - in the stdlib.h file(or lack thereof).
The issue was resolved by first launching the "Developer Command Prompt for VS 2019" prompt and then running msys from inside of it.
Related
I've used the answer here with success on previous installations but hitting a roadblock this time: How to install SIP & PyQT on windows 7
I get an error on the nmake step (see below):
C:\source>cd sip-4.19.9
C:\source\sip-4.19.9>python configure.py
This is SIP 4.19.9.dev1804161501 for Python 2.7.14 on win32.
The SIP code generator will be installed in c:\python27.
The sip module will be installed in c:\python27\Lib\site-packages.
The sip.pyi stub file will be installed in c:\python27\Lib\site-packages.
The sip.h header file will be installed in c:\python27\include.
The default directory to install .sip files in is c:\python27\sip.
Creating siplib\sip.h...
Creating siplib\siplib.c...
Creating siplib\siplib.sbf...
Creating sipconfig.py...
Creating top level Makefile...
Creating sip code generator Makefile...
Creating sip module Makefile...
C:\source\sip-4.19.9>"C:\Qt\5.10.0\msvc2015\bin\qtenv2.bat"
Setting up environment for Qt usage...
Remember to call vcvarsall.bat to complete environment setup!
C:\Qt\5.10.0\msvc2015>"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
C:\Qt\5.10.0\msvc2015>cd \source\sip-4.19.9
C:\source\sip-4.19.9>nmake
Microsoft (R) Program Maintenance Utility Version 14.00.24234.1
Copyright (C) Microsoft Corporation. All rights reserved.
cd sipgen
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"
Microsoft (R) Program Maintenance Utility Version 14.00.24234.1
Copyright (C) Microsoft Corporation. All rights reserved.
cd siplib
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"
Microsoft (R) Program Maintenance Utility Version 14.00.24234.1
Copyright (C) Microsoft Corporation. All rights reserved.
cl -c -nologo -Zm200 -Zc:wchar_t- -O2 -MD -W3 -DNDEBUG -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -I. -Ic:\python27\include -Fo #C:\Users\suzanne\AppData\Local\Temp\nmB36B.tmp
siplib.c
apiversions.c
descriptors.c
qtlib.c
threads.c
objmap.c
voidptr.c
array.c
int_convertors.c
Generating Code...
cl -c -nologo -Zm200 -Zc:wchar_t- -O2 -MD -W3 -w34100 -w34189 -DNDEBUG -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -I. -Ic:\python27\include -Fo #C:\Users\suzanne\AppData\Local\Temp\nmB8AB.tmp
bool.cpp
link /NOLOGO /DYNAMICBASE /NXCOMPAT /DLL /MANIFEST /MANIFESTFILE:sip.pyd.manifest /SUBSYSTEM:CONSOLE /INCREMENTAL:NO /OUT:sip.pyd #C:\Users\suzanne\AppData\Local\Temp\nmB939.tmp
Creating library sip.lib and object sip.exp
mt -nologo -manifest sip.pyd.manifest -outputresource:sip.pyd;2
'mt' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'mt' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
Figured it out...
mt.exe part of Visual Studio's Windows SDK, which wasn't installed. Went back and installed it through Get Tools and Features.
Then found \x86\mt.exe and added it to path.
I've trying to compile libSVM on W10 with Visual Studio 2015 Enterprise compiler and I get this error.
I type nmake -f makefile.win
Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
Copyright (C) Microsoft Corporation. All rights reserved.
cl.exe -nologo -O2 -EHsc -I. -D __WIN32__ -D _CRT_SECURE_NO_DEPRECATE -c timer.cpp
timer.cpp
timer.cpp(26): fatal error C1083: Cannot open include file: 'limits': No such file or directory
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\cl.exe"' : return code '0x2'
Stop.
It seems some problem with visual studio installation?
I've think that was something related to the C++ Compiler.
The end result is I am trying to compile something that requires the APR from Apache on Windows.
Edit: Tried Visual Studio command line tools for VS2013 & VS2014.
Link for SVN checkout shows 404: http://apr.apache.org/anonsvn.txt
so...
From this link http://apr.apache.org/compiling_win32.html I have downloaded the three files. I unzipped them and renames them as the directory structure suggested.
C:\work\apr\
C:\work\apr-iconv\
C:\work\apr-util\
Moved to the apr-util directory and ran the following make command and received the following errors.
Note there is the comment about "Current versions of APR do not need awk..." but the link does not work, does it matter?
Anybody have any luck compiling this, do I need other lib/include/objects?
nmake -f Makefile.win buildall checkall installall clean
Received the following errors:
<clip>
rc.exe /l 0x409 /fo".\Release\libapriconv.res" /i "./include" /i "../apr/include" /d "NDEBUG" /d "API_VERSION_ONLY" .\libapriconv.rc
Microsoft (R) Windows (R) Resource Compiler Version 6.3.9600.17336
Copyright (C) Microsoft Corporation. All rights reserved.
link.exe #C:\Users\JOHNAT~1\AppData\Local\Temp\nm390A.tmp
Creating library .\Release\libapriconv-1.lib and object .\Release\libapriconv-1.exp
if exist .\Release\libapriconv-1.dll.manifest mt.exe -manifest .\Release\libapriconv-1.dll.manifest -outputresource:.\Release\libapriconv-1.dll;2
echo Helper for Post-build step > ".\Release\postbld.dep"
cd ccs
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\nmake.exe" -nologo -f Makefile.win all BUILD_MODE="Win32 Release" BIND_MODE=shared adobe-stdenc.c
Creating library ..\Release\iconv\adobe-stdenc.lib and object ..\Release\iconv\adobe-stdenc.exp
adobe-stdenc.obj : error LNK2011: precompiled object not linked in; image may not run
..\Release\iconv\adobe-stdenc.so : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\link.EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
It's a little late, but here is how I fixed it.
In the build\modules.mk.win makefile change line 221 from
$(SILENT)link $(ALL_LDFLAGS) $*.obj $(API_LIBS) /out:$# \
To
$(SILENT)link $(ALL_LDFLAGS) $*.obj $(MODRES).obj $(API_LIBS) /out:$# \
The shared library target will now read:
.c{$(OUTPUT_DIR)}.so:
$(SILENT)cl $(ALL_CFLAGS) /Fo$*.obj /Yuiconv.h /c $<
$(SILENT)link $(ALL_LDFLAGS) $*.obj $(MODRES).obj $(API_LIBS) /out:$# \
/base:#"..\build\BaseAddr.ref",$(#F)
$(SILENT)if exist $#.manifest \
$(SILENT)mt -nologo -manifest $#.manifest -outputresource:$#;2 \
& del "$#.manifest"
$(SILENT)del "$*.exp" & del "$*.lib"
Source: https://gist.github.com/mkhon/01a1536b01e0065ae799
From the apache-apr project site under heading:
Developer Studio Workspace/Microsoft Development Environment IDE Build::
Open the apr-util/aprutil.dsw workspace, and choose either aprutil or libaprutil (for static or dynamic libraries) with the Release or Debug build as the Active Project. aprutil.dsw causes all related projects to be built.
Maybe you overlooked this statement : choose either aprutil or libaprutil as the Active Project...
Then build the active project.
I've been trying to get qxt working in Windows with MSVC 2010.
I have installed Qt 4.8.4 into "D:\Qt\4.8.4", and installed qxt into "D:\libqxt". I configured qxt as follows:
D:\libqxt>configure -prefix D:\libqxt -debug_and_release
And then compiled from the Qt command line:
D:\libqxt>nmake
No errors show up on configuration or compilation, but when I try to compile the examples, I get the following:
D:\libqxt\examples>qmake examples.pro
D:\libqxt\examples>nmake
Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
cd displaysettings\ && "C:\Program Files (x86)\Microsoft Visual Studio 1
0.0\VC\BIN\nmake.exe" -f Makefile
Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
d:\Qt\4.8.4\bin\qmake.exe -o Makefile displaysettings.pro
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe" -
f Makefile.Debug all
Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
compiling .\displaysettingsdialog.cpp .\main.cpp
displaysettingsdialog.cpp
D:\libqxt\include\QxtGui\QxtScreen(1) : fatal error C1083: Cannot open include f
ile: 'qxtscreen.h': No such file or directory
main.cpp
D:\libqxt\include\QxtGui\QxtScreen(1) : fatal error C1083: Cannot open include f
ile: 'qxtscreen.h': No such file or directory
Generating Code...
NMAKE : fatal error U1077: 'echo' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
Examining the makefiles, I see that "D:\libqxt\include" is in the include path, but that isn't where "qxtscreen.h" is located--it's in the "D:\libqxt\src" tree. I could, of course, manually edit the makefiles to add this, but I feel like that shouldn't be required, and perhaps this indicates that I've missed a step. What have I done wrong?
Thanks for your help!
I have successfully configured OpenSSL for building, but when I run nmake I get this:
c:\Development\Qt\5\OpenSSL>nmake -f ms\ntdll.mak test
Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
cl /Fotmp32dll\md4test.obj -Iinc32 -Itmp32dll /MD /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32
-W3 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE
-DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE
-DOPENSSL_NO_STATIC_ENGINE /Zi /Fdtmp32dll/app -c .\crypto\md4\md4test.c
.\crypto\md4\md4test.c : fatal error C1033: cannot open program database 'c:\development\qt\5\openssl\tmp32dll\app.pdb'
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
Advices appreciated.
This usually happens when some other application is trying access the file at the same time. For me, it was Dropbox. So, I had to disable the sync.
Another program which accesses the PDB files during compilation is mspdbsrv.exe. This program is started automatically by the build process. Kill it, and remove all the files in tmp32dll folder. It may have been left over from the previous build attempts.
Hope that helps!
I've had this error when I accidentally built with "ms\nt.mak", but then tried to test with "ms\ntdll.mak". Make sure you build and test with the same make file.