Jump to content

SystemC 2.3.3 fail "make check" in MacOS

Recommended Posts

Compile OK and when I do "make check" it failed with following log.  Let me know anyone want more logs, details.


Making check in docs

make[1]: Nothing to be done for `check'.

Making check in src

Making check in sysc

Making check in packages/boost

make[3]: Nothing to be done for `check'.

Making check in packages/qt

/Library/Developer/CommandLineTools/usr/bin/make  check-am

make[4]: Nothing to be done for `check-am'.

make[3]: Nothing to be done for `check-am'.

Making check in tlm_core

make[2]: Nothing to be done for `check'.

Making check in tlm_utils

make[2]: Nothing to be done for `check'.

Making check in .

make[2]: Nothing to be done for `check-am'.

Making check in examples

Making check in sysc

  GEN      copy-check-data

/Library/Developer/CommandLineTools/usr/bin/make  fft/fft_flpt/test fft/fft_fxpt/test fir/test fir/test_rtl pipe/test pkt_switch/test risc_cpu/test rsa/test simple_bus/test simple_fifo/test simple_perf/test 2.1/dpipe/test 2.1/forkjoin/test 2.1/reset_signal_is/test 2.1/sc_export/test 2.1/sc_report/test 2.1/scx_barrier/test 2.1/scx_mutex_w_policy/test 2.1/specialized_signals/test 2.3/sc_rvd/test 2.3/sc_ttd/test 2.3/simple_async/test fft/fft_flpt/test.sh fft/fft_fxpt/test.sh fir/test.sh fir/test_rtl.sh pipe/test.sh pkt_switch/test.sh risc_cpu/test.sh rsa/test.sh simple_bus/test.sh simple_fifo/test.sh simple_perf/test.sh 2.1/dpipe/test.sh 2.1/forkjoin/test.sh 2.1/reset_signal_is/test.sh 2.1/sc_export/test.sh 2.1/sc_report/test.sh 2.1/scx_barrier/test.sh 2.1/scx_mutex_w_policy/test.sh 2.1/specialized_signals/test.sh 2.3/sc_rvd/test.sh 2.3/sc_ttd/test.sh 2.3/simple_async/test.sh

  CXX      fft/fft_flpt/fft_fft_flpt_test-fft.o

  CXX      fft/fft_flpt/fft_fft_flpt_test-main.o

  CXX      fft/fft_flpt/fft_fft_flpt_test-sink.o

  CXX      fft/fft_flpt/fft_fft_flpt_test-source.o

  CXXLD    fft/fft_flpt/test

  CXX      fft/fft_fxpt/fft_fft_fxpt_test-fft.o

  CXX      fft/fft_fxpt/fft_fft_fxpt_test-main.o

  CXX      fft/fft_fxpt/fft_fft_fxpt_test-sink.o

  CXX      fft/fft_fxpt/fft_fft_fxpt_test-source.o

  CXXLD    fft/fft_fxpt/test

  CXX      fir/fir_test-stimulus.o

  CXX      fir/fir_test-display.o

  CXX      fir/fir_test-fir.o

  CXX      fir/fir_test-main.o

  CXXLD    fir/test

  CXX      fir/stimulus.o

  CXX      fir/display.o

  CXX      fir/fir_fsm.o

  CXX      fir/fir_data.o

  CXX      fir/main_rtl.o

  CXXLD    fir/test_rtl

  CXX      pipe/pipe_test-display.o

  CXX      pipe/pipe_test-main.o

  CXX      pipe/pipe_test-numgen.o

  CXX      pipe/pipe_test-stage1.o

  CXX      pipe/pipe_test-stage2.o

  CXX      pipe/pipe_test-stage3.o

  CXXLD    pipe/test

  CXX      pkt_switch/pkt_switch_test-fifo.o

  CXX      pkt_switch/pkt_switch_test-main.o

  CXX      pkt_switch/pkt_switch_test-receiver.o

  CXX      pkt_switch/pkt_switch_test-sender.o

  CXX      pkt_switch/pkt_switch_test-switch.o

  CXX      pkt_switch/pkt_switch_test-switch_clk.o

  CXXLD    pkt_switch/test

  CXX      risc_cpu/risc_cpu_test-bios.o

  CXX      risc_cpu/risc_cpu_test-dcache.o

  CXX      risc_cpu/risc_cpu_test-decode.o

  CXX      risc_cpu/risc_cpu_test-exec.o

  CXX      risc_cpu/risc_cpu_test-fetch.o

  CXX      risc_cpu/risc_cpu_test-floating.o

  CXX      risc_cpu/risc_cpu_test-icache.o

  CXX      risc_cpu/risc_cpu_test-main.o

  CXX      risc_cpu/risc_cpu_test-mmxu.o

  CXX      risc_cpu/risc_cpu_test-paging.o

  CXX      risc_cpu/risc_cpu_test-pic.o

  CXXLD    risc_cpu/test

  CXX      rsa/rsa_test-rsa.o

  CXXLD    rsa/test

  CXX      simple_bus/simple_bus_test-simple_bus.o

  CXX      simple_bus/simple_bus_test-simple_bus_arbiter.o

  CXX      simple_bus/simple_bus_test-simple_bus_main.o

  CXX      simple_bus/simple_bus_test-simple_bus_master_blocking.o

  CXX      simple_bus/simple_bus_test-simple_bus_master_direct.o

  CXX      simple_bus/simple_bus_test-simple_bus_master_non_blocking.o

  CXX      simple_bus/simple_bus_test-simple_bus_types.o

  CXX      simple_bus/simple_bus_test-simple_bus_tools.o

  CXXLD    simple_bus/test

  CXX      simple_fifo/simple_fifo_test-simple_fifo.o

  CXXLD    simple_fifo/test

  CXX      simple_perf/simple_perf_test-simple_perf.o

  CXXLD    simple_perf/test

  CXX      2.1/dpipe/2_1_dpipe_test-main.o

  CXXLD    2.1/dpipe/test

  CXX      2.1/forkjoin/2_1_forkjoin_test-forkjoin.o

  CXXLD    2.1/forkjoin/test

  CXX      2.1/reset_signal_is/2_1_reset_signal_is_test-reset_signal_is.o

  CXXLD    2.1/reset_signal_is/test

  CXX      2.1/sc_export/2_1_sc_export_test-main.o

  CXXLD    2.1/sc_export/test

  CXX      2.1/sc_report/2_1_sc_report_test-main.o

  CXXLD    2.1/sc_report/test

  CXX      2.1/scx_barrier/2_1_scx_barrier_test-main.o

  CXXLD    2.1/scx_barrier/test

  CXX      2.1/scx_mutex_w_policy/2_1_scx_mutex_w_policy_test-scx_mutex_w_policy.o

  CXXLD    2.1/scx_mutex_w_policy/test

  CXX      2.1/specialized_signals/2_1_specialized_signals_test-main.o

  CXX      2.1/specialized_signals/2_1_specialized_signals_test-scx_signal_int.o

  CXX      2.1/specialized_signals/2_1_specialized_signals_test-scx_signal_uint.o

  CXX      2.1/specialized_signals/2_1_specialized_signals_test-scx_signal_signed.o

  CXX      2.1/specialized_signals/2_1_specialized_signals_test-scx_signal_unsigned.o

  CXXLD    2.1/specialized_signals/test

  CXX      2.3/sc_rvd/2_3_sc_rvd_test-main.o

  CXXLD    2.3/sc_rvd/test

  CXX      2.3/sc_ttd/2_3_sc_ttd_test-main.o

  CXXLD    2.3/sc_ttd/test

  CXX      2.3/simple_async/2_3_simple_async_test-main.o

  CXXLD    2.3/simple_async/test

  GEN      fft/fft_flpt/test.sh

  GEN      fft/fft_fxpt/test.sh

  GEN      fir/test.sh

  GEN      fir/test_rtl.sh

  GEN      pipe/test.sh

  GEN      pkt_switch/test.sh

  GEN      risc_cpu/test.sh

  GEN      rsa/test.sh

  GEN      simple_bus/test.sh

  GEN      simple_fifo/test.sh

  GEN      simple_perf/test.sh

  GEN      2.1/dpipe/test.sh

  GEN      2.1/forkjoin/test.sh

  GEN      2.1/reset_signal_is/test.sh

  GEN      2.1/sc_export/test.sh

  GEN      2.1/sc_report/test.sh

  GEN      2.1/scx_barrier/test.sh

  GEN      2.1/scx_mutex_w_policy/test.sh

  GEN      2.1/specialized_signals/test.sh

  GEN      2.3/sc_rvd/test.sh

  GEN      2.3/sc_ttd/test.sh

  GEN      2.3/simple_async/test.sh

/Library/Developer/CommandLineTools/usr/bin/make  check-TESTS

FAIL: fft/fft_flpt/test.sh

FAIL: fft/fft_fxpt/test.sh

FAIL: fir/test.sh

FAIL: fir/test_rtl.sh

FAIL: pipe/test.sh

FAIL: pkt_switch/test.sh

FAIL: risc_cpu/test.sh

FAIL: rsa/test.sh

FAIL: simple_bus/test.sh

FAIL: simple_fifo/test.sh

FAIL: simple_perf/test.sh

FAIL: 2.1/dpipe/test.sh

FAIL: 2.1/forkjoin/test.sh

FAIL: 2.1/reset_signal_is/test.sh

FAIL: 2.1/sc_export/test.sh

FAIL: 2.1/sc_report/test.sh

FAIL: 2.1/scx_barrier/test.sh

FAIL: 2.1/scx_mutex_w_policy/test.sh

FAIL: 2.1/specialized_signals/test.sh

FAIL: 2.3/sc_rvd/test.sh

FAIL: 2.3/sc_ttd/test.sh

FAIL: 2.3/simple_async/test.sh

  GEN      copy-check-data

To compile and run the examples type

   make check


Testsuite summary for SystemC 2.3.3


# TOTAL: 22

# PASS:  0

# SKIP:  0

# XFAIL: 0

# FAIL:  22

# XPASS: 0

# ERROR: 0


See examples/sysc/test-suite.log

Please report to http://forums.accellera.org/forum/9-systemc/


make[4]: *** [test-suite.log] Error 1

make[3]: *** [check-TESTS] Error 2

make[2]: *** [check-am] Error 2

make[1]: *** [check-recursive] Error 1

make: *** [check-recursive] Error 1

Share this post

Link to post
Share on other sites


- OS name and version : macOS High Sierra, Version 10.13.6 (17G3025)

- Compiler : Apple LLVM version 10.0.0 (clang-1000.10.44.4)





Apple LLVM version 10.0.0 (clang-1000.10.44.4)

Target: x86_64-apple-darwin17.7.0

Thread model: posix

InstalledDir: /Library/Developer/CommandLineTools/usr/bin



Configuration summary of SystemC 2.3.3 for x86_64-apple-darwin17.7.0



Directory setup (based on classic layout):

   Installation prefix (aka SYSTEMC_HOME):


   Header files  : <SYSTEMC_HOME>/include

   Libraries     : <SYSTEMC_HOME>/lib-macosx64

   Documentation : <SYSTEMC_HOME>/docs

   Examples      : <SYSTEMC_HOME>/examples


Architecture    : macosx64

Compiler        : g++ (C/C++)


Build settings:

   Enable compiler optimizations  : yes

   Include debugging symbols      : no

   Coroutine package for processes: QuickThreads

   Enable VCD scopes by default   : yes

   Disable async_request_update   : no

   Phase callbacks (experimental) : no



Share this post

Link to post
Share on other sites

After much debugging with LLDB, sem_init() in sc_host_semaphore.h fails with errno 78 (function deprecated) since Macosx has recently dropped support for unnamed semaphores.

this failure causes a recursive loop to sc_simcontext::init() which results in a segfault.

Switching the use of POSIX semaphores to Apple's Dispatch Semaphore seem to work.

details on replacing sem_init() are here: https://stackoverflow.com/questions/1413785/sem-init-on-os-x/1452182

Share this post

Link to post
Share on other sites

Hi Mike,

SystemC 2.3.3 does not use sem_init when C++11 is available. So this error should only happen if you use both a recent Mac OS X without using C++11 support.

And you should actually see a failing assert in this case (unless you happen to build with NDEBUG defined, which is generally a bad idea).

Greetings from Duisburg,

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...