Автор Тема: gcc7 < выше  (Прочитано 442 раз)

pcmax

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

Оффлайн ua3nbw

Re: gcc7 < выше
« Ответ #1 : Июнь 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)


pcmax

  • Гость
Re: gcc7 < выше
« Ответ #2 : Июнь 06, 2018, 02:19:18 pm »
я пытался.  но когда делаю cache search gcc-7 то почему -то не выдает ничего .
вы на оранже пи установили? gcc?

Оффлайн ua3nbw

Re: gcc7 < выше
« Ответ #3 : Июнь 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
если Debian , то для вас пакет тут:  https://packages.debian.org/sid/arm64/gcc-7/download

pcmax

  • Гость
Re: gcc7 < выше
« Ответ #4 : Июнь 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

Онлайн Olej

Re: gcc7 < выше
« Ответ #5 : Июнь 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 (что ещё хуже :().

Оффлайн ua3nbw

Re: gcc7 < выше
« Ответ #6 : Июнь 07, 2018, 09:16:49 pm »
странно,  где вы прочитали про сборку в  /usr/local/bin  ?

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



pcmax

  • Гость
Re: gcc7 < выше
« Ответ #7 : Июнь 07, 2018, 09:47:43 pm »
ну не знаю, я все под root делаю

Онлайн Olej

Re: gcc7 < выше
« Ответ #8 : Июнь 07, 2018, 09:48:50 pm »
ну не знаю, я все под root делаю
это о-о-очень плохо ;D

pcmax

  • Гость
Re: gcc7 < выше
« Ответ #9 : Июнь 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)

Оффлайн ua3nbw

Re: gcc7 < выше
« Ответ #10 : Июнь 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
ну если сборка работает, значит ключи по умолчанию грамотно подобраны.
 

Онлайн Olej

Re: gcc7 < выше
« Ответ #11 : Июнь 08, 2018, 10:07:13 am »
ну не знаю, я все под root делаю
Если вы это делаете на нативном ARM SBC/SoC загруженном с SD-карты, то мне интересно (действительно интересно, а не для злословия и срача) каким вы способом получаете у него root?
Образы от Armbian, как я вижу, экспериментирую - не позволяют напрямую логоном получить root ... только sudo (так как это всегда в Ubuntu было).

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

pcmax

  • Гость
Re: gcc7 < выше
« Ответ #12 : Июнь 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?

Оффлайн ua3nbw

Re: gcc7 < выше
« Ответ #13 : Июнь 08, 2018, 01:19:09 pm »
собрана на arm?
Нет наверное, с ppa пакет ставил.

pcmax

  • Гость
Re: gcc7 < выше
« Ответ #14 : Июнь 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?
а это тогда что ? откуда эти ключи? Вы посмотрели просто какими ключами была собрана прога кем-то?