On Fri, Mar 27, 2020 at 08:19:17PM +0100, Pierre Labastie via blfs-dev wrote:
> On Fri, 2020-03-27 at 18:24 +0000, Ken Moffat via blfs-dev wrote:
> > On Fri, Mar 27, 2020 at 10:09:49AM -0500, Douglas R. Reno via blfs-
> > dev wrote:
> > > On 3/27/20 9:24 AM, Pierre Labastie via blfs-dev wrote:
> > > > Just built cmake 1.17, llvm 10.0? and trying rustc-1.39. Got an
> > > > error:
> > > > See attached log (with ~3300 lines cut). Sorry it is a little
> > > > long, but
> > > > it really looks like some LLVM header file is missing or API has
> > > > changed.
> > > > 
> > > > Has anybody seen this too?
> > > > 
> > > > Pierre
> > > 
> > > Yes I have!
> > > 
> > > It seems that using system LLVM is broken with rustc-1.39. I had to
> > > do the
> > > following to get rustc to build using it's builtin version of LLVM
> > > for now
> > > (I believe it's LLVM9? LLVM-10 has changed a lot of the public API
> > > for
> > > applications that use bindings such as rustc).
> > > 
> > > - Comment out the [target.x86_64-unknown-linux-gnu] line
> > > 
> > > - Comment out the llvm-config= line
> > > 
> > > 
> > > If you are on i686 (untested), comment out the i686 portions of
> > > that
> > > statement.
> > > 
> > > 
> > > That will unfortunately force rustc to build using it's builtin
> > > LLVM though,
> > > which is less than desirable
> > > 
> > > 
> > > - Doug
> > > 
> > To my surprise, I've found today that the system where I'm waiting
> > to test a TL2020-pretest update has enough space to play with
> > putting llvm in /opt/llvm.  So far, I've merely confirmed that
> > clang++ doesn't like it (with both llvm-config entries pointing to
> > "/opt/llvm/bin/llvm-config".
> > 
> > For the *first* step I think we will need to revert to the shipped
> > llvm (I'm not at all sure about commenting out the target line, I
> > think that will make it build for all possible targets, and probably
> > be _much_ bigger).
> > 
> > The failing command specified c++-14, but the errors
> > look like the sort of scope errors that happen when g++ moves to a
> > newer default standard.  But since c++-14 is already specified, I
> > doubt that trying to override that will be useful.
> > 
> > For the *second* step, we need to think abou moving to rustc-1.42.0.
> > Looking at Fresh Ports (for FreeBSD, I think) if I read them right
> > they can build all of firefox-esr, firefox-current (74.0) and
> > thunderbird without changes from their previous builds.  Doesn't
> > mean that our builds of the 68.6.0 packages will work, but worth
> > trying.  I assume that librsvg and cbindgen should be a walk in the
> > park, but again obviously need to be tested.  And for seamonkey
> > there are the patches for rust-1.40+ (one looked large) and perhaps
> > the upstream bug at mozilla has been updated.
> > 
> > Tedious.
> > 
> > 
> 
> I'll try that (but starting ony tomorrow Western European time). Will
> report. Will make some occupation while being locked down...
> 
> Pierre
> 
I've just run a successful build and DESTDIR install, with 8 cores
so no timings.  Now that I know it does build with the config.toml
below (limited to X86 target) I'll take 4 cores offline and do
timings and also run the tests to make sure the results from those
don't change.

Meanwhile, space measurements:

ken@deluxe /scratch/ken $du -sch rustc-1.39.0-src/ /tmp/R1390SHIPPED/
8.0G    rustc-1.39.0-src/
748M    /tmp/R1390SHIPPED/
8.7G    total

config.toml is as follows, I use -sysllvm and -shipped in the prefix
for my own builds, and obviously add those to /etc/ldconfig, so you
may want to just use "/opt/rustc-1.39.0"

ĸen

# - - - start config.toml - - -
# see config.toml.example for more possible options                     
[llvm]

# use ninja 
ninja = true 

# by default, rust will build for a myriad of architectures
targets = "X86"

[build]
# omit docs to save time and space (default is to build them)
docs = false

# install cargo as well as rust
extended = true

[install] # after build
prefix = "/opt/rustc-1.39.0-shipped"                                  
docdir = "share/doc/rustc-1.39.0"    

[rust]
channel = "stable"
rpath = false

# BLFS does not install the FileCheck executable from llvm,
# so disable codegen tests
codegen-tests = false

# --- end ---

-- 
When alle is ſayed and all is done, ye must chooſe your faces wisely,
for soon enouff ye will be playing with fyre."
  The Nice and Accurate Prophecies of Agnes Nutter, Prophecy 5004
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to