Jump to content
ayewin

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

Summary:

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

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

Thanks.

 

 

---

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):

      /usr/local/systemc-2.3.3

   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,
  Philipp

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×