hotspot build problems

Volker Simonis volker.simonis at gmail.com
Fri Dec 10 16:45:24 UTC 2010


Hi Per,

the SE stuff should already be handled by the Make process (as pointed
out by Andrew). However I think the detection of SELinux is quite
fragile, I also had problems with it in the past. In the build log you
should see something like:

                                                \
            rm -f libjvm.so.1; ln -s libjvm.so libjvm.so.1;
                      \
            [ -f libjvm_g.so ] || { ln -s libjvm.so libjvm_g.so; ln -s
libjvm.so.1 libjvm_g.so.1; };
\
            if [ \"\" = \"\" ] ; then                    \
              if [ -x /usr/sbin/selinuxenabled ] ; then                 \
                /usr/sbin/selinuxenabled;                               \
                if [ $? = 0 ] ; then                                    \
                  /usr/bin/chcon -t textrel_shlib_t libjvm.so;                 \
                  if [ $? != 0 ]; then                                 \
                    echo "ERROR: Cannot chcon libjvm.so";
         \
                  fi                                                    \
                fi                                                      \
              fi                                                        \
            fi                                                          \
        }
Linking vm...

If this fails, you'll have to work around it manually.

Regarding the HPI-problem I only have a wild guess. Recently there was
a change which removed HPI (see:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6348631). So
perhaps this interferes with your build JDK which is quite old as far
as I saw ("1.6.0-rc-b104"). Perhaps building with a newer Java 6
version or even Java 7 may solve the problem.

Regards,
Volker


On Fri, Dec 10, 2010 at 9:22 AM, Per Bothner <per.bothner at oracle.com> wrote:
> As promised: I need help building building Hotspot ...
>
> (1) The first build failure is because of SELinux:
>
> make[5]: Leaving directory
> `/home/bothner/Java/jdk7/build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product'
> cd linux_i486_compiler2/product && ./test_gamma
> java full version "1.6.0-rc-b104"
> ./gamma: error while loading shared libraries: libjvm.so: cannot enable
> executable stack as shared object requires: Permission denied
>
> The fix is:
> $ execstack -c
> build/linux-i586/hotspot/outputdir/linux_i486_compiler2/product/libjvm.so
>
> I don't know if it makes sense for the build to try this automatically.
>
> (2) Next I get:
>
> cd linux_i486_compiler2/product && ./test_gamma
> java full version "1.6.0-rc-b104"
> There was an error trying to initialize the HPI library.
> Could not create the Java virtual machine.
> make[4]: *** [product] Error 1
> make[4]: Leaving directory
> `/home/bothner/Java/jdk7/build/linux-i586/hotspot/outputdir'
>
> I Googled for the error message - it might some problem with linker
> flags or LD_LIBRARY_PATH not set correctly.  I'll dig into it,
> but if anyone has any hints where to look it would be appreciated!
> --
>        --Per Bothner
> per.bothner at oracle.com   per at bothner.com   http://per.bothner.com/
>



More information about the build-dev mailing list