Skip site navigation (1)Skip section navigation (2)
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>

next in thread | raw e-mail | index | archive | help
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
=20
/etc/make.conf is as follows:-
CC=3Dclang33
CXX=3Dclang++33
CPP=3Dclang-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
=3D=3D=3D>  Configuring for gmake-3.82_1
=3D=3D=3D>   FreeBSD 10 autotools fix applied to =
/usr/ports/devel/gmake/work/make-3.82/config/config.rpath
=3D=3D=3D>   FreeBSD 10 autotools fix applied to =
/usr/ports/devel/gmake/work/make-3.82/configure
=3D=3D=3D>   FreeBSD 10 autotools fix applied to =
/usr/ports/devel/gmake/work/make-3.82/acinclude.m4
=3D=3D=3D>   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.
=3D=3D=3D>  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=3Dg --disable-nls --prefix=3D/usr/local =
--mandir=3D/usr/local/man --infodir=3D/usr/local/info/ =
--build=3Darmv6-portbld-freebsd10.0

## --------- ##
## Platform. ##
## --------- ##

hostname =3D raspberry-pi
uname -m =3D arm
uname -r =3D 10.0-STABLE
uname -s =3D FreeBSD
uname -v =3D 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=20

/usr/bin/uname -p =3D armv6
/bin/uname -X     =3D unknown

/bin/arch              =3D unknown
/usr/bin/arch -k       =3D unknown
/usr/convex/getsysinfo =3D unknown
/usr/bin/hostinfo      =3D unknown
/bin/machine           =3D unknown
/usr/bin/oslevel       =3D unknown
/bin/universe          =3D 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

...
...
...
|=20
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: $? =3D 0
configure:3155: clang33 -v >&5
clang version 3.3 (tags/RELEASE_33/final)
Target: armv6-portbld-freebsd10.0
Thread model: posix
configure:3166: $? =3D 0
configure:3155: clang33 -V >&5
clang: error: argument to '-V' is missing (expected 1 value)
clang: error: no input files
configure:3166: $? =3D 1
configure:3155: clang33 -qversion >&5
clang: error: no input files
configure:3166: $? =3D 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: $? =3D 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.  */
|=20
| int
| main ()
| {
|=20
|   ;
|   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=3Dyes
ac_cv_member_struct___res_state_retrans=3Dyes
ac_cv_member_struct_sigaction_sa_sigaction=3Dyes
ac_cv_member_struct_sockaddr_in6_sin6_scope_id=3Dyes
ac_cv_member_struct_stat_st_blksize=3Dyes
ac_cv_path_BZIP2=3D/usr/bin/bzip2
ac_cv_path_EGREP=3D/usr/bin/egrep
ac_cv_path_FGREP=3D/usr/bin/fgrep
ac_cv_path_GREP=3D/usr/bin/grep
ac_cv_path_GZIP=3D/usr/bin/gzip
ac_cv_path_MKTEMP_COMMAND=3D/usr/bin/mktemp
ac_cv_path_SED=3D/usr/bin/sed
ac_cv_path_install=3D/usr/bin/install
ac_cv_path_mkdir=3D/bin/mkdir
ac_cv_prog_AWK=3D/usr/bin/awk
ac_cv_prog_SED=3D/usr/bin/sed
ac_cv_prog_ac_ct_CC=3Dclang33
...
...

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL=3D'${SHELL} /usr/ports/devel/gmake/work/make-3.82/config/missing =
--run aclocal-1.11'
ALLOCA=3D''
AMDEPBACKSLASH=3D''
AMDEP_FALSE=3D''
AMDEP_TRUE=3D''
AMTAR=3D'${SHELL} /usr/ports/devel/gmake/work/make-3.82/config/missing =
--run tar'
AR=3D''
AUTOCONF=3D'${SHELL} =
/usr/ports/devel/gmake/work/make-3.82/config/missing --run autoconf'
AUTOHEADER=3D'${SHELL} =
/usr/ports/devel/gmake/work/make-3.82/config/missing --run autoheader'
AUTOMAKE=3D'${SHELL} =
/usr/ports/devel/gmake/work/make-3.82/config/missing --run =
automake-1.11'
AWK=3D'/usr/bin/awk'
CC=3D'clang33'
CCDEPMODE=3D''
CFLAGS=3D'-O -pipe'
CPP=3D'clang-cpp33'
CPPFLAGS=3D''
CYGPATH_W=3D'echo'
DEFS=3D''
DEPDIR=3D''
ECHO_C=3D''
ECHO_N=3D'-n'
ECHO_T=3D''
EGREP=3D''
EXEEXT=3D''
GETLOADAVG_LIBS=3D''
GLOBINC=3D''
GLOBLIB=3D''
GMSGFMT=3D''
GREP=3D''
INSTALL_DATA=3D'install  -o root -g wheel -m 444'
INSTALL_PROGRAM=3D'install  -s -o root -g wheel -m 555'
INSTALL_SCRIPT=3D'install  -o root -g wheel -m 555'
INSTALL_STRIP_PROGRAM=3D'$(install_sh) -c -s'
INTLLIBS=3D''
KMEM_GROUP=3D''
LDFLAGS=3D''
LIBICONV=3D''
LIBINTL=3D''
LIBOBJS=3D''
LIBS=3D''
LTLIBICONV=3D''
LTLIBINTL=3D''
LTLIBOBJS=3D''
MAKEINFO=3D'makeinfo --no-split'
MAKE_HOST=3D''
MKDIR_P=3D'/bin/mkdir -p'
MKINSTALLDIRS=3D''
MSGFMT=3D''
MSGMERGE=3D''
NEED_SETGID=3D''
OBJEXT=3D''
PACKAGE=3D'make'
PACKAGE_BUGREPORT=3D'bug-make@gnu.org'
PACKAGE_NAME=3D'GNU make'
PACKAGE_STRING=3D'GNU make 3.82'
PACKAGE_TARNAME=3D'make'
PACKAGE_URL=3D'http://www.gnu.org/software/make/'
PACKAGE_VERSION=3D'3.82'
PATH_SEPARATOR=3D':'
PERL=3D''
POSUB=3D''
RANLIB=3D''
REMOTE=3D''
SET_MAKE=3D''
SHELL=3D'/bin/sh'
STRIP=3D''
USE_CUSTOMS_FALSE=3D''
USE_CUSTOMS_TRUE=3D''
USE_LOCAL_GLOB_FALSE=3D''
USE_LOCAL_GLOB_TRUE=3D''
USE_NLS=3D''
VERSION=3D'3.82'
WINDOWSENV_FALSE=3D''
WINDOWSENV_TRUE=3D''
XGETTEXT=3D''
ac_ct_CC=3D'clang33'
am__EXEEXT_FALSE=3D''
am__EXEEXT_TRUE=3D''
am__fastdepCC_FALSE=3D''
am__fastdepCC_TRUE=3D''
am__include=3D''
am__isrc=3D''
am__leading_dot=3D'.'
am__quote=3D''
am__tar=3D'${AMTAR} chof - "$$tardir"'
am__untar=3D'${AMTAR} xf -'
bindir=3D'${exec_prefix}/bin'
build=3D'armv6-portbld-freebsd10.0'
build_alias=3D'armv6-portbld-freebsd10.0'
build_cpu=3D''
build_os=3D''
build_vendor=3D''
datadir=3D'${datarootdir}'
datarootdir=3D'${prefix}/share'
docdir=3D'${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir=3D'${docdir}'
exec_prefix=3D'NONE'
host=3D''
host_alias=3D''
host_cpu=3D''
host_os=3D''
host_vendor=3D''
htmldir=3D'${docdir}'
includedir=3D'${prefix}/include'
infodir=3D'/usr/local/info'
install_sh=3D'${SHELL} =
/usr/ports/devel/gmake/work/make-3.82/config/install-sh'
libdir=3D'${exec_prefix}/lib'
libexecdir=3D'${exec_prefix}/libexec'
localedir=3D'${datarootdir}/locale'
localstatedir=3D'${prefix}/var'
mandir=3D'/usr/local/man'
mkdir_p=3D'/bin/mkdir -p'
oldincludedir=3D'/usr/include'
pdfdir=3D'${docdir}'
prefix=3D'/usr/local'
program_transform_name=3D's&^&g&'
psdir=3D'${docdir}'
sbindir=3D'${exec_prefix}/sbin'
sharedstatedir=3D'${prefix}/com'
sysconfdir=3D'${prefix}/etc'
target_alias=3D''

## ------------------- ##
## File substitutions. ##
## ------------------- ##

MAINT_MAKEFILE=3D''

## ----------- ##
## 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 77=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?85E26AF2-3A6C-49CB-82D8-CD38682996F8>