Ошибка при компиляции gcc4.8.5 для freebsd 11: ошибка: неизвестное имя типа 'choke' - PullRequest
0 голосов
/ 26 февраля 2019

Действия по воспроизведению ошибки на новом компьютере с Ubuntu 14.04.

  1. Получение папок include и lib из / usr ранее установленного компьютера freebsd.
  2. Установите папку вдомашний каталог компьютера с Ubuntu.

Теперь команды для запуска

sudo apt-get update
sudo apt-get install gcc g++ freebsd-buildutils gobjc++-mingw-w64-x86-64 gobjc++-mingw-w64-i686 gobjc++ flex bison libisl-dev libelf-dev binutils-dev libc6-dev linux-libc-dev build-essential
sudo apt-get install zip unzip
sudo apt-get install cloog-isl libcloog-isl-dev ppl-dev libspice-client-glib-2.0-dev
sudo apt-get install gawk mawk patch
sudo mkdir /opt/cross-freebsd && sudo chown -R $USER /opt/cross-freebsd
sudo mkdir build-tmp && cd build-tmp
pushd .
cd ~
cp -a include/. /opt/cross-freebsd/x86_64-pc-freebsd10/
cp -a lib/. /opt/cross-freebsd/x86_64-pc-freebsd10/lib/
ls /opt/cross-freebsd/x86_64-pc-freebsd10/
popd
pushd .
cd /opt/cross-freebsd/x86_64-pc-freebsd10/lib
ln -s libm.so.5 libm.so
ln -s libc.so.7 libc.so
popd
wget http://ftp.gnu.org/gnu/binutils/binutils-2.25.1.tar.gz
tar xf binutils-2.25.1.tar.gz 
cd binutils-2.25.1/
./configure --enable-libssp --enable-gold --enable-ld \
  --target=x86_64-pc-freebsd10 --prefix=/opt/cross-freebsd
fmake -j4
fmake install
cat config.log | grep -in error

Ожидается: без ошибок

Результат:

77:Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04.4' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
82:gcc: error: unrecognized command line option '-V'
83:gcc: fatal error: no input files
87:gcc: error: unrecognized command line option '-qversion'
88:gcc: fatal error: no input files
137:Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04.4' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
142:g++: error: unrecognized command line option '-V'
143:g++: fatal error: no input files
147:g++: error: unrecognized command line option '-qversion'
148:g++: fatal error: no input files
238:conftest.c:15:5: error: unknown type name 'choke'
740:stage2_werror_flag=''

Что я могу сделать, чтобы избежать этих ошибок?

1 Ответ

0 голосов
/ 26 февраля 2019

Что я могу сделать, чтобы избежать этих ошибок?

вы не можете, и эти ошибки не эффективны, а просто исходят из того, как configure делает, чтобы установить вкакая конфигурация у вас есть.

Например, чтобы проверить, является ли версия CLooG 0.17.0 или нет, он компилирует файл, содержащий:

#include "cloog/version.h"
int
main ()
{
#if CLOOG_VERSION_MAJOR != 0     || CLOOG_VERSION_MINOR != 17     || CLOOG_VERSION_REVISION < 0
     choke me
    #endif
   ;
   return 0;
 }

, чтобы ошибка при компиляции указывает CLOOG_VERSION_MAJOR != 0 || CLOOG_VERSION_MINOR != 17 || CLOOG_VERSION_REVISION < 0 верно.В этом случае ошибка происходит из-за choke me, но она может исходить из любой другой недопустимой формы.Отсутствие ошибки при компиляции означает, что версия равна 0.17.0, а наличие ошибки означает, что версия не является 0.17.0, вот и все.

и т. Д.

Так что, наконец, все в порядке

...