anonymous
написал 26 января 2004 года в 13:19 (1082 просмотра)
Ведет себя
неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.
ПРОБЛЕМА: после установки slackware 9.1 не могу скомпилировать ни одну прогу.
ПОСЛЕДСТВИЯ:
echo 'main() {printf"Hello World!\n»);} | gcc -
ld error.
пишет что не найдена crt1.so в директории /usr/lib/gcc-lib/i386-slackware-linux/3.2.2/…
echo '#include main() {printf"Hello World!\n»);} | gcc -
выводит тучу сообщений, первое из которых
в файле stdio.h 1 3 не найден файл features.h и т.д.
также много ругается на макросы _THROW_ и т.д.
При установке ставил пакеты только из <a>, , и</a>
<a>ВОПРОС: Что может быть не так? В чем проблема?</a>
<a>заранее благодарен.</a>
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
А как же папочка l ???
Куда же Вы без либ? :))
а почему при компиляции ругается?
попробуй без выкрутасов..просто:
vi file.c
int main(){
printf(’asd’);
return 0;
}
gcc file.c
./a.out
вывод в студию….
ну вообще я смутно представляю, как система будет жить без glibc например
Видишь ли, в Слаке glibc разбита на два пакета, glibc-solibs (shared libraries), которая в группе «a», и собственно, glibc, которая в группе «l», и автором этого обсуждения не установлена. Первый, как легко догадаться, необходим для работы уже скомпилированных программ, динамически линкованных с glibc, а второй необходим для компиляции сырцов написаннных на C. Так что, у athilson’а все происходит верно. Скомпилированные проги бегают, а новые не компилятся. Надо ставить glibc из группы «l».
Good Luck,
UT
Ребята!
У меня тут две проблемы. Проблема с библиотеками вторична по сравнению с проблемой компилирования.
Седующая программа НЕ КОМПИЛИРУЕТСЯ:
#include
main()
{
printf(«HELLO»);
return 0;
}
Как уже говорил, ругается на файл stdio.h, который лежит не в /usr/include, как мне казалось он должен лежать, а где-то в /usr/lib/gcc-lib/i386-slackware-linux/3.2.2/…
Если #include убрать, то с компиляцией все ок, а с линкованием беда, но с этим уже все понятно, видимо, я действительно не установил библиотеки. С этим разберусь.
А вот что с компилятором делать, не знаю.
Искренне надеюсь на помощь.
Заранее благодарен
athilson.
Какой ты, батенька, упрямый… :-) Ладно, смотрим описание
ftp://carroll.cac.psu.edu/pub/linux/distributions/slackware/slackware-9.1/slackware/l/glibc-2.3.2-i486-1.txt
обращаем внимание на слова «and header files». Теперь читаем
less /usr/include/stdio.h
обращаем внимание на
# include
# include
Теперь качаем
ftp://carroll.cac.psu.edu/pub/linux/distributions/slackware/slackware-9.1/slackware/l/glibc-2.3.2-i486-1.tgz
и делаем
$tar -tzvf glibc-2.3.2-i486-1.tgz | grep features.h
-rw-r--r-- root/root 10723 2003-05-18 19:28:41 usr/include/features.h
Опаньки! Еще раз:
$tar -tzvf glibc-2.3.2-i486-1.tgz | grep /bits/types.h
-rw-r--r-- root/root 7275 2003-05-18 19:29:59 usr/include/bits/types.h
Какая отсюда мораль? Надо ставить glibc-2.3.2-i486-1.tgz из группы «l» как говорит Дядя Федор, а не упрятимься. И вcе будет! :-)
Good Luck,
UT
Спасибо, все работает. Поставил библиотеки из раздела.