build and ccache
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Thu Apr 21 10:05:43 UTC 2016
ccache version 3.1.9
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4
Seems like I'm behind on both fronts :-)
Note that the problem only occurs when updating the repo. I.e. I think
the scenario is like this:
1) configure --enable-ccahe
2) make clean ; make images
3) [after some time, some changes happens to hotspot and eventually JDK
forest is updated]
3b) make reconfigure
4) make clean ; make images
5) now hotspot will fail linking (repeating step in 4, 5 will always
give same result)
6) ccache -C
7) make clean ; make images
8) build completes normally
Maurizio
On 19/04/16 11:26, Erik Joelsson wrote:
> Hello,
>
> I have not used ccache in a while. I just tried building jdk9-dev
> latest with ccache and then updating to jdk-9+114 and then running a
> clean build. It worked fine. Which version of gcc and ccache are you
> using? I use the versions from the official devkit.
>
> ccache 3.2.1
> gcc 4.9.2
>
> /Erik
>
> On 2016-04-18 19:10, Maurizio Cimadamore wrote:
>> Hi,
>> I seem to be running into ccache issues very frequently lately;
>> basically, every time I do a reconfigure (because the build tells me
>> to do so after a repo refresh), I'm typically not able to build after
>>
>> make clean
>> make images
>>
>> The build will typically fail somewhere when linking the VM - for
>> instance the last one I got was this:
>>
>> Building target 'images' in configuration
>> 'linux-x86_64-normal-server-release'
>> virtualspace.o: In function `VirtualSpace::expand_by(unsigned long,
>> bool)':
>> /w/lt/9/dev/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2/product/../../../../../hotspot/src/share/vm/memory/virtualspace.cpp:889:
>> undefined reference to `os::pretouch_memory(char*, char*)'
>> /w/lt/9/dev/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2/product/../../../../../hotspot/src/share/vm/memory/virtualspace.cpp:889:
>> undefined reference to `os::pretouch_memory(char*, char*)'
>> virtualspace.o: In function `__static_initialization_and_destruction_0':
>> /w/lt/9/dev/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2/product/../../../../../hotspot/src/share/vm/logging/logTagSet.hpp:116:
>> undefined reference to `LogTagSet::LogTagSet(LogTag::type,
>> LogTag::type, LogTag::type, LogTag::type, LogTag::type)'
>> /w/lt/9/dev/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2/product/../../../../../hotspot/src/share/vm/logging/logTagSet.hpp:116:
>> undefined reference to `LogTagSet::LogTagSet(LogTag::type,
>> LogTag::type, LogTag::type, LogTag::type, LogTag::type)'
>> /w/lt/9/dev/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2/product/../../../../../hotspot/src/share/vm/logging/logTagSet.hpp:116:
>> undefined reference to `LogTagSet::LogTagSet(LogTag::type,
>> LogTag::type, LogTag::type, LogTag::type, LogTag::type)'
>> /w/lt/9/dev/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2/product/../../../../../hotspot/src/share/vm/logging/logTagSet.hpp:116:
>> undefined reference to `LogTagSet::LogTagSet(LogTag::type,
>> LogTag::type, LogTag::type, LogTag::type, LogTag::type)'
>> /w/lt/9/dev/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2/product/../../../../../hotspot/src/share/vm/logging/logTagSet.hpp:116:
>> undefined reference to `LogTagSet::LogTagSet(LogTag::type,
>> LogTag::type, LogTag::type, LogTag::type, LogTag::type)'
>> abstractInterpreter_x86.o:/w/lt/9/dev/build/linux-x86_64-normal-server-release/hotspot/linux_amd64_compiler2/product/../../../../../hotspot/src/share/vm/logging/logTagSet.hpp:116:
>> more undefined references to `LogTagSet::LogTagSet(LogTag::type,
>> LogTag::type, LogTag::type, LogTag::type, LogTag::type)' follow
>> collect2: error: ld returned 1 exit status
>> make[8]: *** [libjvm.so] Error 1
>> make[7]: *** [the_vm] Error 2
>> make[6]: *** [product] Error 2
>> make[5]: *** [generic_build2] Error 2
>> make[4]: *** [product] Error 2
>> make[3]: ***
>> [/w/lt/9/dev/build/linux-x86_64-normal-server-release/hotspot/_hotspot.timestamp]
>> Error 1
>> make[2]: *** [hotspot] Error 1
>>
>> ERROR: Build failed for target 'images' in configuration
>> 'linux-x86_64-normal-server-release' (exit code 2)
>>
>>
>>
>> I'm usually able to get rid of such issues by running:
>>
>> ccache -C
>>
>>
>> Any ideas of what is going on - and why such cleaning step was not
>> needed before?
>>
>> Maurizio
>
More information about the build-dev
mailing list