Сериозно съм обезкуражен, след като прекарах часове в опити да разбера какви са проблемите ми, докато компилирах c библиотека (netfilter_queue) за моята машина centos 5.4. Работя с машина centos x64.
При стартиране на ./configure видях грешка, показваща, че компилаторът ми е неуспешен. След като проверих моя файл "config.log", създаден от командата ./configure, видях, че не успя да компилира sanity c файл (вероятно използван за проверка дали компилаторът ми работи правилно)
Не успя с грешките:
/tmp/iuucsLU.s: Error: Suffix or operands invalid for `push`
/tmp/iuucsLU.s: Error: Suffix or operands invalid for `push`
/tmp/iuucsLU.s: Error: Suffix or operands invalid for `pop`
/tmp/iuucsLU.s: Error: Suffix or operands invalid for `pop`
/tmp/iuucsLU.s: Error: Suffix or operands invalid for `pop`
/tmp/iuucsLU.s: Error: Suffix or operands invalid for `push`
Когато разбрах, че проблемът ми вероятно е gcc, създадох следния c файл:
#import <stdio.h>
main()
{
return 0;
}
Нарекох файла „test.c“ и се опитах да го компилирам с помощта на „gcc test.c“ и не успя със същите грешки. Разбрах, че проблемите ми вероятно са проблеми с 32/64 битовата съвместимост, така че се опитах да го стартирам, като посочих конкретен асемблер.
- Когато изпълних "gcc -m32 test.c", той се провали със същите грешки.
Когато изпълних "gcc -m64 test.c", той се провали със следната грешка:
test.c:0: съжалявам, не е внедрен: 64-битовият режим не е компилиран в
Не мога да разбера какъв ми е проблемът, със сигурност работя с 64-битова машина. Само да отбележа, че инсталирах gcc и всички негови зависимости ръчно, като използвах rpm, доставяйки rpm файловете от CentOS-CD.
Помощта ще бъде високо оценена. Благодаря предварително, Лорън.
rpm
вместо сyum
? Какво казваuname -a
? Какво казваrpm -qa --qf '%{n}-%{v}-%{r}.%{arch}\n' gcc
? - person Etan Reisner   schedule 17.11.2014c6-media
илиc5-media
? Какво ще кажете за изхода от тези други команди? - person Etan Reisner   schedule 18.11.2014