Windows 上で MiKTeX をビルドするにはどうすればいいですか?

Windows 上で MiKTeX をビルドするにはどうすればいいですか?

MiKTeX(特にpdflatex)をビルドして解決したいこれpdflatexのプライバシーの問題を適用することでこれ変化。

私はついていきますこれ方法。

新しい Windows 7 SP1 (32 ビット) インストールで以下をインストールしました:

  • CMake (cmake-2.8.12.2-win32-x86.exe)
  • Visual Studio C++ 2008 SP1 (VS2008ExpressWithSP1ENUX1504728.iso)
  • Cygwin (bison、flex、diffutil がデフォルトで付属)
  • ActivePerl (ActivePerl-5.20.1.2000-MSWin32-x86-64int-298557.msi)
  • libxslt (libxslt-1.1.26.win32.zip)
  • 不足しているパッケージをオンザフライでインストールする MiKTeX ベーシック (basic-miktex-2.9.5105.exe)
  • HTML ヘルプ ワークショップ
  • Windows Server 2008 用 Windows SDK (6.0.6001.18000.367-KRMSDK_EN.iso)
    • Windows ヘッダーとライブラリと Windows 開発ツールのみが選択されている
  • ImageMagick (ImageMagick-6.9.0-0-Q16-x86-dll.exe)

Windows に以下PATHを追加しました:

;C:\cygwin\bin;C:\libxslt-1.1.26.win32\bin;C:\Program Files\HTML Help Workshop

MiKTeXソース(miktex-2.9.4106.tar.bz2)を抽出してC:\miktex

C:\miktex\CMakeLists.txt私は設定しましたNO_GUI = TRUE

Visual Studio 2008 コマンド プロンプトを起動し、次のように入力しました。

cd \miktex
cmake -G "NMake Makefiles"
nmake

ビルドは次のように停止しました:

[ 15%] Building C object Libraries/3rd/obsdcompat/CMakeFiles/MiKTeX209-obsdcompat.dir/bsd-asprintf.c.obj
bsd-asprintf.c
c:\miktex\libraries\3rd\obsdcompat\defines.h(91) : error C2061: syntax error : identifier 'u_int8_t'
c:\miktex\libraries\3rd\obsdcompat\defines.h(91) : error C2059: syntax error : ';'
c:\miktex\libraries\3rd\obsdcompat\defines.h(92) : error C2061: syntax error : identifier 'u_int16_t'
c:\miktex\libraries\3rd\obsdcompat\defines.h(92) : error C2059: syntax error : ';'
c:\miktex\libraries\3rd\obsdcompat\defines.h(93) : error C2061: syntax error : identifier 'u_int32_t'
c:\miktex\libraries\3rd\obsdcompat\defines.h(93) : error C2059: syntax error : ';'
NMAKE : fatal error U1077: 'C:\PROGRA~1\MICROS~1.0\VC\bin\cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.

この問題とその後のエラーを回避することはできましたが、回避策を講じるたびに、回避策とは関係のないエラーが発生し、ビルドが再び停止しました。最終的には、ビルド環境または使用方法に問題があるのではないかと疑うことをあきらめましたが (詳細がわかったのはそのためです)、問題が何なのかはわかりません。

答え1

ソースディレクトリでビルドしないでください。

歴史的:

ビルド前に必要に応じてと にパッチを適用するpdftex.webと(たとえば、これらのファイルでそれぞれとを検索する)、明示的に指定されていない PDF メタデータ/プロパティを追加しない MiKTeX pdftex バイナリが作成されます。pdftoepdf.ccPrograms\TeXAndFriends\pdftex.Fullbanner.FileName

関連情報