Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 May 2013 21:54:21 +0100 (BST)
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/178377: Regression: numerous build failures creating shlibs with clang
Message-ID:  <201305062054.r46KsLam039065@lucid-nonsense.infracaninophile.co.uk>
Resent-Message-ID: <201305062100.r46L02Mc042123@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         178377
>Category:       ports
>Synopsis:       Regression: numerous build failures creating shlibs with clang
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon May 06 21:00:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Matthew Seaman
>Release:        FreeBSD 9.1-STABLE amd64
>Organization:
>Environment:
System: FreeBSD lucid-nonsense.infracaninophile.co.uk 9.1-STABLE FreeBSD 9.1-STABLE #24 r250290: Mon May 6 14:45:00 BST 2013 root@lucid-nonsense.infracaninophile.co.uk:/usr/obj/usr/src/sys/LUCID-NONSENSE amd64

I'm getting a large number of build failures in my poudriere setup due
to a common problem.  These 31 ports have all failed in a similar way:

====>> Failed ports: security/cracklib:build x11/libXdmcp:build science/hdf5-18:build devel/libdaemon:build graphics/lcms2:build x11-fonts/libfontenc:build net/openldap24-client:build devel/libffi:build devel/libpciaccess:build graphics/ilmbase:build x11/libICE:build math/gmp:build audio/alsa-lib:build graphics/jbig2dec:build x11/pixman:build devel/pth:build databases/sqlite3:build devel/oniguruma4:build security/libntlm:build textproc/expat2:build archivers/lzo2:build archivers/libzip:build devel/libltdl:build print/libpaper:build devel/libsigsegv:build graphics/jpeg:build x11/libXau:build devel/cppunit:build devel/atf:build converters/libiconv:build security/libmcrypt:build

All of them show essentially the same error in the build logs: this is
from security/libmcrypt:

libtool: link: clang -shared   .libs/3-way.o     -O2 -march=native   -Wl,-soname -Wl,threeway.so -o .libs/threeway.so
/usr/bin/ld: .libs/3-way.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
.libs/3-way.o: could not read symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
*** [threeway.la] Error code 1


It's always when trying to create a shared library.  Only occurs when
using clang as the compiler (well, ccache calling clang).  Also seems
to need either cmake or libtool involved to trigger the effect.

These ports all used to build just fine.  I can't say precisely when
this regression was introduced: some time after the end of the ports
freeze and about a week ago.  Switching to gcc as a compiler avoids
the problem.

	
>Description:
	
>How-To-Repeat:

Just the system version of clang:

lucid-nonsense:...bulk/stable9amd64/default:# clang -v 
FreeBSD clang version 3.2 (tags/RELEASE_32/final 170710) 20121221
Target: x86_64-unknown-freebsd9.1
Thread model: posix

Interesting settings from make.conf:

CPUTYPE?=       native
WITH_CCACHE_BUILD=      yes

#
# Clang!
#
.if !defined(NOCLANG)
.if !defined(CC) || ${CC} == "cc"
CC=clang
.endif
.if !defined(CXX) || ${CXX} == "c++"
CXX=clang++
.endif
.if !defined(CPP) || ${CPP} == "cpp"
CPP=clang-cpp
.endif
# Don't die on warnings
NO_WERROR=
WERROR=
# Don't forget this when using Jails!
NO_FSCHG=
.endif

>Fix:

	


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305062054.r46KsLam039065>