The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Не работает компилятор"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Разное / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Не работает компилятор"  +/
Сообщение от iqpi (ok) on 04-Май-15, 21:00 
Freebsd 10.1
При сборке пакетов
make[4]: "/usr/share/mk/bsd.compiler.mk" line 9: warning: Couldn't read shell's output for "cc --version"
make[4]: "/usr/share/mk/bsd.compiler.mk" line 17: Unable to determine compiler type for cc.  Consider setting COMPILER_TYPE.

/usr/share/mk/bsd.compiler.mk

# $FreeBSD: releng/10.1/share/mk/bsd.compiler.mk 247527 2013-03-01 03:25:43Z brooks $

.if !defined(COMPILER_TYPE)
. if ${CC:T:Mgcc*}
    COMPILER_TYPE:=    gcc  
    . elif ${CC:T:Mclang}
    COMPILER_TYPE:=    clang
    . else
    _COMPILER_VERSION!=    ${CC} --version
    .  if ${_COMPILER_VERSION:Mgcc}
    COMPILER_TYPE:=    gcc
    .  elif ${_COMPILER_VERSION:M\(GCC\)}
    COMPILER_TYPE:=    gcc
    .  elif ${_COMPILER_VERSION:Mclang}
    COMPILER_TYPE:=    clang
    .  else
    .error Unable to determine compiler type for ${CC}.  Consider setting COMPILER_TYPE.
    .  endif
    .  undef _COMPILER_VERSION
    . endif
    .endif

.if ${COMPILER_TYPE} == "clang"
COMPILER_FEATURES=    c++11
.else
COMPILER_FEATURES=
.endif

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Не работает компилятор"  +/
Сообщение от iqpi (ok) on 05-Май-15, 17:25 
pkg info -a находит

gcc-4.8.4  
clang-devel-3.7.r234164
clang36-3.6.0


gcc -v
gcc: not found

clang -v
без ответа

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Не работает компилятор"  +/
Сообщение от а on 05-Май-15, 18:58 
а по полному пути?
/usr/bin/clang -v
/usr/bin/gcc -v
/usr/bin/cc -v
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Не работает компилятор"  +/
Сообщение от iqpi (ok) on 05-Май-15, 19:07 
> а по полному пути?
> /usr/bin/clang -v
> /usr/bin/gcc -v
> /usr/bin/cc -v

По этим путям файлы есть по 0 байт, пустые, gcc вообще нет.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Не работает компилятор"  +/
Сообщение от iqpi (ok) on 05-Май-15, 20:34 
Что сделать, чтоб всё работало?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Не работает компилятор"  +/
Сообщение от b on 05-Май-15, 21:51 
попробовать снести через pkg delete gcc/clang и переустановить их из пакетов.


Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Не работает компилятор"  +/
Сообщение от iqpi (ok) on 05-Май-15, 22:04 
> попробовать снести через pkg delete gcc/clang и переустановить их из пакетов.

gcc снес, установил и ничего не изменилось


pkg delete clang
Checking integrity... done (0 conflicting)
Package(s) not found!

После установки gcc пишет не пойму к чему, даже с переводчиком

To ensure binaries built with this toolchain find appropriate versions
of the necessary run-time libraries, you may want to link using

  -Wl,-rpath=/usr/local/lib/gcc48

For ports leveraging USE_GCC, USES=compiler, or USES=fortran this happens
transparently.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Не работает компилятор"  +/
Сообщение от c on 05-Май-15, 23:51 
> pkg delete clang
> Checking integrity... done (0 conflicting)
> Package(s) not found!

наверно потомучто clang != clang-devel && clang36
ну или pkg delete -x clang\*


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Не работает компилятор"  +/
Сообщение от iqpi (ok) on 05-Май-15, 23:55 
>> pkg delete clang
>> Checking integrity... done (0 conflicting)
>> Package(s) not found!
> наверно потомучто clang != clang-devel && clang36
> ну или pkg delete -x clang\*

Ну с этим понятно, а с gcc?
Удалил clang-devel && clang36
Установил и всё так же

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Не работает компилятор"  +/
Сообщение от d (??) on 06-Май-15, 01:42 
В /usr/bin/ шланг из базовой системы, что с ней у вас я хз.
Добавте в /etc/make.conf
CC=/usr/local/bin/clang36
CXX=/usr/local/bin/clang++36
CPP=/usr/local/bin/clang-cpp36

36 или какая версия установлена. И попробовать собрать чтото

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Не работает компилятор"  +/
Сообщение от e (??) on 06-Май-15, 02:02 
> В /usr/bin/ шланг из базовой системы, что с ней у вас я
> хз.
> Добавте в /etc/make.conf
> CC=/usr/local/bin/clang36
> CXX=/usr/local/bin/clang++36
> CPP=/usr/local/bin/clang-cpp36
> 36 или какая версия установлена. И попробовать собрать чтото

если есть исходники то можно попробовать:
Добавить тоже самое ещё в /etc/src.conf

# cd /usr/src/usr.bin/clang
# make obj depend all install && make clean


Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Не работает компилятор"  +/
Сообщение от iqpi (ok) on 06-Май-15, 03:45 
> В /usr/bin/ шланг из базовой системы, что с ней у вас я
> хз.
> Добавте в /etc/make.conf
> CC=/usr/local/bin/clang36
> CXX=/usr/local/bin/clang++36
> CPP=/usr/local/bin/clang-cpp36
> 36 или какая версия установлена. И попробовать собрать чтото

Собрал один пакет, вроде работает, но хелловорлд не компилится

clang++ -o hell hello.cpp

#include <iostream>
using namespace std;

int main()
{
    cout << "HELLO" << endl;
    return 0;
}


Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

12. "Не работает компилятор"  +/
Сообщение от iqpi (ok) on 06-Май-15, 03:49 
>[оверквотинг удален]
>> хз.
>> Добавте в /etc/make.conf
>> CC=/usr/local/bin/clang36
>> CXX=/usr/local/bin/clang++36
>> CPP=/usr/local/bin/clang-cpp36
>> 36 или какая версия установлена. И попробовать собрать чтото
> если есть исходники то можно попробовать:
> Добавить тоже самое ещё в /etc/src.conf
> # cd /usr/src/usr.bin/clang
> # make obj depend all install && make clean

Ошибка

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

13. "Не работает компилятор"  +/
Сообщение от f (??) on 06-Май-15, 07:30 
> Собрал один пакет, вроде работает, но хелловорлд не компилится
> clang++ -o hell hello.cpp

через /usr/local/bin/clang++36 или clang++(который наверно == /usr/bin/clang++ , см which clang++)?

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

14. "Не работает компилятор"  +/
Сообщение от lavr email on 06-Май-15, 13:05 
>> а по полному пути?
>> /usr/bin/clang -v
>> /usr/bin/gcc -v
>> /usr/bin/cc -v
> По этим путям файлы есть по 0 байт, пустые, gcc вообще нет.

в этом Ваша проблема - "файлы есть по 0 байт", почему?

gcc в 10'ке отсутствует как класс, ибо перевели на clang/llvm.

Восстановите системые tools и затем, если нужно: gcc/clang из портов.
Восстанавливается просто - развернуть base.txz, и не забыть закомментарить
ненужное в /etc/make.conf, чтобы использовать системный clang.



Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

15. "Не работает компилятор"  +/
Сообщение от iqpi (ok) on 07-Май-15, 00:36 
> Восстанавливается просто - развернуть base.txz, и не забыть закомментарить
> ненужное в /etc/make.conf, чтобы использовать системный clang.

Пока для меня это совсем непросто.
Как развернуть base.txz? Как это сделать? Гуглил, но так и не понял.
И на будущее, что могло разрушить "системые tools"? Как избежать этого впредь?
Спасибо.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "Не работает компилятор"  +/
Сообщение от lavr email on 07-Май-15, 09:54 
>> Восстанавливается просто - развернуть base.txz, и не забыть закомментарить
>> ненужное в /etc/make.conf, чтобы использовать системный clang.
> Пока для меня это совсем непросто.
> Как развернуть base.txz? Как это сделать? Гуглил, но так и не понял.

на работающей системе:

# tar --unlink -xvpJf /path/base.txz -C /

где /path/base.txz - местонахождение архива

более безопасный вариант, загрузиться с disc1 или memstick, выйти в Live:

# fsck_ffs -y /dev/диск
# mount /dev/диск /mnt
# tar --unlink -xvpJf /usr/freebsd-dist/base.txz -C /mnt
# umount /mnt
# reboot

где /dev/диск - корневая партиция, если /usr - отдельная партиция, то на
нее тоже выполнить fsck и затем смонтировать в /mnt/usr

> И на будущее, что могло разрушить "системые tools"? Как избежать этого впредь?

загадка:
- неосторожные и неверные действия системного пользователя "root"
- попытка установить clang/gcc в базовую систему - то есть в /usr/
вместо /usr/local/
- посыпался HDD

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Не работает компилятор"  +/
Сообщение от iqpi (ok) on 08-Май-15, 01:44 
Сделал всё на работающей системе.
Теперь всё работает как положено.
Вы мне очень помогли.
Учусь дальше...
Спасибо!

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру