On 2017-09-27 12:45, Maurizio Cimadamore wrote:
On a problematic repo I tried to compare the spec.gmk before/after the
configure run - there's a difference which seems to be causing this
issue:
The buggy spec.gmk (which causes the permission issues) has this:
BUILD_OUTPUT:=/w/master/build/linux-x86_64-normal-server-release
# Colon left out to be able to override IMAGES_OUTPUTDIR for
bootcycle-images
SUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/support
BUILDTOOLS_OUTPUTDIR=$(BUILD_OUTPUT)/buildtools
HOTSPOT_OUTPUTDIR=$(BUILD_OUTPUT)/hotspot
JDK_OUTPUTDIR=$(BUILD_OUTPUT)/jdk
IMAGES_OUTPUTDIR=$(BUILD_OUTPUT)/images
BUNDLES_OUTPUTDIR=$(BUILD_OUTPUT)/bundles
TESTMAKE_OUTPUTDIR=$(BUILD_OUTPUT)/test-make
MAKESUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/make-support
while the new one has this:
OUTPUTDIR := /w/master/build/linux-x86_64-normal-server-release
# Colon left out to be able to override IMAGES_OUTPUTDIR for
bootcycle-images
SUPPORT_OUTPUTDIR=$(OUTPUTDIR)/support
BUILDTOOLS_OUTPUTDIR=$(OUTPUTDIR)/buildtools
HOTSPOT_OUTPUTDIR=$(OUTPUTDIR)/hotspot
JDK_OUTPUTDIR=$(OUTPUTDIR)/jdk
IMAGES_OUTPUTDIR=$(OUTPUTDIR)/images
BUNDLES_OUTPUTDIR=$(OUTPUTDIR)/bundles
TESTMAKE_OUTPUTDIR=$(OUTPUTDIR)/test-make
MAKESUPPORT_OUTPUTDIR=$(OUTPUTDIR)/make-support
Seems like BUILD_OUTPUT was renamed into OUTPUTDIR ?
Still, not 100% what's up.
Unfortunately, the build logic that should detect if the spec.gmk is out
of date has not survived the forest consolidation. :-(
I'm working on a fix, but I'm trying to get a proper solution and not
just a quick fix, so it'll take some time.
There are several related weird/broken behaviors that appear when also
having closed source code present, such as "make reconfigure" will not
work, and that bootcycle builds will not work.
/Magnus
/Magnus
Maurizio
On 27/09/17 11:24, David Holmes wrote:
On 27/09/2017 8:19 PM, Maurizio Cimadamore wrote:
On 27/09/17 10:51, David Holmes wrote:
On 27/09/2017 7:46 PM, Maurizio Cimadamore wrote:
Hi,
I sometimes encounter this (consolidated repo only):
$ make
/usr/bin/tee: /bin/mkdir: /build.logcannot create directory
‘/make-support’: Permission denied: Permission denied
/usr/bin/tee: /build.log: Permission denied
Building target 'default (exploded-image)' in configuration
'linux-x86_64-normal-server-release'
/w/lt/amber/dev/make/Init.gmk:291: recipe for target 'main' failed
make[1]: *** [main] Error 1
This goes away if I do a full configure.
Why is the build attempting to create folders into '/' ?
That suggests an empty variable is being found.
Where are you running make from?
jdk toplevel folder.
As in a repo top-level folder I assume?
After running
sh configure ...
and repeating same command, the issue goes away.
The last time I got this I brought the repo over (rsaync) form
another machine (which I used to do all the time even before, but
never caused such issues).
Did a configuration exist when you ran it? The output seems odd. If I
run with a config present the first thing I see is:
Building target 'default (product-bundles test-bundles docs-bundles)'
in configuration 'linux-x64-open-debug'
and if no config then:
Error: No configurations found for
/export/users/dh198349/valhalla-master.
Please run 'bash configure' to create a configuration.
Anything odd set in your environment?
David
Maurizio
David
Maurizio