Sunday, August 14, 2011

VisualVM on ubuntu(lucid) failed to initialize the Profiler engine

I installed VisualVM on my lucid(amd64), luanch it and it shows an error.
Failed to initialize the Profiler engine: Problem with a required JFluid installation directory or file /usr/lib/jvm/java-6-openjdk/lib/visualvm/profiler3/lib/deployed/jdk16/linux-amd64/libprofilerinterface.so Original message: File does not exist.
In sprite of this error, the visualvm still can run but profiler/sampler doesn't show up.
Someone have filed this bug here. To fix this problem, recompile the missing lib manually and move to the right place.
Here are the steps
  1. Download visualvm source here (visualvm_1.2.2.orig.tar.gz at the right pane)
  2. Extract it and cd to the build directory
    tar -xzvf visualvm_1.2.2.orig.tar.gz
    tar -xzvf netbeans-profiler-visualvm_release68.tar.gz
    cd lib.profiler/native/build
  3. You will see build script ( buildnative-linux64.sh ) then edit it. 
    1. Replace gcc32 with gcc
    2. Change 2 BuildJDK lines to below. /usr/bin/jvm/default-java/ is my jdk path; yours may differ.
      BuildForJDK "/usr/lib/jvm/default-java" "jdk16"
  4. Make directory for release
    mkdir -p ../../release/lib/deployed/jdk16/linux-amd64/
  5. Run this build script. It will compile the source against jni headers in our jdk and output as libprofilerinterface.so
    ./buildnative-linux64.sh
  6. Move libprofilerinterface.so to the right place in your jdk path
    sudo cp ../../release/lib/deployed/jdk16/linux-amd64/libprofilerinterface.so /usr/lib/jvm/default-java/lib/visualvm/profiler3/lib/deployed/jdk16/linux-amd64/
  7. Launch VisualVM again. 

2 comments:

  1. 슈어맨 다음드 먹튀다자바 공통 추천 토토사이트 메이저사이트 안전놀이터 가장 완전하고 정확한 먹튀검증 3대사이트에서 공통으로 추천하고 있는 스포츠 배팅사이트라면 안전성이나 신속 정확성에서 타사이트에 비해 앞서 있습니다 토토파워가 이를 공개합니다 안전 공원.

    ReplyDelete
  2. The information in the post you posted here is useful because it contains some of the best information available. Commercial Playground Equipment For Sale. Thanks for sharing it. Keep up the good work.

    ReplyDelete