Errors building shenandoah on MacOS

Lennart Börjeson lennart.borjeson at cinnober.com
Tue Sep 12 08:17:48 UTC 2017


11 sep. 2017 kl. 18:14 skrev Aleksey Shipilev <shade at redhat.com<mailto:shade at redhat.com>>:

On 09/11/2017 05:22 PM, Lennart Börjeson wrote:
That worked perfectly well, thank you. I can build and run Shenandoah!

Pushed to shenandoah/jdk10, please try to build the clean workspace?

Note that we do not regularly test on Mac OS, so your mileage may wary. It would be helpful if you
try to pass jtreg tests on Mac OS. You would need this:

1. Download and unpack jtreg:
  https://adopt-openjdk.ci.cloudbees.com/job/jtreg/lastSuccessfulBuild/artifact/

2. Hook up jtreg to the build:
  sh ./configure --with-jtreg=<jtreg folder> --with-debug-level=fastdebug

3. Run the tests:
  CONF=linux-x86_64-normal-server-fastdebug make images test TEST="hotspot_gc_shenandoah"




All tests PASSED.



I also needed to add --disable-warnings-as-errors otherwise I got some trivial compile errors (sorry, forgot to include this in my previous post), and also some linking warnings due to my running a later MacOS (10.12) than the supposed build system (10.7, I believe).


Anyway, if I configure as this:

bash ./configure --disable-warnings-as-errors --with-jtreg=/opt/local/jtreg --with-debug-level=fastdebug


and then:

CONF=macosx-x86_64-normal-server-fastdebug make clean images test TEST="hotspot_gc_shenandoah"


Everything compiles (with some warnings), builds, and passes all tests.

[…]

Test results: passed: 54
Report written to /Users/lennartb/RaT/openJDK/shenandoah-jdk10/build/macosx-x86_64-normal-server-fastdebug/testoutput/hotspot_gc_shenandoah/JTreport/html/report.html
Results written to /Users/lennartb/RaT/openJDK/shenandoah-jdk10/build/macosx-x86_64-normal-server-fastdebug/testoutput/hotspot_gc_shenandoah/JTwork
Summary: hotspot_gc_shenandoah
TEST STATS: name=hotspot_gc_shenandoah  run=54  pass=54  fail=0
EXIT CODE: 0
EXIT CODE: 0
Finished building targets 'clean images test' in configuration 'macosx-x86_64-normal-server-fastdebug'





I summarize the compiler warnings below. If you want the full output I can mail it to you outside the mailing list.

Best regards,

/Lennart



Compiling 11 properties into resource bundles for jdk.jartool
/Users/lennartb/RaT/openJDK/shenandoah-jdk10/hotspot/src/share/vm/ci/ciInstanceKlass.cpp:186:21: warning: '&&' within '||' [-Wlogical-op-parentheses]
  if (!(offset >= 0 && offset < layout_helper() || (offset == BrooksPointer::byte_offset() && UseShenandoahGC))) {
        ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
/Users/lennartb/RaT/openJDK/shenandoah-jdk10/hotspot/src/share/vm/ci/ciInstanceKlass.cpp:186:21: note: place parentheses around the '&&' expression to silence this warning
  if (!(offset >= 0 && offset < layout_helper() || (offset == BrooksPointer::byte_offset() && UseShenandoahGC))) {
                    ^
        (                                      )


[…]

Compiling 101 properties into resource bundles for java.desktop
/Users/lennartb/RaT/openJDK/shenandoah-jdk10/hotspot/src/share/vm/opto/escape.cpp:518:84: warning: '&&' within '||' [-Wlogical-op-parentheses]
          (opcode == Op_StoreP || opcode == Op_StoreN || opcode == Op_StoreNKlass) &&
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/Users/lennartb/RaT/openJDK/shenandoah-jdk10/hotspot/src/share/vm/opto/escape.cpp:518:84: note: place parentheses around the '&&' expression to silence this warning
          (opcode == Op_StoreP || opcode == Op_StoreN || opcode == Op_StoreNKlass) &&
                                                                                   ^
/Users/lennartb/RaT/openJDK/shenandoah-jdk10/hotspot/src/share/vm/opto/escape.cpp:737:84: warning: '&&' within '||' [-Wlogical-op-parentheses]
          (opcode == Op_StoreP || opcode == Op_StoreN || opcode == Op_StoreNKlass) &&
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/Users/lennartb/RaT/openJDK/shenandoah-jdk10/hotspot/src/share/vm/opto/escape.cpp:737:84: note: place parentheses around the '&&' expression to silence this warning
          (opcode == Op_StoreP || opcode == Op_StoreN || opcode == Op_StoreNKlass) &&
                                                                                   ^
2 warnings generated.


[…]

Creating support/symbols/ct.sym
/Users/lennartb/RaT/openJDK/shenandoah-jdk10/hotspot/src/share/vm/opto/memnode.cpp:1135:48: warning: '&&' within '||' [-Wlogical-op-parentheses]
            value->in(0)->in(1)->in(0) != NULL &&
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/Users/lennartb/RaT/openJDK/shenandoah-jdk10/hotspot/src/share/vm/opto/memnode.cpp:1135:48: note: place parentheses around the '&&' expression to silence this warning
            value->in(0)->in(1)->in(0) != NULL &&
                                               ^
/Users/lennartb/RaT/openJDK/shenandoah-jdk10/hotspot/src/share/vm/opto/memnode.cpp:1270:66: warning: '&&' within '||' [-Wlogical-op-parentheses]
             (count == 2) && elements[1]->Opcode() == Op_LShiftX &&
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/Users/lennartb/RaT/openJDK/shenandoah-jdk10/hotspot/src/share/vm/opto/memnode.cpp:1270:66: note: place parentheses around the '&&' expression to silence this warning
             (count == 2) && elements[1]->Opcode() == Op_LShiftX &&
                                                                 ^
2 warnings generated.











More information about the shenandoah-dev mailing list