RFR: JDK-8077422: hprof agent: Build failed with VS2013 Update 4

Erik Joelsson erik.joelsson at oracle.com
Mon May 4 13:46:19 UTC 2015


Hello,

This bug has been marked as won't fix since the code it affects is going 
to be removed. However, until that removal happens, we can't build using 
VS2013 SP4. I'm in the process of updating the compilers used internally 
at Oracle to that specific version and to be able to continue that work, 
I need this to be buildable now. For this reason I propose Peter 
Brunet's suggested solution to the problem, just adding a C macro 
definition that makes it compile. I slightly adjusted his initial proposal.

Bug: https://bugs.openjdk.java.net/browse/JDK-8077422
Patch:
diff -r 83ff0dedf9e1 make/lib/Lib-jdk.hprof.agent.gmk
--- a/make/lib/Lib-jdk.hprof.agent.gmk
+++ b/make/lib/Lib-jdk.hprof.agent.gmk
@@ -31,7 +31,7 @@

  BUILD_LIBHPROF_CFLAGS := $(addprefix -I, $(BUILD_LIBHPROF_SRC)) \
      -I$(JDK_TOPDIR)/src/demo/share/jvmti/java_crw_demo

  BUILD_LIBHPROF_LDFLAGS :=

  LIBHPROF_OPTIMIZATION := HIGHEST
@@ -49,6 +49,7 @@
      CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) \
          $(BUILD_LIBHPROF_CFLAGS), \
      CFLAGS_debug := -DHPROF_LOGGING, \
+    CFLAGS_windows := -D_WINSOCK_DEPRECATED_NO_WARNINGS, \
      MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libhprof/mapfile-vers, \
      LDFLAGS := $(LDFLAGS_JDKLIB) \
          $(call SET_SHARED_LIBRARY_ORIGIN), \

/Erik

On 2015-04-23 00:02, Pete Brunet wrote:
> This hack to jdk/make/lib/Lib-jdk.hprof.agent.gmk works for now:
>
>       LANG := C, \
>       OPTIMIZATION := $(LIBHPROF_OPTIMIZATION), \
>       CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) \
> +        -D_WINSOCK_DEPRECATED_NO_WARNINGS \
>           $(BUILD_LIBHPROF_CFLAGS), \
>       CFLAGS_debug := -DHPROF_LOGGING, \
>       MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libhprof/mapfile-vers, \
>
> Pete
>
> On 4/22/15 4:12 PM, Pete Brunet wrote:
>> p.s. I also had done a make reconfigure and make clean.  I'll try make
>> clean and reconfigure from bash.
>>
>> On 4/22/15 4:06 PM, Pete Brunet wrote:
>>> I was able to build 9 OK then I switched from VS2010 to VS2013 and now
>>> get the following.  I tried hg tpull -u but that didn't help.
>>>
>>> Is there something I need to do besides installing VS Pro 2013 with
>>> Update 4?
>>>
>>> $ make images 2>&1 | tee make-64.log
>>> Building target 'images' in configuration
>>> 'windows-x86_64-normal-server-release'
>>>
>>> c:/Users/Pete/JDK9/INTJDK-7615864/client/jdk/src/jdk.hprof.agent/windows/native/libhprof/hprof_md.c(86)
>>> : error C2220: warning treated as error - no 'object' file generated
>>> c:/Users/Pete/JDK9/INTJDK-7615864/client/jdk/src/jdk.hprof.agent/windows/native/libhprof/hprof_md.c(86)
>>> : warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW()
>>> instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated
>>> API warnings
>>>          c:\progra~2\wi3cf2~1\8.1\include\um\winsock2.h(2238) : see
>>> declaration of 'gethostbyname'
>>> Lib-jdk.hprof.agent.gmk:44: recipe for target
>>> '/cygdrive/c/Users/Pete/JDK9/INTJDK-7615864/client/build/windows-x86_64-normal-server-release/support/native/jdk.h
>>> prof.agent/libhprof_jvmti/hprof_md.obj' failedmake[3]: ***
>>> [/cygdrive/c/Users/Pete/JDK9/INTJDK-7615864/client/build/windows-x86_64-normal-server-release/support/native/jdk.hprof.agent/libhprof_jvmti/hprof_md.obj]
>>> Error 2
>>> make/Main.gmk:168: recipe for target 'jdk.hprof.agent-libs' failed
>>> make[2]: *** [jdk.hprof.agent-libs] Error 1
>>> make[2]: *** Waiting for unfinished jobs....
>>> /cygdrive/c/Users/Pete/JDK9/INTJDK-7615864/client/make/Init.gmk:255:
>>> recipe for target 'main' failed
>>> make[1]: *** [main] Error 1
>>> /cygdrive/c/Users/Pete/JDK9/INTJDK-7615864/client/make/Init.gmk:171:
>>> recipe for target 'images' failed
>>> make: *** [images] Error 2




More information about the build-dev mailing list