Date: Wed, 23 Jul 2014 12:50:46 +1200 From: Stephen Woolerton <direct727@gmail.com> To: FreeBSD ARM <freebsd-arm@FreeBSD.org> Subject: compiling with clang33 on Pi - ld EABI issue Message-ID: <85E26AF2-3A6C-49CB-82D8-CD38682996F8@gmail.com>
index | next in thread | raw e-mail
Hi everyone, Two days later and I got llvm33 and clang33 compiled on my Raspberry Pi - the little engine that can. I'm getting an error when I try to compile ports with clang33. And checking the config.log file, we see... configure:3208: clang33 -O -pipe conftest.c >&5 /usr/bin/ld: ERROR: Source object /tmp/conftest-G27WNZ.o has EABI version 0, but target a.out has EABI version 5 /etc/make.conf is as follows:- CC=clang33 CXX=clang++33 CPP=clang-cpp33 Can anyone advise how to work around the EABI issue referenced above... Thank you Stephen ----------------- Here is more information... # uname -a FreeBSD raspberry-pi 10.0-STABLE FreeBSD 10.0-STABLE #0 r268038: Tue Jul 1 04:29:43 UTC 2014 root@grind.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/RPI-B arm # clang33 -v clang version 3.3 (tags/RELEASE_33/final) Target: armv6-portbld-freebsd10.0 Thread model: posix [root@raspberry-pi /usr/ports/devel/gmake]# make ===> Configuring for gmake-3.82_1 ===> FreeBSD 10 autotools fix applied to /usr/ports/devel/gmake/work/make-3.82/config/config.rpath ===> FreeBSD 10 autotools fix applied to /usr/ports/devel/gmake/work/make-3.82/configure ===> FreeBSD 10 autotools fix applied to /usr/ports/devel/gmake/work/make-3.82/acinclude.m4 ===> FreeBSD 10 autotools fix applied to /usr/ports/devel/gmake/work/make-3.82/aclocal.m4 configure: loading site script /usr/ports/Templates/config.site checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel checking whether build environment is sane... yes checking for a thread-safe mkdir -p... (cached) /bin/mkdir -p checking for gawk... (cached) /usr/bin/awk checking whether make sets $(MAKE)... yes checking for gcc... clang33 checking whether the C compiler works... no configure: error: in `/usr/ports/devel/gmake/work/make-3.82': configure: error: C compiler cannot create executables See `config.log' for more details. ===> Script "configure" failed unexpectedly. Please report the problem to autotools@FreeBSD.org [maintainer] and attach the "/usr/ports/devel/gmake/work/make-3.82/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a /usr/local/sbin/pkg-static info -g -Ea). *** Error code 1 Stop. make[1]: stopped in /usr/ports/devel/gmake *** Error code 1 Stop. make: stopped in /usr/ports/devel/gmake ------------------------------------- # cat /usr/ports/devel/gmake/work/make-3.82/config.log This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by GNU make configure 3.82, which was generated by GNU Autoconf 2.65. Invocation command line was $ ./configure --program-prefix=g --disable-nls --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/ --build=armv6-portbld-freebsd10.0 ## --------- ## ## Platform. ## ## --------- ## hostname = raspberry-pi uname -m = arm uname -r = 10.0-STABLE uname -s = FreeBSD uname -v = FreeBSD 10.0-STABLE #0 r268038: Tue Jul 1 04:29:43 UTC 2014 root@grind.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/RPI-B /usr/bin/uname -p = armv6 /bin/uname -X = unknown /bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /sbin PATH: /bin PATH: /usr/sbin PATH: /usr/bin PATH: /usr/games PATH: /usr/local/sbin PATH: /usr/local/bin PATH: /root/bin ... ... ... | configure:2378: checking for a BSD-compatible install configure:2446: result: /usr/bin/install -c -o root -g wheel configure:2457: checking whether build environment is sane configure:2507: result: yes configure:2648: checking for a thread-safe mkdir -p configure:2687: result: /bin/mkdir -p configure:2700: checking for gawk configure:2727: result: /usr/bin/awk configure:2738: checking whether make sets $(MAKE) configure:2760: result: yes configure:2890: checking for gcc configure:2917: result: clang33 configure:3146: checking for C compiler version configure:3155: clang33 --version >&5 clang version 3.3 (tags/RELEASE_33/final) Target: armv6-portbld-freebsd10.0 Thread model: posix configure:3166: $? = 0 configure:3155: clang33 -v >&5 clang version 3.3 (tags/RELEASE_33/final) Target: armv6-portbld-freebsd10.0 Thread model: posix configure:3166: $? = 0 configure:3155: clang33 -V >&5 clang: error: argument to '-V' is missing (expected 1 value) clang: error: no input files configure:3166: $? = 1 configure:3155: clang33 -qversion >&5 clang: error: no input files configure:3166: $? = 1 configure:3186: checking whether the C compiler works configure:3208: clang33 -O -pipe conftest.c >&5 /usr/bin/ld: ERROR: Source object /tmp/conftest-G27WNZ.o has EABI version 0, but target a.out has EABI version 5 /usr/bin/ld: failed to merge target specific data of file /tmp/conftest-G27WNZ.o clang: error: linker command failed with exit code 1 (use -v to see invocation) configure:3212: $? = 1 configure:3250: result: no configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "GNU make" | #define PACKAGE_TARNAME "make" | #define PACKAGE_VERSION "3.82" | #define PACKAGE_STRING "GNU make 3.82" | #define PACKAGE_BUGREPORT "bug-make@gnu.org" | #define PACKAGE_URL "http://www.gnu.org/software/make/" | #define PACKAGE "make" | #define VERSION "3.82" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:3255: error: in `/usr/ports/devel/gmake/work/make-3.82': configure:3259: error: C compiler cannot create executables See `config.log' for more details. ... ... ac_cv_member_HEADER_ad=yes ac_cv_member_struct___res_state_retrans=yes ac_cv_member_struct_sigaction_sa_sigaction=yes ac_cv_member_struct_sockaddr_in6_sin6_scope_id=yes ac_cv_member_struct_stat_st_blksize=yes ac_cv_path_BZIP2=/usr/bin/bzip2 ac_cv_path_EGREP=/usr/bin/egrep ac_cv_path_FGREP=/usr/bin/fgrep ac_cv_path_GREP=/usr/bin/grep ac_cv_path_GZIP=/usr/bin/gzip ac_cv_path_MKTEMP_COMMAND=/usr/bin/mktemp ac_cv_path_SED=/usr/bin/sed ac_cv_path_install=/usr/bin/install ac_cv_path_mkdir=/bin/mkdir ac_cv_prog_AWK=/usr/bin/awk ac_cv_prog_SED=/usr/bin/sed ac_cv_prog_ac_ct_CC=clang33 ... ... ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='${SHELL} /usr/ports/devel/gmake/work/make-3.82/config/missing --run aclocal-1.11' ALLOCA='' AMDEPBACKSLASH='' AMDEP_FALSE='' AMDEP_TRUE='' AMTAR='${SHELL} /usr/ports/devel/gmake/work/make-3.82/config/missing --run tar' AR='' AUTOCONF='${SHELL} /usr/ports/devel/gmake/work/make-3.82/config/missing --run autoconf' AUTOHEADER='${SHELL} /usr/ports/devel/gmake/work/make-3.82/config/missing --run autoheader' AUTOMAKE='${SHELL} /usr/ports/devel/gmake/work/make-3.82/config/missing --run automake-1.11' AWK='/usr/bin/awk' CC='clang33' CCDEPMODE='' CFLAGS='-O -pipe' CPP='clang-cpp33' CPPFLAGS='' CYGPATH_W='echo' DEFS='' DEPDIR='' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='' EXEEXT='' GETLOADAVG_LIBS='' GLOBINC='' GLOBLIB='' GMSGFMT='' GREP='' INSTALL_DATA='install -o root -g wheel -m 444' INSTALL_PROGRAM='install -s -o root -g wheel -m 555' INSTALL_SCRIPT='install -o root -g wheel -m 555' INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' INTLLIBS='' KMEM_GROUP='' LDFLAGS='' LIBICONV='' LIBINTL='' LIBOBJS='' LIBS='' LTLIBICONV='' LTLIBINTL='' LTLIBOBJS='' MAKEINFO='makeinfo --no-split' MAKE_HOST='' MKDIR_P='/bin/mkdir -p' MKINSTALLDIRS='' MSGFMT='' MSGMERGE='' NEED_SETGID='' OBJEXT='' PACKAGE='make' PACKAGE_BUGREPORT='bug-make@gnu.org' PACKAGE_NAME='GNU make' PACKAGE_STRING='GNU make 3.82' PACKAGE_TARNAME='make' PACKAGE_URL='http://www.gnu.org/software/make/' PACKAGE_VERSION='3.82' PATH_SEPARATOR=':' PERL='' POSUB='' RANLIB='' REMOTE='' SET_MAKE='' SHELL='/bin/sh' STRIP='' USE_CUSTOMS_FALSE='' USE_CUSTOMS_TRUE='' USE_LOCAL_GLOB_FALSE='' USE_LOCAL_GLOB_TRUE='' USE_NLS='' VERSION='3.82' WINDOWSENV_FALSE='' WINDOWSENV_TRUE='' XGETTEXT='' ac_ct_CC='clang33' am__EXEEXT_FALSE='' am__EXEEXT_TRUE='' am__fastdepCC_FALSE='' am__fastdepCC_TRUE='' am__include='' am__isrc='' am__leading_dot='.' am__quote='' am__tar='${AMTAR} chof - "$$tardir"' am__untar='${AMTAR} xf -' bindir='${exec_prefix}/bin' build='armv6-portbld-freebsd10.0' build_alias='armv6-portbld-freebsd10.0' build_cpu='' build_os='' build_vendor='' datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}' exec_prefix='NONE' host='' host_alias='' host_cpu='' host_os='' host_vendor='' htmldir='${docdir}' includedir='${prefix}/include' infodir='/usr/local/info' install_sh='${SHELL} /usr/ports/devel/gmake/work/make-3.82/config/install-sh' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale' localstatedir='${prefix}/var' mandir='/usr/local/man' mkdir_p='/bin/mkdir -p' oldincludedir='/usr/include' pdfdir='${docdir}' prefix='/usr/local' program_transform_name='s&^&g&' psdir='${docdir}' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' target_alias='' ## ------------------- ## ## File substitutions. ## ## ------------------- ## MAINT_MAKEFILE='' ## ----------- ## ## confdefs.h. ## ## ----------- ## /* confdefs.h */ #define PACKAGE_NAME "GNU make" #define PACKAGE_TARNAME "make" #define PACKAGE_VERSION "3.82" #define PACKAGE_STRING "GNU make 3.82" #define PACKAGE_BUGREPORT "bug-make@gnu.org" #define PACKAGE_URL "http://www.gnu.org/software/make/" #define PACKAGE "make" #define VERSION "3.82" configure: exit 77help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?85E26AF2-3A6C-49CB-82D8-CD38682996F8>
