I've submitted 207324 for lang/lua52 needing to use -fPIC (kyua build blocked, clang380-import context)
Mark Millard
markmi at dsl-only.net
Fri Feb 19 22:18:19 UTC 2016
On 2016-Feb-19, at 1:35 PM, Ian Lepore <ian at freebsd.org> wrote:
>
> On Fri, 2016-02-19 at 12:42 -0800, Russell Haley wrote:
>> On Fri, Feb 19, 2016 at 12:38 PM, Russell Haley <russ.haley at gmail.com
>>> wrote:
>>> On Fri, Feb 19, 2016 at 12:34 PM, Russell Haley <
>>> russ.haley at gmail.com> wrote:
>>>> On Fri, Feb 19, 2016 at 11:43 AM, Mark Millard <
>>>> markmi at dsl-only.net> wrote:
>>>>> When attempting to build devel/kyua on a rpi2b under
>>>>> projects/clang380-import -r295601 via portmaster -DK devel/kyua
>>>>> the attempt failed in lang/lua52 with:
>>>>>
>>>>> --- lapi.o ---
>>>>> /usr/bin/clang -target armv6--freebsd11.0-gnueabi -march=armv7
>>>>> -a -mcpu=cortex-a7 -mfloat-abi=softfp -mno-unaligned-access
>>>>> -B/usr/local/arm-gnueabi-freebsd/bin/ -Wall -DLUA_COMPAT_ALL
>>>>> -pipe -mfloat-abi=softfp -isystem /usr/local/include -g -fno
>>>>> -strict-aliasing -I/usr/local/include -isystem
>>>>> /usr/local/include -DLUA_USE_LINUX -c lapi.c -o lapi.o
>>>>> . . .
>>>>> --- liblua-5.2.so ---
>>>>> /usr/local/arm-gnueabi-freebsd/bin/ld: lapi.o: relocation
>>>>> R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when
>>>>> making a shared object; recompile with -fPIC
>>>>> lapi.o: error adding symbols: Bad value
>>>>> clang: error: linker command failed with exit code 1 (use -v to
>>>>> see invocation)
>>>>> *** [liblua-5.2.so] Error code 1
>>>>>
>>>> I'm not sure about the kyua stuff, but I was getting a "similar
>>>> error"
>>>> when I built lua5.3 using clang on x64. From memory, I recall
>>>> adding
>>>> the -fPIC option to the lua5.3 Makefile (as the error indicates)
>>>> and
>>>> also having to remove a -luab (or something like that) and then
>>>> it
>>>> worked. Potentially you could just install lua from ports first?
>>>
>>>> http://www.freshports.org/lang/lua52/
>>>
>>> Sorry, I meant pkg. But it looks like it's not being built for
>>> armv6?
>>> http://portsmon.freebsd.org/portoverview.py?category=lang&portname=
>>> lua52
>>>
>>> Russ
>>
>> Okay, if you look at the Makefile for Lau52 at line 60 there are
>> -fPIC
>> cflags for other platforms but armv6 and i386 are missing.
>>
>> https://svnweb.freebsd.org/ports/head/lang/lua52/Makefile?view=markup
>>
>
> Are you guys setting CPUTYPE in your make.conf? I've been building
> lua52 and lua53 for a while without any problems, as crossbuilds or
> native on a wandboard, but I'm not setting cpu type or arch.
>
> Also, why are you using lua52 rather than lua53? (Just curious.)
>
> I'm about to commit an unrelated fix for lua53. I'll look into this
> problem too, if I can figure out how to recreate it.
>
> -- Ian
I tried to build devel/kyua via portmaster and lang/lua52 got involved in the process by default. Apparently this is indirectly via devel/lutok being used.
As for one of the example make.conf's that I'm using that results in the behavior:
(it does target -march=armv7-a -mcpu=cortex-a7 very explicitly)
> # more /etc/make.conf
> DEFAULT_VERSIONS+=perl5=5.22
> WRKDIRPREFIX=/usr/obj/portswork
> WITH_DEBUG=
> WITH_DEBUG_FILES=
> MALLOC_PRODUCTION=
> #
> TO_TYPE=armv6
> VERSION_CONTEXT=11.0
> CFLAGS+=-target ${TO_TYPE}--freebsd${VERSION_CONTEXT}-gnueabi -march=armv7-a -mcpu=cortex-a7 -mfloat-abi=softfp -mno-unaligned-access
Note: the projects/clang380-import -r295601 buildworld/buildkernel context installed on the rpi2 also has those CFLAGS entries.
Other context:
> # svnlite info /usr/ports
> Path: /usr/ports
> Working Copy Root Path: /usr/ports
> URL: https://svn0.us-west.freebsd.org/ports/head
> Relative URL: ^/head
> Repository Root: https://svn0.us-west.freebsd.org/ports
> Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
> Revision: 408706
> Node Kind: directory
> Schedule: normal
> Last Changed Author: danilo
> Last Changed Rev: 408706
> Last Changed Date: 2016-02-11 23:50:55 +0000 (Thu, 11 Feb 2016)
> # freebsd-version -ku; uname -aKU
> 11.0-CURRENT
> 11.0-CURRENT
> FreeBSD rpi2 11.0-CURRENT FreeBSD 11.0-CURRENT #16 r295601M: Sun Feb 14 01:28:43 PST 2016 markmi at FreeBSDx64:/usr/obj/clang/arm.armv6/usr/src/sys/RPI2-NODBG arm 1100097 1100097
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-arm
mailing list