Skip to content

Conversation

@ararslan
Copy link
Member

@ararslan ararslan commented Dec 9, 2017

Hopefully with this, the master cache will stop poisoning the cache on release-0.6.

@ararslan ararslan added building Build system, or building Julia or its dependencies ci Continuous integration labels Dec 9, 2017
@ararslan ararslan requested review from Keno and vchuravy December 9, 2017 00:52
Copy link
Member

@staticfloat staticfloat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, don’t use override, just add this to the build opts

.travis.yml Outdated
export JULIA_TEST_MAXRSS_MB=600;
TESTSTORUN="all --skip linalg/triangular subarray"; fi # TODO: re enable these if possible without timing out
- echo "override JULIA_CPU_TARGET=generic;native" >> Make.user
- echo "override USECCACHE=1" >> Make.user
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't use USECCACHE=1 that option is quite broken.

CC=/usr/lib/ccache/bin/gcc
CXX=/usr/lib/ccache/bin/g++

works better. cc @maleadt

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I used it here because we're using it on CircleCI. It appears we even work around the -Qunused-arguments thing with Clang in Make.inc. The logic looks sound; what's broken about it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

with USECCACHE, the CC arg becomes ccache gcc, which in the case of cmake is implemented by setting eg. CMAKE_C_COMPILER to ccache and CMAKE_C_COMPILER_ARG1 to gcc. IIRC, this breaks other invocations of the toolchain, eg. with ar. Can't seem to find the relevant bug reports right now, but either way there's a much more robust way to invoke ccache: by using a symlink named eg. gcc pointing to the ccache binary. This avoids aforementioned difficulties in configuring the build.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have not witnessed any problems with setting USECCACHE=1 on Linux builds. I do this for all builds on the buildbot, from scratch or otherwise.

[av skip] [bsd skip]
@ararslan
Copy link
Member Author

The AppVeyor i686 and Circle x86-64 failures are unrelated.

@ararslan ararslan dismissed staticfloat’s stale review December 12, 2017 00:36

USECCACHE is now in BUILDOPTS rather than in an override

@staticfloat staticfloat merged commit 5003f12 into master Dec 12, 2017
@ararslan ararslan deleted the aa/travis-ccache branch December 12, 2017 00:56
evetion pushed a commit to evetion/julia that referenced this pull request Dec 12, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

building Build system, or building Julia or its dependencies ci Continuous integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants