On Sun, Apr 15, 2018 at 12:49:38PM -0400, Alain Toussaint wrote:
>
> > -- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG
> > -- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG - Failed
>
>
> I do get these failures but the configure & build steps went fine on the
> stock build instruction:
>
> CC=gcc CXX=g++ \
> cmake -DCMAKE_INSTALL_PREFIX=/usr \
> -DLLVM_ENABLE_FFI=ON \
> -DCMAKE_BUILD_TYPE=Release \
> -DLLVM_BUILD_LLVM_DYLIB=ON \
> -DLLVM_TARGETS_TO_BUILD="host;AMDGPU" \
> -Wno-dev
>
> build log not included, I can send it separately out of the list (718k) but
> I'm currently rebuilding
> by hand using all targets (most of my video cards are nvidia here so building
> all target because of
> lazyness).
>
> Alain
A comment on this and another of your posts which I can't
immediately lay my hands on, but where I think you said you were
using -j1:
For this post: llvm is only needed for (expletivve-deleted) packages
such as rust (and the bpf part of the kernel - aka "a Spectre
vulnerability" although that vulnerability is probably now worked
around), but some other packages will prefer to use it if present.
The extra targets include BPF (qv) but otherwise they are mostly
other architectures - so if you want to use llvm to build for those
other architectures (or to use system llvm to build rust for them),
not limiting will help. But if all you have is x86 and nvidia then
the book's restriction will allow you to build mesa for radeon (but
not run it, obviously), or you might prefer to just drop to X86.
As to using -j1 : remember that rust will use all available cores.
See the editor's guide (chapter 6) re taskset, but I need to update
that: on intel, multithreaded CPUs are actually paired by the 'core
id' in /proc/cpuinfo and in practice the first half of the cores are
prime so on an 8-way SMT machine cores 4-7 are the siblings of cores
0-3 and only using one of each pair is still 'prime', using both
cores of a pair gives the increased compilation times found with
large packages on SMT.
NB I don't have any SMT AMD's except my kaveri[1], and there the info
in /proc/cpuinfo is unreliable (it suggests all the cores are real).
More generally, if you are mostly building with -j1 you might want
to consider something one of the contributors to blfs-support has
done: use Makefiles, with each package a target depending on its
dependencies. So in the end multiple packages can build at the same
time.
1. My Ryzen is a 1300X which is the non-multithreaded version of the
1500X - 4 real cores. People with Ryzen 5/7 or FX* CPUs may be able
to tell how the core IDs map out. If anyone has Threadripper, I
assume they are actually using all the cores to build - there might
be NUMA issues if restricting them!
ĸen
--
In my seventh decade astride this planet, and as my own cells degrade,
there are some things I cannot do now: skydiving, marathon running,
calculus. I couldn't do them in my 20s either, so no big loss.
-- Derek Smalls, formerly of Spinal Tap
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page