permission issues when running make

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Mon Oct 2 13:45:05 UTC 2017


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
>>>>>
>>>
>




More information about the build-dev mailing list