Bug 229739 - devel/concurrencykit: remove BROKEN_aarch64, armv6/7
Summary: devel/concurrencykit: remove BROKEN_aarch64, armv6/7
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: arm64 Any
: --- Affects Some People
Assignee: Mark Linimon
URL:
Keywords: needs-patch, needs-qa
: 229923 (view as bug list)
Depends on:
Blocks: 201763
  Show dependency treegraph
 
Reported: 2018-07-12 18:26 UTC by Greg V
Modified: 2018-11-01 15:18 UTC (History)
6 users (show)

See Also:
koobs: maintainer-feedback? (mikael.urankar)
marek: maintainer-feedback+


Attachments
concurrencykit.patch (736 bytes, patch)
2018-07-12 18:26 UTC, Greg V
no flags Details | Diff
patch (1.56 KB, patch)
2018-07-15 17:06 UTC, mikael.urankar
no flags Details | Diff
New patch that unbreaks armv6/armv7/aarch64 (1.45 KB, patch)
2018-07-31 14:13 UTC, marek
no flags Details | Diff
Poudriere build logs for the latest patch. (22.56 KB, application/x-gzip)
2018-07-31 14:26 UTC, marek
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Greg V 2018-07-12 18:26:48 UTC
Created attachment 195090 [details]
concurrencykit.patch

Works fine on both armv7 and aarch64 (tested with benchmarks/sysbench).
Comment 1 mikael.urankar 2018-07-12 19:44:40 UTC
The problem for armv6/armv7 is that we use /nxb-bin/usr/bin/cc as a compiler and the configure script doesn't accept absolute path (at least it was the case last time I checked 2 years ago)
this is the patch I used back then: http://mikael.urankar.free.fr/FreeBSD/arm/patches/devel_concurrencykit.patch
Comment 2 Greg V 2018-07-12 20:26:56 UTC
(In reply to mikael.urankar from comment #1)
What's nxb-bin? I don't have that on my armv7 box, it just has the regular clang at /usr/bin/cc.
Comment 3 mikael.urankar 2018-07-13 11:29:45 UTC
Packages for armv6 and armv7 are built with poudriere/qemu/native-xtools and the compiler is set to /nxb-bin/usr/bin/cc : https://github.com/freebsd/poudriere/blob/master/src/share/poudriere/common.sh#L2209
Comment 4 Mark Linimon freebsd_committer freebsd_triage 2018-07-14 19:22:51 UTC
On armv7 I still get the failure (excerpts):

  FreeBSD 12.0-CURRENT 1200062 arm
  UNAME_p=armv7
  Finding suitable compiler........failed  [not found]

It does work fine on aarch64, however.
Comment 5 Walter Schwarzenfeld freebsd_triage 2018-07-14 21:00:15 UTC
build.log  11.02 armv6 seems work
https://karlsen.tech/freebsd/buildlogs/devel_concurrencykit_229739.testport.log
Comment 6 Greg V 2018-07-15 00:37:03 UTC
(In reply to w.schwarzenfeld from comment #5)
Hm, that did not pick up nxb-bin, but picked up ccache
Comment 7 mikael.urankar 2018-07-15 17:06:16 UTC
Created attachment 195157 [details]
patch

My patch is still needed to build ck with poudriere/qemu/nxb-tools
Comment 8 marek 2018-07-23 10:27:27 UTC
Please check poudriere logs from duplicate bug #229923
It builds fine on armv6/armv7/aarch64
Comment 9 Kubilay Kocak freebsd_committer freebsd_triage 2018-07-31 02:45:19 UTC
*** Bug 229923 has been marked as a duplicate of this bug. ***
Comment 10 Kubilay Kocak freebsd_committer freebsd_triage 2018-07-31 02:54:59 UTC
bug 229923 attachment 195326 [details] (a duplicate of this issue), applies a different solution to that here in Mikaels attachment 195157 [details], but also removes BROKEN for aarch64, which Mikaels attachment does not.

Of the two approaches, *if* they both address the same underlying compiler detection issue, I prefer the approach here, as it does not hard code a particular case into configure.

However, if the approach here does *not* unbreak all archs, then I prefer the solution from the other bug.

Can someone clarify the situation, *and* integrate the two patches here with a final and complete patch (removing BROKEN and fixing compiler detection), obsoleting the two existing attachments

I do not have the hardware here to test these archs, so confirmation of successful QA on all archs (armv6, armv7, aarch64) using the updated patch requested above would be appreciated.
Comment 11 marek 2018-07-31 14:13:32 UTC
Created attachment 195689 [details]
New patch that unbreaks armv6/armv7/aarch64

I have check Mikaels patch and it builds on aarch64 fine. I am attaching a new patch, based on Mikael's solution, which unbreaks aarch64 too.
Comment 12 marek 2018-07-31 14:26:13 UTC
Created attachment 195690 [details]
Poudriere build logs for the latest patch.

I am attaching also poudriere build logs for the latest patch.
Comment 13 marek 2018-07-31 14:38:51 UTC
Also, I would like to share with another observation about poudriere cross building. When poudriere using nxb binaries, it modifies variables as follow:

(00:00:01) ---Begin make.nxb.conf---
(00:00:01) CC=/nxb-bin/usr/bin/cc
(00:00:01) CPP=/nxb-bin/usr/bin/cpp
(00:00:01) CXX=/nxb-bin/usr/bin/c++
(00:00:01) AS=/nxb-bin/usr/bin/as
(00:00:01) NM=/nxb-bin/usr/bin/nm
(00:00:01) LD=/nxb-bin/usr/bin/ld
(00:00:01) OBJCOPY=/nxb-bin/usr/bin/objcopy
(00:00:01) SIZE=/nxb-bin/usr/bin/size
(00:00:01) STRIPBIN=/nxb-bin/usr/bin/strip
(00:00:01) SED=/nxb-bin/usr/bin/sed
(00:00:01) RANLIB=/nxb-bin/usr/bin/ranlib
(00:00:01) YACC=/nxb-bin/usr/bin/yacc
(00:00:01) MAKE=/nxb-bin/usr/bin/make
(00:00:01) STRINGS=/nxb-bin/usr/bin/strings
(00:00:01) AWK=/nxb-bin/usr/bin/awk
(00:00:01) FLEX=/nxb-bin/usr/bin/flex
(00:00:01) ---End make.nxb.conf---

I modified Makefile for devel/concurrencykit to reset variables changed by make.nxb.conf and prepend PATH to search nxb binaries first:

.if ${CC} == /nxb-bin/usr/bin/cc
CC=	cc
CPP= cpp
CXX= c++
AS=	as
NM=	nm
LD=	ld
OBJCOPY= objcopy
SIZE= size
STRIPBIN= strip
SED= sed
RANLIB= ranlib
YACC= yacc
MAKE= make
STRINGS= strings
AWK= awk
FLEX= flex
PATH:= /nxb-bin/bin:/nxb-bin/sbin:/nxb-bin/usr/bin:/nxb-bin/usr/sbin:${PATH}
.endif

This modification causes, that there is no patch needed for concurrencykit. Also, the configure script detects more nxp binaries:

(00:00:02) =======================<phase: configure      >============================
(00:00:02) ===>  Configuring for concurrencykit-0.6.0_1
(00:00:02) Detecting operating system.......success [freebsd]
(00:00:02) Detecting machine architecture...success [aarch64]
(00:00:02) Finding dirname command..........success [/nxb-bin/usr/bin/dirname]
(00:00:02) Determining build directory......success [/wrkdirs/usr/ports/devel/concurrencykit/work/ck-0.6.0]
(00:00:02) Finding gzip tool................success [/nxb-bin/usr/bin/gzip]
(00:00:02) Finding suitable compiler........success [/nxb-bin/usr/bin/cc]
(00:00:02) Detecting VMA bits...............unknown
(00:00:02) Checking header file usability...success [stdbool.h]
(00:00:03) Checking header file usability...success [stddef.h]
(00:00:03) Checking header file usability...success [stdint.h]
(00:00:03) Checking header file usability...success [string.h]
(00:00:03) Detecting git SHA................git not installed or executable []
(00:00:03) Generating header files..........success
(00:00:03) Generating build files...........success
(00:00:03) 
(00:00:03)            VERSION = 0.6.0
(00:00:03)            GIT_SHA = 
(00:00:03)          BUILD_DIR = /wrkdirs/usr/ports/devel/concurrencykit/work/ck-0.6.0
(00:00:03)            SRC_DIR = /wrkdirs/usr/ports/devel/concurrencykit/work/ck-0.6.0
(00:00:03)             SYSTEM = freebsd
(00:00:03)            PROFILE = aarch64
(00:00:03)                 CC = /nxb-bin/usr/bin/cc
(00:00:03)           COMPILER = clang
(00:00:03)             CFLAGS = -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wc
ast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-par
entheses -O2 -pipe  -fno-strict-aliasing -fPIC
(00:00:03)     PTHREAD_CFLAGS = -pthread
(00:00:03)                 LD = /nxb-bin/usr/bin/cc
(00:00:03)             LDNAME = libck.so
(00:00:03)     LDNAME_VERSION = libck.so.0.6.0
(00:00:03)       LDNAME_MAJOR = libck.so.0
(00:00:03)            LDFLAGS = -Wl,-soname,libck.so.0  -shared -fPIC
(00:00:03)               GZIP = /nxb-bin/usr/bin/gzip -c
(00:00:03)              CORES = 8
(00:00:03)       POINTER_PACK = CK_MD_POINTER_PACK_DISABLE
(00:00:03)           VMA_BITS = unknown
(00:00:03)       MEMORY_MODEL = CK_MD_RMO
(00:00:03)                RTM = CK_MD_RTM_DISABLE
(00:00:03)                LSE = CK_MD_LSE_DISABLE

This makes me confused. Should poudriere really change compiler variables instead of prepending PATH for searching proper tools in nxb directories first?
Comment 14 mikael.urankar 2018-07-31 17:58:43 UTC
(In reply to marek from comment #13)
poudriere should be fixed to not use nxb.conf at all but to symlink all the toolchain (like it's done for some base utilities). We already have enough problems on arm (clang, as, qemu-user-static...) and we are adding this nxb.conf nonsense.
Comment 15 Greg V 2018-07-31 20:28:10 UTC
(In reply to mikael.urankar from comment #14)
> poudriere should be fixed to not use nxb.conf at all

huge +1. These paths get baked into everything! libtool (reported as bug 230018), ruby… I gave up and just symlinked /nxb-bin to / on my armv7 box.
Comment 16 Piotr Kubaj freebsd_committer 2018-09-17 08:07:26 UTC
Could you also remove BROKEN_powerpc64? Building on CURRENT works:

===>  License BSD2CLAUSE accepted by the user
===>   concurrencykit-0.6.0 depends on file: /usr/local/sbin/pkg - found
=> ck-0.6.0.tar.gz doesn't seem to exist in /usr/local/poudriere/ports/default/distfiles/.
=> Attempting to fetch http://concurrencykit.org/releases/ck-0.6.0.tar.gz
ck-0.6.0.tar.gz                                        212 kB 1613 kBps    00s
===> Fetching all distfiles required by concurrencykit-0.6.0 for building
===>  Extracting for concurrencykit-0.6.0
=> SHA256 Checksum OK for ck-0.6.0.tar.gz.
/usr/bin/sed -i.bak -e 's|PKGCONFIG_DATA=@LIBRARY@|PKGCONFIG_DATA=/usr/local/libdata/|g'  /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/Makefile.in
===>  Patching for concurrencykit-0.6.0
===>   concurrencykit-0.6.0 depends on package: pkgconf>=1.3.0_1 - found
===>  Configuring for concurrencykit-0.6.0
Detecting operating system.......success [freebsd]
Detecting machine architecture...success [ppc]
Finding dirname command..........success [/usr/bin/dirname]
Determining build directory......success [/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0]
Finding gzip tool................success [/usr/bin/gzip]
Finding suitable compiler........success [/usr/bin/cc]
Detecting VMA bits...............unknown
Checking header file usability...success [stdbool.h]
Checking header file usability...success [stddef.h]
Checking header file usability...success [stdint.h]
Checking header file usability...success [string.h]
Detecting git SHA................git not installed or executable []
Generating header files..........success
Generating build files...........success

           VERSION = 0.6.0
           GIT_SHA =
         BUILD_DIR = /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0
           SRC_DIR = /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0
            SYSTEM = freebsd
           PROFILE = ppc
                CC = /usr/bin/cc
          COMPILER = gcc
            CFLAGS = -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O2 -pipe  -fno-strict-aliasing -fPIC
    PTHREAD_CFLAGS = -pthread
                LD = /usr/bin/cc
            LDNAME = libck.so
    LDNAME_VERSION = libck.so.0.6.0
      LDNAME_MAJOR = libck.so.0
           LDFLAGS = -Wl,-soname,libck.so.0 -m32  -shared -fPIC
              GZIP = /usr/bin/gzip -c
             CORES = 16
      POINTER_PACK = CK_MD_POINTER_PACK_DISABLE
          VMA_BITS = unknown
      MEMORY_MODEL = CK_MD_RMO
               RTM = CK_MD_RTM_DISABLE
               LSE = CK_MD_LSE_DISABLE

Headers will be installed in /usr/local/include
Libraries will be installed in /usr/local/lib
Documentation will be installed in /usr/local/man
===>  Building for concurrencykit-0.6.0
--- doc ---
/usr/bin/make -C doc all || exit
--- all ---
for target in CK_ARRAY_FOREACH           ck_array_buffer                         ck_array_commit                         ck_array_deinit             ck_array_init                    ck_array_initialized            ck_array_length                         ck_array_put                    ck_array_put_unique          ck_array_remove                         ck_array_deinit                         ck_brlock                       ck_ht_count         ck_ht_destroy                    ck_ht_gc                        ck_ht_get_spmc                  ck_ht_grow_spmc                         ck_ht_hash                   ck_ht_hash_direct               ck_ht_init                      ck_ht_put_spmc                  ck_ht_remove_spmc               ck_ht_reset_spmc             ck_ht_reset_size_spmc           ck_ht_set_spmc                  ck_ht_entry_empty               ck_ht_entry_key             ck_ht_entry_key_direct           ck_ht_entry_key_length          ck_ht_entry_key_set             ck_ht_entry_key_set_direct      ck_ht_entry_set     ck_ht_entry_set_direct           ck_ht_entry_value_direct        ck_ht_entry_value               ck_ht_iterator_init             ck_ht_next          ck_ht_stat                       ck_bitmap_init                  ck_bitmap_reset                         ck_bitmap_set                   ck_bitmap_bts                        ck_bitmap_test                  ck_bitmap_base                  ck_bitmap_union                         ck_bitmap_size      ck_bitmap_clear                  ck_bitmap_bits                  ck_bitmap_buffer                ck_bitmap_next                  ck_bitmap_iterator_init              ck_elide                        ck_epoch_barrier                ck_epoch_begin                  ck_epoch_call                   ck_epoch_end                         ck_epoch_init                   ck_epoch_poll                   ck_epoch_recycle                ck_epoch_register   ck_epoch_reclaim                 ck_epoch_synchronize            ck_epoch_unregister             ck_hs_gc                        ck_hs_init          ck_hs_destroy                    CK_HS_HASH                      ck_hs_apply                     ck_hs_iterator_init             ck_hs_next          ck_hs_get                        ck_hs_put                       ck_hs_put_unique                ck_hs_set
               ck_hs_fas           ck_hs_remove                     ck_hs_move                      ck_hs_grow                      ck_hs_rebuild                   ck_hs_count         ck_hs_reset                      ck_hs_reset_size                ck_hs_stat
                    ck_rhs_gc                       ck_rhs_init         ck_rhs_destroy                   CK_RHS_HASH                     ck_rhs_apply                    ck_rhs_iterator_init            ck_rhs_next         ck_rhs_get                       ck_rhs_put                      ck_rhs_put_unique               ck_rhs_set                      ck_rhs_fas          ck_rhs_remove                    ck_rhs_move                     ck_rhs_grow                     ck_rhs_rebuild                  ck_rhs_count        ck_rhs_reset                     ck_rhs_reset_size               ck_rhs_stat                     ck_rwcohort                     CK_RWCOHORT_INIT    CK_RWCOHORT_INSTANCE             CK_RWCOHORT_PROTOTYPE           CK_RWCOHORT_READ_LOCK           CK_RWCOHORT_READ_UNLOCK                 CK_RWCOHORT_WRITE_LOCK               CK_RWCOHORT_WRITE_UNLOCK        ck_cohort                       CK_COHORT_PROTOTYPE             CK_COHORT_TRYLOCK_PROTOTYPE CK_COHORT_INSTANCE               CK_COHORT_INIT                  CK_COHORT_LOCK                  CK_COHORT_UNLOCK                CK_COHORT_TRYLOCK   ck_pr                            ck_pr_fence_acquire             ck_pr_fence_release             ck_pr_barrier                   ck_pr_fas           ck_pr_fence_atomic               ck_pr_fence_atomic_load                 ck_pr_fence_atomic_store        ck_pr_fence_load                ck_pr_fence_load_atomic              ck_pr_fence_load_store          ck_pr_fence_load_depends        ck_pr_fence_memory              ck_pr_fence_store           ck_pr_fence_store_atomic         ck_pr_fence_store_load          ck_pr_stall                     ck_pr_faa                       ck_pr_inc           ck_pr_dec                        ck_pr_not                       ck_pr_neg                       ck_pr_add
             ck_pr_sub           ck_pr_and                        ck_pr_xor                       ck_pr_or                        ck_pr_cas                       ck_pr_bts           ck_pr_btc                        ck_pr_btr                       ck_pr_store
                  ck_pr_load                      ck_pr_rtm           ck_queue                         ck_ring_init                    ck_ring_dequeue_spmc            ck_ring_enqueue_spmc            ck_ring_enqueue_spmc_size    ck_ring_trydequeue_spmc
       ck_ring_dequeue_spsc            ck_ring_enqueue_spsc            ck_ring_enqueue_spsc_size       ck_ring_size                         ck_ring_capacity                ck_tflock                       ck_rwlock                       ck_pflock           ck_swlock                        ck_sequence                     ck_spinlock; do                            /usr/bin/gzip -c /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/doc/$target > /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/doc/$target.3.gz;  done
---[ Manual pages are ready for installation.
--- all ---
/usr/bin/make -C src all || exit
--- ck_barrier_centralized.o ---
--- ck_barrier_combining.o ---
--- ck_barrier_dissemination.o ---
--- ck_barrier_tournament.o ---
--- ck_barrier_mcs.o ---
--- ck_epoch.o ---
--- ck_ht.o ---
--- ck_hp.o ---
--- ck_hs.o ---
--- ck_rhs.o ---
--- ck_array.o ---
--- ck_barrier_centralized.o ---
/usr/bin/cc -O2 -pipe  -fno-strict-aliasing -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O2 -pipe  -fno-strict-aliasing -fPIC -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -m32 -D__ppc__ -c -o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_barrier_centralized.o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_barrier_centralized.c
--- ck_barrier_combining.o ---
/usr/bin/cc -O2 -pipe  -fno-strict-aliasing -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O2 -pipe  -fno-strict-aliasing -fPIC -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -m32 -D__ppc__ -c -o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_barrier_combining.o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_barrier_combining.c
--- ck_barrier_dissemination.o ---
/usr/bin/cc -O2 -pipe  -fno-strict-aliasing -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O2 -pipe  -fno-strict-aliasing -fPIC -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -m32 -D__ppc__ -c -o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_barrier_dissemination.o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_barrier_dissemination.c
--- ck_barrier_tournament.o ---
/usr/bin/cc -O2 -pipe  -fno-strict-aliasing -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O2 -pipe  -fno-strict-aliasing -fPIC -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -m32 -D__ppc__ -c -o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_barrier_tournament.o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_barrier_tournament.c
--- ck_barrier_mcs.o ---
/usr/bin/cc -O2 -pipe  -fno-strict-aliasing -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O2 -pipe  -fno-strict-aliasing -fPIC -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -m32 -D__ppc__ -c -o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_barrier_mcs.o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_barrier_mcs.c
--- ck_epoch.o ---
/usr/bin/cc -O2 -pipe  -fno-strict-aliasing -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O2 -pipe  -fno-strict-aliasing -fPIC -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -m32 -D__ppc__ -c -o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_epoch.o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_epoch.c
--- ck_ht.o ---
/usr/bin/cc -O2 -pipe  -fno-strict-aliasing -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O2 -pipe  -fno-strict-aliasing -fPIC -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -m32 -D__ppc__ -c -o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_ht.o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_ht.c
--- ck_array.o ---
/usr/bin/cc -O2 -pipe  -fno-strict-aliasing -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O2 -pipe  -fno-strict-aliasing -fPIC -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -m32 -D__ppc__ -c -o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_array.o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_array.c
--- ck_hs.o ---
/usr/bin/cc -O2 -pipe  -fno-strict-aliasing -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O2 -pipe  -fno-strict-aliasing -fPIC -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -m32 -D__ppc__ -c -o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_hs.o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_hs.c
--- ck_hp.o ---
/usr/bin/cc -O2 -pipe  -fno-strict-aliasing -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O2 -pipe  -fno-strict-aliasing -fPIC -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -m32 -D__ppc__ -c -o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_hp.o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_hp.c
--- ck_rhs.o ---
/usr/bin/cc -O2 -pipe  -fno-strict-aliasing -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses -O2 -pipe  -fno-strict-aliasing -fPIC -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -I/usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include -m32 -D__ppc__ -c -o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_rhs.o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/ck_rhs.c
--- libck.so ---
--- libck.a ---
ar rcs /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/libck.a ck_barrier_centralized.o        ck_barrier_combining.o      ck_barrier_dissemination.o       ck_barrier_tournament.o                 ck_barrier_mcs.o                ck_epoch.o                      ck_ht.o     ck_hp.o                          ck_hs.o                                 ck_rhs.o                        ck_array.o
--- libck.so ---
/usr/bin/cc  -Wl,-soname,libck.so.0 -m32  -shared -fPIC -o /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/src/libck.so ck_barrier_centralized.o        ck_barrier_combining.o          ck_barrier_dissemination.o      ck_barrier_tournament.o                 ck_barrier_mcs.o    ck_epoch.o                       ck_ht.o                                 ck_hp.o                                 ck_hs.o                             ck_rhs.o                         ck_array.o
---[ Concurrency Kit has built successfully. You may now "make install".
===>  Staging for concurrencykit-0.6.0
===>   Generating temporary packing list
/usr/bin/make -C doc all || exit
for target in CK_ARRAY_FOREACH           ck_array_buffer                         ck_array_commit                         ck_array_deinit             ck_array_init                    ck_array_initialized            ck_array_length                         ck_array_put                    ck_array_put_unique          ck_array_remove                         ck_array_deinit                         ck_brlock                       ck_ht_count         ck_ht_destroy                    ck_ht_gc                        ck_ht_get_spmc                  ck_ht_grow_spmc                         ck_ht_hash                   ck_ht_hash_direct               ck_ht_init                      ck_ht_put_spmc                  ck_ht_remove_spmc               ck_ht_reset_spmc             ck_ht_reset_size_spmc           ck_ht_set_spmc                  ck_ht_entry_empty               ck_ht_entry_key             ck_ht_entry_key_direct           ck_ht_entry_key_length          ck_ht_entry_key_set             ck_ht_entry_key_set_direct      ck_ht_entry_set     ck_ht_entry_set_direct           ck_ht_entry_value_direct        ck_ht_entry_value               ck_ht_iterator_init             ck_ht_next          ck_ht_stat                       ck_bitmap_init                  ck_bitmap_reset                         ck_bitmap_set                   ck_bitmap_bts                        ck_bitmap_test                  ck_bitmap_base                  ck_bitmap_union                         ck_bitmap_size      ck_bitmap_clear                  ck_bitmap_bits                  ck_bitmap_buffer                ck_bitmap_next                  ck_bitmap_iterator_init              ck_elide                        ck_epoch_barrier                ck_epoch_begin                  ck_epoch_call                   ck_epoch_end                         ck_epoch_init                   ck_epoch_poll                   ck_epoch_recycle                ck_epoch_register   ck_epoch_reclaim                 ck_epoch_synchronize            ck_epoch_unregister             ck_hs_gc                        ck_hs_init          ck_hs_destroy                    CK_HS_HASH                      ck_hs_apply                     ck_hs_iterator_init             ck_hs_next          ck_hs_get                        ck_hs_put                       ck_hs_put_unique                ck_hs_set
               ck_hs_fas           ck_hs_remove                     ck_hs_move                      ck_hs_grow                      ck_hs_rebuild                   ck_hs_count         ck_hs_reset                      ck_hs_reset_size                ck_hs_stat
                    ck_rhs_gc                       ck_rhs_init         ck_rhs_destroy                   CK_RHS_HASH                     ck_rhs_apply                    ck_rhs_iterator_init            ck_rhs_next         ck_rhs_get                       ck_rhs_put                      ck_rhs_put_unique               ck_rhs_set                      ck_rhs_fas          ck_rhs_remove                    ck_rhs_move                     ck_rhs_grow                     ck_rhs_rebuild                  ck_rhs_count        ck_rhs_reset                     ck_rhs_reset_size               ck_rhs_stat                     ck_rwcohort                     CK_RWCOHORT_INIT    CK_RWCOHORT_INSTANCE             CK_RWCOHORT_PROTOTYPE           CK_RWCOHORT_READ_LOCK           CK_RWCOHORT_READ_UNLOCK                 CK_RWCOHORT_WRITE_LOCK               CK_RWCOHORT_WRITE_UNLOCK        ck_cohort                       CK_COHORT_PROTOTYPE             CK_COHORT_TRYLOCK_PROTOTYPE CK_COHORT_INSTANCE               CK_COHORT_INIT                  CK_COHORT_LOCK                  CK_COHORT_UNLOCK                CK_COHORT_TRYLOCK   ck_pr                            ck_pr_fence_acquire             ck_pr_fence_release             ck_pr_barrier                   ck_pr_fas           ck_pr_fence_atomic               ck_pr_fence_atomic_load                 ck_pr_fence_atomic_store        ck_pr_fence_load                ck_pr_fence_load_atomic              ck_pr_fence_load_store          ck_pr_fence_load_depends        ck_pr_fence_memory              ck_pr_fence_store           ck_pr_fence_store_atomic         ck_pr_fence_store_load          ck_pr_stall                     ck_pr_faa                       ck_pr_inc           ck_pr_dec                        ck_pr_not                       ck_pr_neg                       ck_pr_add
             ck_pr_sub           ck_pr_and                        ck_pr_xor                       ck_pr_or                        ck_pr_cas                       ck_pr_bts           ck_pr_btc                        ck_pr_btr                       ck_pr_store
                  ck_pr_load                      ck_pr_rtm           ck_queue                         ck_ring_init                    ck_ring_dequeue_spmc            ck_ring_enqueue_spmc            ck_ring_enqueue_spmc_size    ck_ring_trydequeue_spmc
       ck_ring_dequeue_spsc            ck_ring_enqueue_spsc            ck_ring_enqueue_spsc_size       ck_ring_size                         ck_ring_capacity                ck_tflock                       ck_rwlock                       ck_pflock           ck_swlock                        ck_sequence                     ck_spinlock; do                            /usr/bin/gzip -c /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/doc/$target > /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/doc/$target.3.gz;  done
---[ Manual pages are ready for installation.
/usr/bin/make -C src all || exit


---[ Concurrency Kit has built successfully. You may now "make install".
mkdir -p /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/include || exit
cp /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include/*.h /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/include || exit
chmod 644 /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/include/ck_*.h || exit
mkdir -p /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage/usr/local/include/gcc || exit
cp -r /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include/gcc/* /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/include/gcc || exit
cp include/ck_md.h /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/include/ck_md.h || exit
chmod 755 /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/include/gcc
chmod 644 /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/include/gcc/ck_*.h /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/include/gcc/*/ck_*.h || exit
mkdir -p /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage/usr/local/include/spinlock || exit
cp -r /usr/local/poudriere/ports/default/devel/concurrencykit/work/ck-0.6.0/include/spinlock/* /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/include/spinlock || exit
chmod 755 /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/include/spinlock
chmod 644 /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/include/spinlock/*.h || exit
mkdir -p /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/lib
cp src/libck.so /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/lib/libck.so.0.6.0
ln -sf libck.so.0.6.0 /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/lib/libck.so
ln -sf libck.so.0.6.0 /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/lib/libck.so.0
chmod 744 /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/lib/libck.so.0.6.0       /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/lib/libck.so           /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/lib/libck.so.0
mkdir -p /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/lib
cp src/libck.a /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/lib/libck.a
chmod 644 /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/lib/libck.a
/usr/bin/make -C doc install
mkdir -p /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/man/man3 || exit
cp *.3.gz /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/man/man3 || exit
mkdir -p /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/lib || exit
mkdir -p /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/libdata//pkgconfig || exit
chmod 755 /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/libdata//pkgconfig
cp build/ck.pc /usr/local/poudriere/ports/default/devel/concurrencykit/work/stage//usr/local/libdata//pkgconfig/ck.pc || exit


---[ Concurrency Kit has installed successfully.
====> Compressing man pages (compress-man)
===>  Installing for concurrencykit-0.6.0
===>  Checking if concurrencykit already installed
===>   Registering installation for concurrencykit-0.6.0
Installing concurrencykit-0.6.0...
===>  Cleaning for concurrencykit-0.6.0


FreeBSD talos.anongoth.pl 12.0-ALPHA6 FreeBSD 12.0-ALPHA6 #1 r338684M: Mon Sep 17 06:26:43 CEST 2018     toor@talos:/usr/obj/usr/src/powerpc.powerpc64/sys/GENERIC64  powerpc
Comment 17 Greg V 2018-10-12 08:08:01 UTC
BROKEN_aarch64 has been removed by https://reviews.freebsd.org/D17205

but armv6/armv7/powerpc64 are still marked broken
Comment 18 commit-hook freebsd_committer 2018-11-01 15:09:06 UTC
A commit references this bug:

Author: linimon
Date: Thu Nov  1 15:08:03 UTC 2018
New revision: 483673
URL: https://svnweb.freebsd.org/changeset/ports/483673

Log:
  Fix build on aarch64, armv6/7.

  PR:		229739
  Submitted by:	greg at unrelenting dot technology
  Approved by:	portmgr (tier-2 blanket)

Changes:
  head/devel/concurrencykit/Makefile
  head/devel/concurrencykit/files/
  head/devel/concurrencykit/files/patch-configure