NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-sparc/49074: undefined reference to `__atomic_compare_exchange_4' on sparc port
>Number: 49074
>Category: port-sparc
>Synopsis: lang/ruby21-base fails to link due to undefined reference to
>`__atomic_compare_exchange_4'
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: port-sparc-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Aug 05 10:00:01 +0000 2014
>Originator: Nobuyoshi SATO
>Release: NetBSD 6.99.49, on July 30, 2014, pkgsrc 2014Q2 and 2014Q1
>Organization:
Faculty of Software and Information Sciences,
Iwate Prefectural University, Japan.
>Environment:
System: NetBSD balalaika.db.soft.iwate-pu.ac.jp 6.99.49 NetBSD 6.99.49
(BALALAIKA) #0: Sun Aug 3 01:02:35 JST 2014
nobu-s%balalaika.db.soft.iwate-pu.ac.jp@localhost:/import/leech/1/netbsd/7/obj-sparc/sys/arch/sparc/compile/BALALAIKA
sparc
Architecture: sparc
Machine: sparc
>Description:
Building pkgsrc lang/ruby21-base fails to build as following error,
for targetting sparc port. Targetting for amd64 works fine.
Targetting other ports were not tested.
----in case of cross build on NetBSD/amd64, pkgsrc 2014Q2----
compiling main.c
linking static-library libruby212-static.a
verifying static-library libruby212-static.a
libruby212-static.a(gc.o): In function `objspace_malloc_increase.isra.54':
gc.c:(.text+0x9c9c): undefined reference to `__atomic_compare_exchange_4'
gc.c:(.text+0x9cdc): undefined reference to `__atomic_compare_exchange_4'
libruby212-static.a(io.o): In function `rb_update_max_fd':
io.c:(.text+0x29f0): undefined reference to `__atomic_compare_exchange_4'
libruby212-static.a(iseq.o): In function `rb_iseq_load':
iseq.c:(.text+0x3514): undefined reference to `__atomic_compare_exchange_4'
libruby212-static.a(vm_trace.o): In function `postponed_job_register':
vm_trace.c:(.text+0xf4c): undefined reference to `__atomic_compare_exchange_4'
libruby212-static.a(vm_trace.o):vm_trace.c:(.text+0x2934): more undefined
references to `__atomic_compare_exchange_4' follow
collect2: error: ld returned 1 exit status
*** Error code 1
----end here----
----in case of straight build on NetBSD/sparc, pkgsrc 2014Q1----
compiling main.c
linking miniruby
gc.o: In function `objspace_malloc_increase.isra.54':
gc.c:(.text+0x9d60): undefined reference to `__atomic_compare_exchange_4'
gc.c:(.text+0x9da0): undefined reference to `__atomic_compare_exchange_4'
io.o: In function `rb_update_max_fd':
io.c:(.text+0x29f0): undefined reference to `__atomic_compare_exchange_4'
iseq.o: In function `rb_iseq_load':
iseq.c:(.text+0x3514): undefined reference to `__atomic_compare_exchange_4'
vm_trace.o: In function `postponed_job_register':
vm_trace.c:(.text+0xf4c): undefined reference to `__atomic_compare_exchange_4'
vm_trace.o:vm_trace.c:(.text+0x2934): more undefined references to
`__atomic_compare_exchange_4' follow
*** Error code 1
Stop.
make: stopped in
/import/leech/2/netbsd/7/pkgsrc/lang/ruby21-base/work/ruby-2.1.1
*** Error code 1
----end here----
lang/ruby21 could be built for sparc port in NetBSD 6.99.44.
>How-To-Repeat:
Just "make build" on lang/ruby21-base (and ruby200 too) for sparc port
in recent -current. This can be reproduced by both of cross building
on NetBSD/amd64 and straight building on NetBSD/sparc.
Note that cross building lang/ruby21 for NetBSD/sparc on amd64
requieres working ruby which is natively installed. So, point that
the error occurs differs from cross and straight building.
>Fix:
No idea since I have no knowledge on internal of gcc and libc.
This seem to be related to src/common/lib/libc/atomic/ and
src/common/lib/libc/arch/sparc/atomic/.
Home |
Main Index |
Thread Index |
Old Index