You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 22, 2020. It is now read-only.
The configure script creates the openj9_version_info.h file in the $OUTPUT_ROOT/vm/util directory. (Autoconf creates the file with the required contents. This step is configured near the bottom of closed/autoconf/custom-hook.m4, and when the configure script is run the task of creating the openj9_version_info.h file is added to closed/autoconf/generated-configure.sh - $OUTPUT_ROOT is build/linux-x86_64-normal-server-release in my Ubuntu machine)
Unfortunately the $OUTPUT_ROOT/vm directory is volatile, and is deleted when running make clean, so a subsequent make all will fail because the openj9_version_info.h file does not exist.
The simple workaround is to re-run the configure script after doing a make clean.
The proper fix should be to either:
have the configure script create the openj9_version_info.h file in a non-volatile directory, the directory needs to be in the include path for the native compiler or the directory will need to be added to the native compiler's include path, or even better...
have make create the openj9_version_info.h file instead of configure. (During make all the jdk/make/gensrc/GensrcMisc.gmk file creates the $(SUPPORT_OUTPUTDIR)/gensrc/java.base/java/lang/VersionProps.java file with the required contents in a similar manner to the way the configure script creates the openj9_version_info.h file. Perhaps a similar mechanism could be used to fix this issue.)
This file is created during the configure step. make clean deletes the file, so "make clean; make all" fails due to the missing file.
The text was updated successfully, but these errors were encountered: