Сообщение об ошибке при попытке построить adblocker - PullRequest
1 голос
/ 01 апреля 2012

Я пытаюсь собрать adblockplus из этой ссылки . Когда я выдаю команду:

python build.py build

Я получаю следующее сообщение об ошибке. Я пытался с и без sudo безрезультатно.

    Traceback (most recent call last):
  File "build.py", line 10, in <module>
    buildtools.build.processArgs('.', sys.argv)
  File "/home/machine/projects/weird/buildtools/build.py", line 352, in processArgs
    commands[command](baseDir, scriptName, opts, args, type)
  File "/home/machine/projects/weird/buildtools/build.py", line 39, in __call__
    return self._handler(baseDir, scriptName, opts, args, type)
  File "/home/machine/projects/weird/buildtools/build.py", line 166, in runBuild
    limitMetadata=limitMetadata)
  File "/home/machine/projects/weird/buildtools/packager.py", line 274, in createBuild
    buildNum = getBuildNum(baseDir)
  File "/home/machine/projects/weird/buildtools/packager.py", line 80, in getBuildNum
    (result, dummy) = subprocess.Popen(['hg', 'id', '-n'], stdout=subprocess.PIPE).communicate()
  File "/usr/lib/python2.6/subprocess.py", line 623, in __init__
    errread, errwrite)
  File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

Я пропускаю посылку? Любой намек на то, что проблема может быть, будет высоко ценится.

1 Ответ

4 голосов
/ 08 июня 2012

Трассировка стека проясняет, что проблема вызвана следующей строкой:

(result, dummy) = subprocess.Popen(['hg', 'id', '-n'], stdout=subprocess.PIPE).communicate()

Если вы посмотрите документацию пакета subprocess , эта строка пытается выполнить команду hg id -n (получите числовую версию Mercurial). По-видимому, инструмент командной строки Mercurial отсутствует в вашей системе (возможно, этот сценарий сборки не учтен), поэтому он не работает.

Отказ от ответственности : Я оказался тем, кто написал этот скрипт, и я исправил эту ошибку сейчас. Mercurial не важен для сборки, номер редакции практически необходим только для определения имени выходного файла.

...