Re: Unable to build MiKTeX

David Allsopp <[email protected]>
Newsgroups gmane.comp.tex.miktex
Organization MetaStack Solutions Ltd.
Message-ID <[email protected]>
A wrote:
> In the interim I had even tried Qt 5.7.0 which is the latest release
> (using
> "
> http://download.qt.io/official_releases/qt/5.7/5.7.0/qt-opensource-
> windows-x86-msvc2015_64-5.7.0.exe"
> -- that's the 64-bit one built with Visual C++ 2015), and that didn't even
> work.  Evidently there's a need for a very specific version and build,
> 5.8.0-beta.  Not only that, but you have to know specifically to get the
> one built with MSVC2015.  (I understand that an inference could be made on
> that based on the fact that we're using MSVC2015 to build MiKTeX, but
> still.)  IMHO, the build documentation needs to point people to the exact
> download, aside from the fact that the readme that we were viewing is
> out-of-date.

Indeed - you could make a pull request with updated documentation (indeed, your whole experience - extra links, etc. would be a valuable addition to the README.win file) - GitHub is very easy to use, if you haven't done it before and while extremely scary for a beginner, Git itself is not that scary for editing one document.

Looking below, it looks to me as though your xsltproc does not work. After you've set-up your PATH, what happens if you run xsltproc --version? I bet you get an error about a missing libxml2 DLLm not 4 lines of text. You also need to extract the following from ftp://ftp.zlatkovic.com/libxml/64bit/ (also to C:\miktex\libxslt-1.1.28-win32-x86_64):
	* libxml2-2.9.3-win32-x86_64.7z 
	* mingwrt-5.2.0-win32-x86_64.7z
	* iconv-1.14-win32-x86_64.7z
	* zlib-1.2.8-win32-x86_64.7z
It's possible that the last two are not required for MiKTeX's particular use, but you definitely need the first two (see the diagram on https://www.zlatkovic.com/libxml.en.html under "Getting The Binaries" - though it doesn't explicitly mention the mingwrt - however, you'll get messages about a missing pthread DLL which gives the game away) 

See how that works!


David

> So Qt 5.8.0-beta got me past this hurdle, but now I'm getting a different
> error when it builds the documentation.  Here's what happened:
> 
> - I got Qt 5.8.0-beta, 64-bit built by Visual C++ 2015:
>   - Download page:
> http://download.qt.io/development_releases/qt/5.8/5.8.0-beta/
>   - Direct link:
> http://download.qt.io/development_releases/qt/5.8/5.8.0-beta/qt-
> opensource-windows-x86-msvc2015_64-5.8.0-beta.exe
>   - Selected components for installation: "msvc2015 64-bit", "Qt Script
> (Deprecated)"
> 
> - I set the PATH as follows:
> > set PATH=C:\Windows\system32
> > "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
> x64
> > echo %PATH%
>   - Output: C:\Program Files (x86)\Microsoft Visual Studio
> 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files
> (x86)\MSBuild\14.0\bin\amd64;C:\Program Files (x86)\Microsoft Visual
> Studio
> 14.0\VC\BIN\amd64;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Progr
> am
> Files (x86)\Microsoft Visual Studio 14.0\VC\VCPackages;C:\Program Files
> (x86)\Microsoft Visual Studio 14.0\Common7\IDE;C:\Program Files
> (x86)\Microsoft Visual Studio 14.0\Common7\Tools;C:\Program Files
> (x86)\HTML Help Workshop;C:\Program Files (x86)\Microsoft Visual Studio
> 14.0\Team Tools\Performance Tools\x64;C:\Program Files (x86)\Microsoft
> Visual Studio 14.0\Team Tools\Performance Tools;C:\Program Files
> (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows
> Kits\10\bin\x86;C:\Program Files (x86)\Microsoft
> SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\;C:\Windows\system32
> > set PATH=%PATH%;C:\Program Files\CMake\bin;C:\Program
> Files\java\jdk1.8.0_25\bin;C:\Python27;C:\cygwin\bin;C:\Program Files
> (x86)\Pandoc;C:\Qt\Qt5.8.0\5.8\msvc2015_64\bin;C:\miktex\ImageMagick-
> 7.0.3-9-portable-Q16-x64;C:\miktex\fop-2.1;C:\miktex\libxslt-1.1.28-win32-
> x86_64\bin
> > echo %PATH%
>   - Output: C:\Program Files (x86)\Microsoft Visual Studio
> 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files
> (x86)\MSBuild\14.0\bin\amd64;C:\Program Files (x86)\Microsoft Visual
> Studio
> 14.0\VC\BIN\amd64;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Progr
> am
> Files (x86)\Microsoft Visual Studio 14.0\VC\VCPackages;C:\Program Files
> (x86)\Microsoft Visual Studio 14.0\Common7\IDE;C:\Program Files
> (x86)\Microsoft Visual Studio 14.0\Common7\Tools;C:\Program Files
> (x86)\HTML Help Workshop;C:\Program Files (x86)\Microsoft Visual Studio
> 14.0\Team Tools\Performance Tools\x64;C:\Program Files (x86)\Microsoft
> Visual Studio 14.0\Team Tools\Performance Tools;C:\Program Files
> (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows
> Kits\10\bin\x86;C:\Program Files (x86)\Microsoft
> SDKs\Windows\v10.0A\bin\NETFX 4.6.1
> Tools\x64\;C:\Windows\system32;C:\Program Files\CMake\bin;C:\Program
> Files\java\jdk1.8.0_25\bin;C:\Python27;C:\cygwin\bin;C:\Program Files
> (x86)\Pandoc;C:\Qt\Qt5.8.0\5.8\msvc2015_64\bin;C:\miktex\ImageMagick-
> 7.0.3-9-portable-Q16-x64;C:\miktex\fop-2.1;C:\miktex\libxslt-1.1.28-win32-
> x86_64\bin
> - I set the CMAKE_PREFIX_PATH as follows:
>   > set
> CMAKE_PREFIX_PATH=C:\Qt\Qt5.8.0\5.8\msvc2015_64\lib\cmake\Qt5;C:\miktex\ic
> u4c-58_1-Win64-MSVC2015\icu\include;C:\miktex\icu4c-58_1-Win64-
> MSVC2015\icu\lib64
> 
> - I deleted the existing "C:\miktex\build\CMakeCache.txt" file.  I left
> everything that was already built this time.
> - With my working directory as "C:\miktex\build", I ran CMake again:
> > cmake -G "NMake Makefiles" C:\miktex\miktex-2.9-master
>   - Completed successfully
> - Note: Deleting "CMakeCache.txt" and running CMake again causes a new
> "CMakeCache.txt" to be generated with the updated dependency paths that I
> changed in PATH and CMAKE_PREFIX_PATH, in this case the Qt paths.
> - I ran nmake again:
> > nmake
> ---- Beginning of tail of nmake output: ----
> [ 65%] Generating html/faq/index.html
> Exit code 0xc0000135
> 
> NMAKE : fatal error U1077: 'echo' : return code '0x1'
> Stop.
> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
> Studio
> 14.0\VC\BIN\amd64\nmake.exe"' : return code '0x2'
> Stop.
> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
> Studio
> 14.0\VC\BIN\amd64\nmake.exe"' : return code '0x2'
> Stop.
> 
> ---- End of tail of nmake output. ----
> 
> This error is repeatable each time I retry nmake.
> 
> Cygwin does have C:\cygwin\bin\echo.exe, but when I try "echo" on the
> command-line, it is using Windows's version of "echo".  I'm not sure if
> that makes any difference.
> 
> Am I doing anything else incorrectly?  Could this be an issue with one of
> the versions of the other dependencies that the readme says are needed to
> build the documentation -- FOP, libxslt, and Pandoc?  As a reminder, here
> are the versions that I'm using (see my previous message at
> https://sourceforge.net/p/miktex/mailman/message/35538765/ for the
> download
> links and details):
>   - FOP: 2.1
>   - Libxslt: 1.1.28
>   - Pandoc: 1.19
> 
> The versions for all three of these were whatever was the latest available
> when I went to download them, because the build documentation does not
> specify the versions.
> 
> Thanks.
> 
> 
> 
> 
> On Sun, Dec 11, 2016 at 1:38 AM, David Allsopp <[email protected]>
> wrote:
> 
> > Those are linker errors with Qt, which isn't too surprising as you're
> > using a VS2013 build of Qt 5.5. However, you're doing that because the
> > instructions in README.win are clearly out of date (you could make a
> pull
> > request for that) - https://miktex.org/howto/build-win would suggest
> that
> > Christian is using the 5.8.0 beta. See if that gets you past the linker
> > error.
> >
> > > -----Original Message-----
> > > From: A [mailto:[email protected]]
> > > Sent: 11 December 2016 01:13
> > > To: [email protected]
> > > Subject: Re: [MiKTeX] Unable to build MiKTeX
> > >
> > > After researching online some more, I found out that the
> "vcvarsall.bat"
> > > script actually takes an argument for the machine type, which needs to
> be
> > > specified as 64-bit when doing a 64-bit build.  I deleted everything
> in
> > > "C:\miktex\build" again and did the following, with the working
> directory
> > > as "C:\miktex\build".  Now I am getting a different error.
> > >
> > > > set PATH=C:\Windows\system32
> > > > "C:\Program Files (x86)\Microsoft Visual Studio
> 14.0\VC\vcvarsall.bat"
> > > > x64 echo %PATH%
> > >   - Output: C:\Program Files (x86)\Microsoft Visual Studio
> > > 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program
> Files
> > > (x86)\MSBuild\14.0\bin\amd64;C:\Program Files (x86)\Microsoft Visual
> > > Studio
> > > 14.0\VC\BIN\amd64;C:\Windows\Microsoft.NET\Framework64\v4.
> > 0.30319;C:\Progr
> > > am
> > > Files (x86)\Microsoft Visual Studio 14.0\VC\VCPackages;C:\Program
> Files
> > > (x86)\Microsoft Visual Studio 14.0\Common7\IDE;C:\Program Files
> > > (x86)\Microsoft Visual Studio 14.0\Common7\Tools;C:\Program Files
> > > (x86)\HTML Help Workshop;C:\Program Files (x86)\Microsoft Visual
> Studio
> > > 14.0\Team Tools\Performance Tools\x64;C:\Program Files (x86)\Microsoft
> > > Visual Studio 14.0\Team Tools\Performance Tools;C:\Program Files
> > > (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows
> > > Kits\10\bin\x86;C:\Program Files (x86)\Microsoft
> > > SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\;C:\Windows\system32
> > > > set PATH=%PATH%;C:\Program Files\CMake\bin;C:\Program
> > > Files\java\jdk1.8.0_25\bin;C:\Python27;C:\cygwin\bin;C:\Program Files
> > > (x86)\Pandoc;C:\Qt\Qt5.5.1\5.5\msvc2013_64\bin;C:\miktex\ImageMagick-
> > > 7.0.3-9-portable-Q16-x64;C:\miktex\fop-2.1;C:\miktex\
> > libxslt-1.1.28-win32-
> > > x86_64\bin
> > > > echo %PATH%
> > >   - Output: C:\Program Files (x86)\Microsoft Visual Studio
> > > 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program
> Files
> > > (x86)\MSBuild\14.0\bin\amd64;C:\Program Files (x86)\Microsoft Visual
> > > Studio
> > > 14.0\VC\BIN\amd64;C:\Windows\Microsoft.NET\Framework64\v4.
> > 0.30319;C:\Progr
> > > am
> > > Files (x86)\Microsoft Visual Studio 14.0\VC\VCPackages;C:\Program
> Files
> > > (x86)\Microsoft Visual Studio 14.0\Common7\IDE;C:\Program Files
> > > (x86)\Microsoft Visual Studio 14.0\Common7\Tools;C:\Program Files
> > > (x86)\HTML Help Workshop;C:\Program Files (x86)\Microsoft Visual
> Studio
> > > 14.0\Team Tools\Performance Tools\x64;C:\Program Files (x86)\Microsoft
> > > Visual Studio 14.0\Team Tools\Performance Tools;C:\Program Files
> > > (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows
> > > Kits\10\bin\x86;C:\Program Files (x86)\Microsoft
> > > SDKs\Windows\v10.0A\bin\NETFX 4.6.1
> > > Tools\x64\;C:\Windows\system32;C:\Program Files\CMake\bin;C:\Program
> > > Files\java\jdk1.8.0_25\bin;C:\Python27;C:\cygwin\bin;C:\Program Files
> > > (x86)\Pandoc;C:\Qt\Qt5.5.1\5.5\msvc2013_64\bin;C:\miktex\ImageMagick-
> > > 7.0.3-9-portable-Q16-x64;C:\miktex\fop-2.1;C:\miktex\
> > libxslt-1.1.28-win32-
> > > x86_64\bin
> > > - I set the CMAKE_PREFIX_PATH as before:
> > >   > set
> > > CMAKE_PREFIX_PATH=C:\Qt\Qt5.5.1\5.5\msvc2013_64\lib\cmake\
> > Qt5;C:\miktex\ic
> > > u4c-58_1-Win64-MSVC2015\icu\include;C:\miktex\icu4c-58_1-Win64-
> > > MSVC2015\icu\lib64
> > > - I ran CMake again:
> > > > cmake -G "NMake Makefiles" C:\miktex\miktex-2.9-master
> > >   - Completed successfully
> > > - I ran nmake again:
> > > > nmake
> > > ---- Beginning of tail of nmake output: ---- [ 30%] Building CXX
> object
> > > Libraries/MiKTeX/UI/Qt/CMakeFiles/MiKTeX209-ui-
> > > Qt.dir/moc_ui_UpdateDialog.cpp.obj
> > > moc_ui_UpdateDialog.cpp
> > > [ 30%] Building CXX object
> > > Libraries/MiKTeX/UI/Qt/CMakeFiles/MiKTeX209-ui-Qt.
> > dir/qrc_mikuiqt.cpp.obj
> > > qrc_mikuiqt.cpp
> > > [ 30%] Linking CXX shared library ..\..\..\..\binlib\MiKTeX209-ui-
> Qt.dll
> > >    Creating library ..\..\..\..\binlib\MiKTeX209-ui-Qt.lib and object
> > > ..\..\..\..\binlib\MiKTeX209-ui-Qt.exp
> > > ConnectionSettingsDialog.cpp.obj : error LNK2019: unresolved external
> > > symbol "__declspec(dllimport) public: class QByteArray __cdecl
> > > QString::toUtf8(v oid)&& " (__imp_?toUtf8@QString@@QEHAA?AVQByteArray@
> > @XZ)
> > > referenced in function "protected: virtual void __cdecl
> > > ConnectionSettingsDialog::accept(void
> > > )" (?accept@ConnectionSettingsDialog@@MEAAXXZ)
> > > mikuiqt.cpp.obj : error LNK2001: unresolved external symbol
> > > "__declspec(dllimport) public: class QByteArray __cdecl
> > > QString::toUtf8(void)&& " (__imp_?
> > > toUtf8@QString@@QEHAA?AVQByteArray@@XZ)
> > > RepositoryTableModel.cpp.obj : error LNK2019: unresolved external
> symbol
> > > "__declspec(dllimport) public: class QString __cdecl
> > > QString::toUpper(void)&&  " (__imp_?toUpper@QString@@QEHAA?AV1@XZ)
> > > referenced in function "public:
> > > virtual class QVariant __cdecl RepositoryTableModel::data(class
> > > QModelIndex const &,int)const "
> > > (?data@RepositoryTableModel@@UEBA?AVQVariant@
> > > @AEBVQModelIndex@@H@Z)
> > > SiteWizLocal.cpp.obj : error LNK2019: unresolved external symbol
> > > "__declspec(dllimport) public: class QByteArray __cdecl
> > > QString::toLocal8Bit(void)&& "
> > > (__imp_?toLocal8Bit@QString@@QEHAA?AVQByteArray@@XZ) referenced in
> > > function "public: virtual bool __cdecl
> SiteWizLocal::validatePage(void)"
> > > (?valida
> > > tePage@SiteWizLocal@@UEAA_NXZ)
> > > ..\..\..\..\binlib\MiKTeX209-ui-Qt.dll : fatal error LNK1120: 3
> > unresolved
> > > externals LINK Pass 1 failed. with 1120 NMAKE : fatal error U1077:
> > > '"C:\Program Files\CMake\bin\cmake.exe"' :
> > > return code '0xffffffff'
> > > Stop.
> > > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
> > > Studio 14.0\VC\BIN\amd64\nmake.exe"' : return code '0x2'
> > > Stop.
> > > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
> > > Studio 14.0\VC\BIN\amd64\nmake.exe"' : return code '0x2'
> > > Stop.
> > >
> > > ---- End of tail of nmake output. ----
> > >
> > > Am I doing anything else incorrectly?
> > > ------------------------------------------------------------
> > --------------
> > > ----
> > > Developer Access Program for Intel Xeon Phi Processors Access to Intel
> > > Xeon Phi processor-based developer platforms.
> > > With one year of Intel Parallel Studio XE.
> > > Training and support from Colfax.
> > > Order your platform today.http://sdm.link/xeonphi
> > > _______________________________________________
> > > Q: How can I leave the mailing list?
> > > A: See http://docs.miktex.org/faq/support.html#leavingml
> >
> > ------------------------------------------------------------
> > ------------------
> > Developer Access Program for Intel Xeon Phi Processors
> > Access to Intel Xeon Phi processor-based developer platforms.
> > With one year of Intel Parallel Studio XE.
> > Training and support from Colfax.
> > Order your platform today.http://sdm.link/xeonphi
> > _______________________________________________
> > Q: How can I leave the mailing list?
> > A: See http://docs.miktex.org/faq/support.html#leavingml
> >
> --------------------------------------------------------------------------
> ----
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today.http://sdm.link/xeonphi
> _______________________________________________
> Q: How can I leave the mailing list?
> A: See http://docs.miktex.org/faq/support.html#leavingml

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
_______________________________________________
Q: How can I leave the mailing list?
A: See http://docs.miktex.org/faq/support.html#leavingml
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.