1. Куча / Говнокод #13160

    +125

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    sh-4.1$ make
    make[1]: Entering directory `/cygdrive/c/CrossCompiler/binutils-2.8/libiberty'
    echo "# !Automatically generated from ./functions.def"\
              "- DO NOT EDIT!" >needed2.awk
    grep '^DEFVAR(' < ./functions.def \
             | sed -e '/DEFVAR/s|DEFVAR.\([^,]*\).*|/\1/ { printf "#ifndef NEED_\1\\n#define NEED_\1\\n#endif\\n" }|' \
             >>needed2.awk
    grep '^DEFFUNC(' < ./functions.def \
             | sed -e '/DEFFUNC/s|DEFFUNC.\([^,]*\).*|/\1/ { printf "#ifndef NEED_\1\\n#define NEED_\1\\n#endif\\n" }|' \
             >>needed2.awk
    gcc -O2 -c -O2 -I. -I./../include -DNEED_sys_siglist -DNEED_basename -DNEED_strsignal ./dummy.c 2>/dev/null
    make[1]: *** [dummy.o] Ошибка 1
    make[1]: Leaving directory `/cygdrive/c/CrossCompiler/binutils-2.8/libiberty'
    make: *** [all-libiberty] Ошибка 2

    Угадайте чего оно хочет. Я не знаю (awk есть, если что).

    Запостил: Sh1tM4ker, 12 Июня 2013

    Комментарии (6) RSS

    • Я надеюсь вы заметили 2>/dev/null благодаря которой ошибку искать было еще интереснее.
      Всё для людей...
      Ответить
    • Меня смущает /cygdrive/c/. По крайней мере в том баше, что идёт в cygwin к буквам диска обращаются без префикса /cygdrive/ (e.g. /c/Program Files/)
      Ответить
    • Проверьте окончания строк. Такое впечатление, что где-то есть виндовские возвраты кареток изза которых текст комманды вместо того, чтобы редиректится в файл был распечатан в консоль (строка с редиректом отвалилась).
      Ответить
      • Ошибка была в описании нескольких функций в functions.def. Вывод команды (и несколько строк до неё) которая вызвала ошибку, я полагаю был сделан специально.
        Ответить

    Добавить комментарий