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