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




Reply via email to