Orange Pi

Главная => Новичкам => Тема начата: pcmax от Июнь 06, 2018, 02:56:13 am

Название: gcc7 < выше
Отправлено: pcmax от Июнь 06, 2018, 02:56:13 am
кто-нибудь собирал gcc из исходников?  пытался так установить, но ничего не получается. прочитал, что нужно обязательно только собирать из source.
скачал source.  распокавал, зашел, выполник  bash configure.   
создался Makefile.  делаю make     ну конечно не все это на arm  плате.  и тут не требует вроде ничего, а говорит в конце, что ошибка. что не существует такой директории, а какой ни говорит.
вобщем есть у кого опыт?  может что посоветовать?
без gcc7 не могу скомпилить u-boot так как он просит открыто только 7 версию.
Название: Re: gcc7 < выше
Отправлено: ua3nbw от Июнь 06, 2018, 09:17:39 am
кто-нибудь собирал gcc из исходников?  пытался так установить, но ничего не получается. прочитал, что нужно обязательно только собирать из source.
скачал source.  распокавал, зашел, выполник  bash configure.   
создался Makefile.  делаю make     ну конечно не все это на arm  плате.  и тут не требует вроде ничего, а говорит в конце, что ошибка. что не существует такой директории, а какой ни говорит.
вобщем есть у кого опыт?  может что посоветовать?
без gcc7 не могу скомпилить u-boot так как он просит открыто только 7 версию.

собирать из source не обязательно, можно установить пакет и назначить gcc-7 компилятором, используемым по умолчанию
После обновления gcc надо обновить g++
гуглите как  назначить по умолчанию gcc
root@orangepipc:~# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/7/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 7.3.0-21ubuntu1~16.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-multilib --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 7.3.0 (Ubuntu/Linaro 7.3.0-21ubuntu1~16.04)

Название: Re: gcc7 < выше
Отправлено: pcmax от Июнь 06, 2018, 02:19:18 pm
я пытался.  но когда делаю cache search gcc-7 то почему -то не выдает ничего .
вы на оранже пи установили? gcc?
Название: Re: gcc7 < выше
Отправлено: ua3nbw от Июнь 06, 2018, 03:34:28 pm
я пытался.  но когда делаю cache search gcc-7 то почему -то не выдает ничего .
вы на оранже пи установили? gcc?

Да, на OangePiPC   Ubuntu 16.04.4 LTS 4.14.44-sunxi, тут читайте https://losst.ru/ustanovka-gcc-v-ubuntu-16-04 (https://losst.ru/ustanovka-gcc-v-ubuntu-16-04)
если Debian , то для вас пакет тут:  https://packages.debian.org/sid/arm64/gcc-7/download
Название: Re: gcc7 < выше
Отправлено: pcmax от Июнь 07, 2018, 07:38:34 pm
попытался собрать для полной уверенности gcc8.1.0
может кому нужно будет также собрать самую последнюю версию и пригодятся те ошибки, что нагородил я.
скачал source  https://ftp.gnu.org/gnu/gcc/gcc-8.1.0/
распаковал в
/usr/local/bin
-это как раз место для сбораных программ из source.
обязательно нужно установить вот это:
apt-get install libmpfr-dev libgmp3-dev libmpc-dev flex bison
-я что-то сразу не нашел и начал собирать из исходинков так же и mpfr, gmp
все делал на arm.  в PATH ничего не добавлял.
ну а дальше
bash configure
make -j(количество ядер процессора)
make install
ошибки: пытался собирать в home директории без ссылок и дополнительных ключей к configure.
лучше собирать в
/usr/local/bin
и тогда можно обойтись
bash configure          make            make install
Название: Re: gcc7 < выше
Отправлено: Olej от Июнь 07, 2018, 07:59:37 pm
распаковал в
/usr/local/bin
-это как раз место для сбораных программ из source.
Вообще то, это не совсем так - в UNIX вообще и в Linux в частности, /usr/local/bin - это место для установки пользовательских приложений, а не их сборки ... точно так же, как и /opt.
И этот каталог установки указывается просто как опция --prefix при конфигурировании пакетов:
$ ./configure --prefix=/usr/local

Это составная часть соглашений инструментария сборки auto-tools (autoconf, automake, libtools и т.д.).

P.S. А собирать любые проекты из исходников можно в любом каталоге ... лучше где-то в $HOME. Хотя бы просто потому, что по флагам доступа /usr/local не позволит запись ординарному пользователю ... нужно или компилировать под root (что очень плохо), или уродовать флаги/владельца /usr/local (что ещё хуже :().
Название: Re: gcc7 < выше
Отправлено: ua3nbw от Июнь 07, 2018, 09:16:49 pm
странно,  где вы прочитали про сборку в  /usr/local/bin  ?

gcc -v покажите.


Название: Re: gcc7 < выше
Отправлено: pcmax от Июнь 07, 2018, 09:47:43 pm
ну не знаю, я все под root делаю
Название: Re: gcc7 < выше
Отправлено: Olej от Июнь 07, 2018, 09:48:50 pm
ну не знаю, я все под root делаю
это о-о-очень плохо ;D
Название: Re: gcc7 < выше
Отправлено: pcmax от Июнь 07, 2018, 11:28:49 pm

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/aarch64-unknown-linux-gnu/8.1.0/lto-wrapper
Target: aarch64-unknown-linux-gnu
Configured with: configure
Thread model: posix
gcc version 8.1.0 (GCC)
Название: Re: gcc7 < выше
Отправлено: ua3nbw от Июнь 08, 2018, 08:34:40 am
у меня на H3 gcc version 7.3.0 (Ubuntu/Linaro 7.3.0-21ubuntu1~16.04)
для arm собран с ключами
 --with-pkgversion='Ubuntu/Linaro 7.3.0-21ubuntu1~16.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-multilib --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
ну если сборка работает, значит ключи по умолчанию грамотно подобраны.
 
Название: Re: gcc7 < выше
Отправлено: Olej от Июнь 08, 2018, 10:07:13 am
ну не знаю, я все под root делаю
Если вы это делаете на нативном ARM SBC/SoC загруженном с SD-карты, то мне интересно (действительно интересно, а не для злословия и срача) каким вы способом получаете у него root?
Образы от Armbian, как я вижу, экспериментирую - не позволяют напрямую логоном получить root ... только sudo (так как это всегда в Ubuntu было).

P.S. Я знаю 2 способа ("через задницу") получить root-терминал в Ubuntu ... но, может, вы знаете ещё способы?
 
Название: Re: gcc7 < выше
Отправлено: pcmax от Июнь 08, 2018, 01:12:42 pm
у меня на H3 gcc version 7.3.0 (Ubuntu/Linaro 7.3.0-21ubuntu1~16.04)
для arm собран с ключами
 --with-pkgversion='Ubuntu/Linaro 7.3.0-21ubuntu1~16.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-multilib --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
ну если сборка работает, значит ключи по умолчанию грамотно подобраны.
собрана на arm?
Название: Re: gcc7 < выше
Отправлено: ua3nbw от Июнь 08, 2018, 01:19:09 pm
собрана на arm?
Нет наверное, с ppa пакет ставил.
Название: Re: gcc7 < выше
Отправлено: pcmax от Июнь 08, 2018, 01:49:27 pm
у меня на H3 gcc version 7.3.0 (Ubuntu/Linaro 7.3.0-21ubuntu1~16.04)
для arm собран с ключами
 --with-pkgversion='Ubuntu/Linaro 7.3.0-21ubuntu1~16.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-multilib --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
ну если сборка работает, значит ключи по умолчанию грамотно подобраны.
собрана на arm?
а это тогда что ? откуда эти ключи? Вы посмотрели просто какими ключами была собрана прога кем-то?
Название: Re: gcc7 < выше
Отправлено: pcmax от Июнь 08, 2018, 01:51:31 pm
ну не знаю, я все под root делаю
Если вы это делаете на нативном ARM SBC/SoC загруженном с SD-карты, то мне интересно (действительно интересно, а не для злословия и срача) каким вы способом получаете у него root?
Образы от Armbian, как я вижу, экспериментирую - не позволяют напрямую логоном получить root ... только sudo (так как это всегда в Ubuntu было).

P.S. Я знаю 2 способа ("через задницу") получить root-терминал в Ubuntu ... но, может, вы знаете ещё способы?

странные проблемы. 
я качал  serverarm.img
делаю whoami и вот вывод
root
Название: Re: gcc7 < выше
Отправлено: ua3nbw от Июнь 08, 2018, 01:57:25 pm
у меня на H3 gcc version 7.3.0 (Ubuntu/Linaro 7.3.0-21ubuntu1~16.04)
для arm собран с ключами
 --with-pkgversion='Ubuntu/Linaro 7.3.0-21ubuntu1~16.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-multilib --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
ну если сборка работает, значит ключи по умолчанию грамотно подобраны.
собрана на arm?
а это тогда что ? откуда эти ключи? Вы посмотрели просто какими ключами была собрана прога кем-то?
gcc -v выводит кроме версии и ключи.
Название: Re: gcc7 < выше
Отправлено: pcmax от Июнь 08, 2018, 02:02:11 pm
у меня нет такой писанины
Название: Re: gcc7 < выше
Отправлено: Olej от Июнь 08, 2018, 02:16:18 pm
Образы от Armbian, как я вижу, экспериментирую - не позволяют напрямую логоном получить root ... только sudo (так как это всегда в Ubuntu было).

P.S. Я знаю 2 способа ("через задницу") получить root-терминал в Ubuntu ... но, может, вы знаете ещё способы?

странные проблемы. 
я качал  serverarm.img
Ничего тут странного.
Это значит, что на serverarm.img взят за основу сборки другой дистрибутив Linux.
И это также значит (если они сразу и по дефаулту сваливаются в root пользователя), что сборка serverarm.img сделана менее продумано, по-быстрому, на коленке... чем сборки, например, Armbian. ;)
Название: Re: gcc7 < выше
Отправлено: ua3nbw от Июнь 08, 2018, 04:12:20 pm
у меня нет такой писанины
да у вас и ./configure без ключей, вот и нет такой писанины.
а ключи ./configure --help смотрите


Название: Re: gcc7 < выше
Отправлено: pcmax от Июнь 08, 2018, 06:05:18 pm
Образы от Armbian, как я вижу, экспериментирую - не позволяют напрямую логоном получить root ... только sudo (так как это всегда в Ubuntu было).

P.S. Я знаю 2 способа ("через задницу") получить root-терминал в Ubuntu ... но, может, вы знаете ещё способы?

странные проблемы. 
я качал  serverarm.img
Ничего тут странного.
Это значит, что на serverarm.img взят за основу сборки другой дистрибутив Linux.
И это также значит (если они сразу и по дефаулту сваливаются в root пользователя), что сборка serverarm.img сделана менее продумано, по-быстрому, на коленке... чем сборки, например, Armbian. ;)
ну я качал этот образ с armbian.com
вроде все сделанно с умом.  это я так назвал что там было скачать для десктопа и сервера.  понимал, что для моих нужд графическая оболочка не нужна.  поэтому скачал сервер.

в root по умолчанию...  ну так и надо наверное, видимо наоборот этот дистрибутив делался для интузиастов
Название: Re: gcc7 < выше
Отправлено: pcmax от Июнь 15, 2018, 12:32:19 am
у меня на H3 gcc version 7.3.0 (Ubuntu/Linaro 7.3.0-21ubuntu1~16.04)
для arm собран с ключами
 --with-pkgversion='Ubuntu/Linaro 7.3.0-21ubuntu1~16.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-multilib --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
ну если сборка работает, значит ключи по умолчанию грамотно подобраны.
собрана на arm?
а это тогда что ? откуда эти ключи? Вы посмотрели просто какими ключами была собрана прога кем-то?
gcc -v выводит кроме версии и ключи.
ребята, а все эти ключи можно прописать в  makefile?