> On Jun 1, 2017, at 11:37 PM, Jean-Sébastien Pédron <dumbb...@freebsd.org> 
> wrote:
> 
> On 28.05.2017 19:21, blubee blubeeme wrote:
>> ===>  Building for rust-1.17.0
>> ...
>>  extracting
>> rust-std-1.16.0-x86_64-unknown-freebsd/rust-std-x86_64-unknown-freebsd/lib/rustlib/x86_64-unknown-freebsd/lib/GNUSparseFile.0/librustc_llvm-74a1be1110b5d4d0.so
>> gmake[7]: Leaving directory '/usr/ports/lang/rust/work/rustc-1.17.0-src'
>> *** Error code 1
> 
> Hi!
> 
> This failure is caused by Python 2's tarfile module not supporting
> sparse files in archives. Python 3 supports them but the configure
> script insists on using Python 2.
> 
> Before a proper fix is committed, you can change the following line in
> lang/rust/Makefile:
> https://github.com/freebsd/freebsd-ports/blob/master/lang/rust/Makefile#L159
> 
> to say (this is a single line):
> gtar -c -C ${WRKSRC} -f -
> rust-std-1.16.0-${RUST_ARCH_${ARCH}}-unknown-freebsd | gzip >
> ${WRKSRC}/rustc.tbz

You could add --format=ustar to the existing command line; that would force 
bsdtar to use the older "ustar" format (without any extensions that might 
confuse Python's tar file module).


> Then, change the following line:
> https://github.com/freebsd/freebsd-ports/blob/master/lang/rust/Makefile#L34
> 
> to say:
> BUILD_DEPENDS= cmake:devel/cmake \
>               gtar:archivers/gtar
> 
> This will use GNU tar instead of BSD tar to recreate the bootstrap and
> GNU tar doesn't seem to produce sparse file entries in the archive.

How ironic; using GNU tar in order to avoid having GNU sparse file entries.  ;-)

Tim


_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to