Simple dynamic language using invokedynamic

Yuri Gaevsky Yuri.Gaevsky at Sun.COM
Wed Jun 24 05:42:11 PDT 2009


Hi Jochen,

If you were able to build the openjdk and only have issues with
applying mlvm patches to bsd-port sources then I will try to help.

Assuming that you are in "~/Projects/davinci" directory please
use the following commands (after rm -rf sources && rm -rf patches):

# hg fclone http://hg.openjdk.java.net/bsd-port/bsd-port sources \
     && hg fclone http://hg.openjdk.java.net/mlvm/mlvm patches \
     && bash patches/make/link-patch-dirs.sh sources patches \
     && ls -il patches/hotspot/series sources/hotspot/.hg/patches/series \
     && export davinci=$(pwd) guards="buildable testable" \
     && bash patches/make/each-patch-repo.sh "hg qselect --pop $guards" '$(bash $davinci/patches/make/current-release.sh)' \
     && bash patches/make/each-patch-repo.sh "hg qselect; hg qunapplied" \
     && bash patches/make/each-patch-repo.sh "hg update -r" '$(bash $davinci/patches/make/current-release.sh)' \
     && bash patches/make/each-patch-repo.sh hg qpush -a ; cd sources/jdk/ ; hg import ~/patch.txt ; cd -

The content of "~/patch.txt" file is as follows:
--- patch.txt ---
diff --git a/make/common/internal/BinaryPlugs.gmk b/make/common/internal/BinaryPlugs.gmk
--- a/make/common/internal/BinaryPlugs.gmk
+++ b/make/common/internal/BinaryPlugs.gmk
@@ -58,6 +58,12 @@
  com/sun/jmx/snmp/SnmpTimeticks.class \
  com/sun/jmx/snmp/SnmpVarBind.class \
  com/sun/jmx/snmp/SnmpVarBindList.class \
+com/sun/jmx/snmp/Timestamp.class \
+com/sun/jmx/snmp/daemon/SnmpRequestCounter.class \
+com/sun/jmx/snmp/daemon/SnmpSocket.class \
+com/sun/jmx/snmp/daemon/SnmpQManager.class \
+com/sun/jmx/snmp/daemon/WaitQ.class \
+com/sun/jmx/snmp/daemon/SnmpResponseHandler.class \
  com/sun/jmx/snmp/daemon/SendQ.class \
  com/sun/jmx/snmp/daemon/SnmpInformRequest.class \
  com/sun/jmx/snmp/daemon/SnmpSession.class
diff --git a/src/share/native/java/lang/fdlibm/include/fdlibm.h b/src/share/native/java/lang/fdlibm/include/fdlibm.h
--- a/src/share/native/java/lang/fdlibm/include/fdlibm.h
+++ b/src/share/native/java/lang/fdlibm/include/fdlibm.h
@@ -26,8 +26,8 @@

  #ifdef __OpenBSD__
  #include <sys/types.h>
+#include <machine/endian.h>
  #endif
-#include <machine/endian.h>
  #include "jfdlibm.h"

  #ifdef __NEWVALID       /* special setup for Sun test regime */
diff --git a/src/share/native/sun/awt/medialib/mlib_image.h b/src/share/native/sun/awt/medialib/mlib_image.h
--- a/src/share/native/sun/awt/medialib/mlib_image.h
+++ b/src/share/native/sun/awt/medialib/mlib_image.h
@@ -29,8 +29,8 @@

  #ifdef __OpenBSD__
  #include <sys/types.h>
+#include <machine/endian.h>
  #endif
-#include <machine/endian.h>

  #include <mlib_types.h>
  #include <mlib_status.h>
diff --git a/src/solaris/back/util_md.h b/src/solaris/back/util_md.h
--- a/src/solaris/back/util_md.h
+++ b/src/solaris/back/util_md.h
@@ -30,8 +30,10 @@
  #include <stdint.h>  /* To get uintptr_t */

  #include <limits.h>
+#ifdef __OpenBSD__
  #include <sys/types.h>
  #include <machine/endian.h>
+#endif

  #ifdef _LP64
  typedef unsigned long UNSIGNED_JLONG;
--- patch.txt ---

Hope this helps,
-Yuri

Jochen Theodorou wrote:
> Chanwit Kaewkasi schrieb:
>> Hi Jochen,
>>
>> If it's still saying that it could not find some SNMP classes,
>> probably you need to clean build after applying patches.
> 
> it looks like I am really too stupid for this to build. I manage to 
> build the openjdk, but the mlvm.... I spend another full day just on 
> trying getting this run :(
> 
> I was too fast the last time, I think I did build the jvm without the 
> patches. Anyway, the documentation I found and that John linked works so 
> far, but once the setup is supposedly done, it ends. The documentation 
> is not for making a build, it is for people writing patches.
> 
> For example a very simple question... do I need to "make" in ./sources 
> first or in ./patches. What I did before was running make in patches, 
> overseeing the error, because it is writing that the build was 
> successful at the same time, then build in sources and I assume the 
> changes were not done or overwritten.
> 
> So I assume the right order is to first run the build in sources and 
> then in patches... ah well, while trying that I found a few problems, 
> because I have to set ALT_HOTSPOT_SERVER_PATH and 
> ALT_HOTSPOT_IMPORT_PATH. But there is no documentation on those and I 
> gave it really several tries to guess the right once. In the end I maybe 
> managed, but I am not sure. What are those supposed to be pointing too? 
> Or is having have to set them a sign that I do something wrong? 
> Anyway... it is really annoying to have to check several pages of make 
> output for an error line... isn't there a way to prevent make doing 
> several jobs at the same time and to let it stop at the error then? I 
> always thought one make job at the same time is default anyway...
> 
> At last the sanity check done by patches shouldn't report "Sanity check 
> passed." if something has a /NOT-SET/re/, because all of these variables 
> seem to have to be set. So I found two more: ALT_BUILD_JDK_IMPORT_PATH 
> and ALT_JDK_IMPORT_PATH. Again no docu I could find... maybe 
> ALT_JDK_IMPORT_PATH is enough... well setting it let go of the error 
> message at the end.. I suppose I did set some surplus variables too then.
> 
> And after all that trouble... it still does not work, I get still the 
> same internal error. Btw, how do I tell that I want a debug version? 
> without debug symbols the reporting on internal errors isn't very great.
> 
> bye blackdrag
> 



More information about the mlvm-dev mailing list