Code Monkey home page Code Monkey logo

litex-conda-packages's Introduction

litex-conda-packages

Conda build recipes for Litex BuildEnv build dependencies.

Basically, anything which hasn't gotten a proper package at https://launchpad.net/~timvideos/+archive/ubuntu/hdmi2usb

Toolchains

LiteX "soft-CPU" support

The LiteX system supports both a lm32 and or1k "soft-CPU" implementations.

Current versions are;

  • binutils - 2.31.0
  • gcc - 8.2.0
  • gcc+newlib - 8.2.0 + 3.0.0
  • gdb - 8.2

lm32-elf

  • All come from upstream.

or1k-elf

  • binutils, gdb & newlib - upstream
  • gcc - Rebase of Stafford Horn's gcc 9.0 patches

riscv32-elf

  • All come from upstream.

Cypress FX2 support

  • sdcc (Current version: 3.5.0)

Support Tools

OpenOCD

Tool for JTAG programming.

Building

This repository is set up to be built by Travis CI, using the GitHub integration to Travis CI.

See .travis.yml for the build configuration given to Travis CI, and the .travis directory for scripts referenced.

The Travis CI output can be found on the https://travis-ci.org/ for the GitHub account and GitHub repository. For instance, for the main:

https://github.com/litex-hub/litex-conda-packages

GitHub repository, the Travis CI results can be seen at:

https://travis-ci.org/litex-hub/litex-conda-packages

On a successful build in the litex-hub Travis CI, the resulting packages are uploaded to:

https://anaconda.org/TimVideos/repo

and can be installed with:

conda install --channel "TimVideos" package

These packages are mostly used by litex-buildenv.

Building via Travis CI in your own repository

If you enable Travis CI on your GitHub fork of litex-conda-packages then your Travis CI results will be at:

https://travis-ci.org/${GITHUB_USER}/litex-conda-packages

Since the repository includes .travis.yml and all the other Travis CI setup, you should just need to turn on the Travis CI integration at GitHub, and push changes to your GitHub repo, to trigger a Travis CI build, then watch the https://travis-ci.org/ site for the build progress.

A full build of everything will take the Travis CI infrastructure a few hours if it all builds successfully.

Common Travis CI build failures

If the build fails, see the common Travis CI build problems for assistance investigating the issues. Common issues with this repository include package dependencies (eg, where Conda has changed), output log file size (Travis CI has a 4MB maximum, and some package builds like gcc generate a lot of output), and builds timing out (either for maximum time allocation, or for "no output" for more than 10 minutes).

Testing conda builds locally

Given a fairly empty disposable Ubuntu x86-64 test environment (eg, created with Docker, or Vagrant), it is possible to simulate part of what Travis CI will do to test building individual toolchain architectures locally.

This can be done with something like:

sudo apt-get update
sudo apt-get install wget git

# Packages from ~/.travis.yml; realpath is in coreutils in Ubuntu 18.04
# Plus libtool and pkg-config, which are needed for openocd
#
#sudo apt-get install realpath autoconf automake build-essential gperf libftdi-dev libudev-dev libudev1 libusb-1.0-0-dev libusb-dev texinfo
sudo apt-get install coreutils autoconf automake build-essential gperf libftdi-dev libudev-dev libudev1 libusb-1.0-0-dev libusb-dev texinfo libtool pkg-config

git clone https://github.com/litex-hub/litex-conda-packages.git
litex-conda-packages/conda-get.sh

# Adapted from .travis/common.sh
get_built_package() {
   ./conda-env.sh render --output "$@" 2>/dev/null | grep conda-bld | grep tar.bz2 | tail -n 1 | sed -e's/-[0-9]\+\.tar/*.tar/' -e's/-git//'
}

# Anchor the build date/time, so we have predictable versions and filenames
# amongst related packages, and to make it easy to do package installs.
#
# Either to current date/time at the start of the build:
#
# export DATE_NUM="$(date -u +%Y%m%d%H%M%S)"
# export DATE_STR="$(date -u +%Y%m%d_%H%M%S)"
#
# Or lock to date/time of the last commit on git, as Travis CI config does
# (see .travis/common.sh)
#
export DATE_TS="$(git log --format=%ct -n1)"
export DATE_NUM="$(date --date=@${DATE_TS} -u +%Y%m%d%H%M%S)"
export DATE_STR="$(date --date=@${DATE_TS} -u +%Y%m%d_%H%M%S)"

# Combinations taken from .travis.yml
TOOLCHAIN_ARCH=lm32
export PACKAGE TOOLCHAIN_ARCH

cd litex-conda-packages

for PACKAGE in binutils gcc/nostdc gcc/newlib; do
  ./conda-env.sh build --check "${PACKAGE}"   # Downloads and caches stuff
  ./conda-env.sh build         "${PACKAGE}"   # Actually build package
  CONDA_OUT="$(get_built_package ${PACKAGE})" # Calculate output package
  ./conda-env.sh install       "${CONDA_OUT}"
done

Expect packages like binutils to take 3-5 minutes to build, packages like gcc/nostdc to take 10-15 minutes to build, and packages like gcc/newlib to take 25-40 minutes to build, on a relatively fast build system (eg, SSD, i7, reasonable amount of RAM). Beware that gcc/newlib wants to see gcc/nostdc of the same version already installed before it will build; this means that gcc/newlib is non-trivial to build individually.

To build one architecture of tools, without any cleanup will need a VM with maybe 12-15GiB of space available (a 10GiB disk image is not quite big enough). Building more architectures at once will need more disk space.

NOTE: By preference only packages built by Travis CI should be uploaded to the Anaconda repository, so that the externally visible packages have consistent package versions (and do not conflict). But it can be useful to build locally to debug conda-build config issues without waiting for a full Travis CI cycle.

litex-conda-packages's People

Contributors

ajelinski avatar conda-forge-admin avatar cr1901 avatar ewenmcneill avatar frol avatar isuruf avatar jakirkham avatar jakubjatczak avatar jimmo avatar mgielda avatar mithro avatar piotrzierhoffer avatar rohitk-singh avatar y2kbugger avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

litex-conda-packages's Issues

Create a TimVideos specific "constructor"

Conda has a "constructor" tool which lets you build an installer like Miniconda installer which we use in the download-env.sh scropt you can find here.

This could be used to build a TimVideos / HDMI2USB-litex-firmware installer.

From https://github.com/conda/constructo

(conda) constructor

constructor is a tool which allows constructing an installer for
a collection of conda packages. Basically, it creates an Anaconda-like
installer consisting of conda packages. This tool was previously
proprietary and known as cas-installer.

Create a fix for conda-build 3.0 removing __conda_version__ support.

If we upgrade to conda-build 3.0 or newer, we end up with the following;

+ ./src/openocd --version
+ head -1
+ sed '-es/+dev-[0]\+/_/' -es/-/_/g '-es/.* 0\./0./' '-es/ .*//' -es/_dirty//
+ ./src/openocd --version
+ head -1
+ sed '-es/[^(]*(//' '-es/)//' -es/://g -es/-//g '-es/[0-9][0-9][0-9][0-9]$/_\0/'
+ TZ=UTC
+ date +%Y%m%d%H%M%S
Packaging openocd
INFO:conda_build.build:Packaging openocd
Packaging openocd-git-h31b6ad1_0
INFO:conda_build.build:Packaging openocd-git-h31b6ad1_0
Traceback (most recent call last):
  File "/home/tansell/conda/bin/conda-build", line 11, in <module>
    sys.exit(main())
  File "/home/tansell/conda/lib/python3.6/site-packages/conda_build/cli/main_build.py", line 388, in main
    execute(sys.argv[1:])
  File "/home/tansell/conda/lib/python3.6/site-packages/conda_build/cli/main_build.py", line 379, in execute
    verify=args.verify)
  File "/home/tansell/conda/lib/python3.6/site-packages/conda_build/api.py", line 185, in build
    need_source_download=need_source_download, config=config, variants=variants)
  File "/home/tansell/conda/lib/python3.6/site-packages/conda_build/build.py", line 1776, in build_tree
    notest=notest,
  File "/home/tansell/conda/lib/python3.6/site-packages/conda_build/build.py", line 1240, in build
    built_package = bundlers[output_d.get('type', 'conda')](output_d, m, env)
  File "/home/tansell/conda/lib/python3.6/site-packages/conda_build/build.py", line 719, in bundle_conda
    files = post_process_files(metadata, initial_files)
  File "/home/tansell/conda/lib/python3.6/site-packages/conda_build/build.py", line 627, in post_process_files
    get_build_metadata(m)
  File "/home/tansell/conda/lib/python3.6/site-packages/conda_build/post.py", line 523, in get_build_metadata
    raise ValueError("support for __conda_version__ has been removed as of Conda-build 3.0."
ValueError: support for __conda_version__ has been removed as of Conda-build 3.0.Try Jinja templates instead: http://conda.pydata.org/docs/building/meta-yaml.html#templating-with-jinja

As a temporary solution, I've locked conda-build to the last 2 series version.

But we need a proper fix.

gcc 9.1 on or1k fails with newlib?

https://travis-ci.com/litex-hub/litex-conda/jobs/218111640

COLLECT_GCC_OPTIONS='-v' '-g' '-o' 'main'

 /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../libexec/gcc/or1k-elf/9.1.0/collect2 -plugin /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../libexec/gcc/or1k-elf/9.1.0/liblto_plugin.so -plugin-opt=/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../libexec/gcc/or1k-elf/9.1.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccqB7aPD.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lor1k -plugin-opt=-pass-through=-lboard-or1ksim -plugin-opt=-pass-through=-lgcc --entry=0x100 -o main /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/or1k-elf/9.1.0/../../../../or1k-elf/lib/crt0.o /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/or1k-elf/9.1.0/crtbegin.o -L/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/or1k-elf/9.1.0 -L/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc -L/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/or1k-elf/9.1.0/../../../../or1k-elf/lib /tmp/ccRGiGhP.o -Map=output.map -lgcc --start-group -lc -lor1k -lboard-or1ksim --end-group -lgcc /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/or1k-elf/9.1.0/crtend.o

/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/or1k-elf/9.1.0/../../../../or1k-elf/bin/ld: /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/or1k-elf/9.1.0/../../../../or1k-elf/bin/ld: DWARF error: mangled line number section

/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/or1k-elf/9.1.0/../../../../or1k-elf/lib/libc.a(lib_a-fini.o): in function `__libc_fini_array':

fini.c:(.text+0x60): undefined reference to `_fini'

/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/or1k-elf/9.1.0/../../../../or1k-elf/bin/ld: /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/or1k-elf/9.1.0/../../../../or1k-elf/bin/ld: DWARF error: mangled line number section

/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-or1k-elf-newlib_1563780686373/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/or1k-elf/9.1.0/../../../../or1k-elf/lib/libc.a(lib_a-init.o): in function `__libc_init_array':

init.c:(.text+0x5c): undefined reference to `_init'

collect2: error: ld returned 1 exit status

+SUCCESS=1

+'[' 1 -ne 0 ']'

+echo 'Compiler didn'\''t exit successfully.'

+exit 1

Compiler didn't exit successfully.

Tests failed for gcc-or1k-elf-newlib-9.1.0-20190722_065228.tar.bz2 - moving package to /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/broken

WARNING:conda_build.build:Tests failed for gcc-or1k-elf-newlib-9.1.0-20190722_065228.tar.bz2 - moving package to /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/broken

WARNING conda_build.build:tests_failed(2211): Tests failed for gcc-or1k-elf-newlib-9.1.0-20190722_065228.tar.bz2 - moving package to /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/broken

TESTS FAILED: gcc-or1k-elf-newlib-9.1.0-20190722_065228.tar.bz2

sdcc conda receipe currently fails

https://travis-ci.org/timvideos/conda-hdmi2usb-packages/jobs/115258464

mv -f .deps/objcopy.Tpo .deps/objcopy.Po
mv -f .deps/stabs.Tpo .deps/stabs.Po
mv -f .deps/ieee.Tpo .deps/ieee.Po
/bin/sh ./libtool --tag=CC   --mode=link gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -g -O2   -o sdobjcopy objcopy.o not-strip.o rename.o rddbg.o debug.o stabs.o ieee.o rdcoff.o wrstabs.o bucomm.o version.o filemode.o ../bfd/libbfd.la ../libiberty/libiberty.a  -lz 
libtool: link: gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -g -O2 -o sdobjcopy objcopy.o not-strip.o rename.o rddbg.o debug.o stabs.o ieee.o rdcoff.o wrstabs.o bucomm.o version.o filemode.o  ../bfd/.libs/libbfd.a ../libiberty/libiberty.a -lz
make[5]: Leaving directory `/usr/local/google/home/tansell/conda/conda-bld/work/sdcc-3.5.0/build/support/sdbinutils/binutils'
make[4]: Leaving directory `/usr/local/google/home/tansell/conda/conda-bld/work/sdcc-3.5.0/build/support/sdbinutils/binutils'
make[3]: Leaving directory `/usr/local/google/home/tansell/conda/conda-bld/work/sdcc-3.5.0/build/support/sdbinutils/binutils'
make[2]: Leaving directory `/usr/local/google/home/tansell/conda/conda-bld/work/sdcc-3.5.0/build/support/sdbinutils'
make[1]: Leaving directory `/usr/local/google/home/tansell/conda/conda-bld/work/sdcc-3.5.0/build/support/sdbinutils'
# in some cases (cygwin) the real binaries are in .libs
for bin in sdar sdranlib sdnm sdobjcopy; do \
          if [ -f support/sdbinutils/binutils/.libs/$bin ]; then \
            cp support/sdbinutils/binutils/.libs/$bin bin; \
          else \
            cp support/sdbinutils/binutils/$bin bin; \
          fi \
        done
+ exit 1
Command failed: /bin/bash -x -e /usr/local/google/home/tansell/foss/timvideos/hdmi2usb/conda-hdmi2usb-packages/sdcc/build.sh

yosys 0.9

I noticed, while trying to follow https://mithro-fomu-workshop.readthedocs.io/en/master/verilog.html using the yosys from https://anaconda.org/TimVideos/yosys/files, which as best I can tell is now being built from here, that the Conda build is currently of Yosys 0.8, but there's been a Yosys 0.9 release for a few months now which doesn't seem to have been built for Conda:

https://github.com/YosysHQ/yosys/releases/tag/yosys-0.9

In particular I noticed because the Fomu Workshop Makefile relies on:

Renamed "yosys -D" to "yosys -U", added "yosys -D" to set Verilog defines

which works on Yosys 0.9, but didn't work on Yosys 0.8 : -D PVT=1 silently doesn't do anything useful, causing the tests in blink.v to fail because there are no values defined; it can be made to work by adding:

`define PVT 1

or similar near the top of blink.v, but that is not as convenient for users.

(I wrote the Verilog for those tests in blink.v, and the Makefile, but at the time I didn't realise that -D FOO=bar was a bleeding edge yosys feature....)

Can we update the Conda yosys to 0.9? I'm not clear where in, eg, https://github.com/litex-hub/litex-conda-packages/tree/master/eda/syn/yosys (or elsewhere?) that the version to build is specified.

Ewen

gcc/newlib fails to compile with "Unable to determine type definition of int32_t "

libtool: compile:  /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/./gcc/xgcc -shared-libgcc -B/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/./gcc -nostdinc++ -L/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/src -L/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/src/.libs -L/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/libsupc++/.libs -B/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/bin/ -B/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/lib/ -isystem /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/include -isystem /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/sys-include -I/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/lm32-elf -I/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include -I/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/work/gcc/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=compatibility-atomic-c++0x.lo -g -O2 -std=gnu++11 -c /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/work/gcc/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc -o compatibility-atomic-c++0x.o

In file included from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/include/stdint.h:13:0,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/gcc/include/stdint.h:9,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/bits/atomic_base.h:36,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/atomic:41,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/work/gcc/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc:26:

/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/include/sys/_intsup.h:68:2: error: #error "Unable to determine type definition of intptr_t"

 #error "Unable to determine type definition of intptr_t"

  ^

/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/include/sys/_intsup.h:75:2: error: #error "Unable to determine type definition of int32_t"

 #error "Unable to determine type definition of int32_t"

  ^

In file included from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/gcc/include/stdint.h:9:0,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/bits/atomic_base.h:36,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/atomic:41,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/work/gcc/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc:26:

/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/include/stdint.h:55:22: error: conflicting declaration ‘typedef int int_fast8_t’

   typedef signed int int_fast8_t;

                      ^

In file included from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/work/gcc/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc:25:0:

/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/gstdint.h:103:22: note: previous declaration as ‘typedef int8_t int_fast8_t’

 typedef int8_t       int_fast8_t;

                      ^

In file included from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/gcc/include/stdint.h:9:0,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/bits/atomic_base.h:36,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/atomic:41,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/work/gcc/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc:26:

/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/include/stdint.h:56:24: error: conflicting declaration ‘typedef unsigned int uint_fast8_t’

   typedef unsigned int uint_fast8_t;

                        ^

In file included from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/work/gcc/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc:25:0:

/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/gstdint.h:110:22: note: previous declaration as ‘typedef uint8_t uint_fast8_t’

 typedef uint8_t      uint_fast8_t;

                      ^

/bin/bash ../libtool --tag CXX   --mode=compile /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/./gcc/xgcc -shared-libgcc -B/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/./gcc -nostdinc++ -L/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/src -L/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/src/.libs -L/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/libsupc++/.libs -B/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/bin/ -B/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/lib/ -isystem /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/include -isystem /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/sys-include     -I/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/lm32-elf -I/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include -I/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/work/gcc/libstdc++-v3/libsupc++   -fno-implicit-templates  -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi  -fdiagnostics-show-location=once   -ffunction-sections -fdata-sections  -frandom-seed=compatibility-thread-c++0x.lo -g -O2  -std=gnu++11 -c /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/work/gcc/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc

libtool: compile:  /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/./gcc/xgcc -shared-libgcc -B/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/./gcc -nostdinc++ -L/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/src -L/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/src/.libs -L/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/libsupc++/.libs -B/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/bin/ -B/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/lib/ -isystem /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/include -isystem /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/sys-include -I/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/lm32-elf -I/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include -I/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/work/gcc/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=compatibility-thread-c++0x.lo -g -O2 -std=gnu++11 -c /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/work/gcc/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc -o compatibility-thread-c++0x.o

In file included from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/include/stdint.h:13:0,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/gcc/include/stdint.h:9,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/bits/atomic_base.h:36,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/bits/shared_ptr_atomic.h:33,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/memory:83,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/thread:40,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/include/future:40,

                 from /tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/work/gcc/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc:30:

/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/include/sys/_intsup.h:68:2: error: #error "Unable to determine type definition of intptr_t"

 #error "Unable to determine type definition of intptr_t"

  ^

/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pl/lm32-elf/include/sys/_intsup.h:75:2: error: #error "Unable to determine type definition of int32_t"

 #error "Unable to determine type definition of int32_t"

  ^

make[5]: *** [compatibility-atomic-c++0x.lo] Error 1

make[5]: *** Waiting for unfinished jobs....

make[5]: *** [compatibility-thread-c++0x.lo] Error 1

make[5]: Leaving directory `/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/src'

make[4]: *** [all-recursive] Error 1

make[4]: Leaving directory `/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3/src'

make[3]: *** [all-recursive] Error 1

make[3]: Leaving directory `/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3'

make[2]: *** [all] Error 2

make[2]: Leaving directory `/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc/lm32-elf/libstdc++-v3'

make[1]: *** [all-target-libstdc++-v3] Error 2

make[1]: Leaving directory `/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/build-gcc'

make: *** [all] Error 2

Traceback (most recent call last):

  File "/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/bin/conda-build", line 11, in <module>

    sys.exit(main())

  File "/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/lib/python3.7/site-packages/conda_build/cli/main_build.py", line 424, in main

    execute(sys.argv[1:])

  File "/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/lib/python3.7/site-packages/conda_build/cli/main_build.py", line 415, in execute

    verify=args.verify)

  File "/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/lib/python3.7/site-packages/conda_build/api.py", line 201, in build

    notest=notest, need_source_download=need_source_download, variants=variants)

  File "/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/lib/python3.7/site-packages/conda_build/build.py", line 2205, in build_tree

    notest=notest,

  File "/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/lib/python3.7/site-packages/conda_build/build.py", line 1445, in build

    utils.check_call_env(cmd, env=env, cwd=src_dir, stats=build_stats)

  File "/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/lib/python3.7/site-packages/conda_build/utils.py", line 311, in check_call_env

    return _func_defaulting_env_to_os_environ('call', *popenargs, **kwargs)

  File "/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/lib/python3.7/site-packages/conda_build/utils.py", line 291, in _func_defaulting_env_to_os_environ

    raise subprocess.CalledProcessError(proc.returncode, _args)

subprocess.CalledProcessError: Command '['/bin/bash', '-e', '/tmp/really-really-really-really-really-really-really-really-really-really-really-really-really-long-path/conda/conda-bld/gcc-lm32-elf-newlib_1537237721697/work/conda_build.sh']' returned non-zero exit status 2.

Use crosstool-ng for building the toolchains

Currently we build them with our own hacky scripts. It would be much better to build the toolchains with crosstool-ng (which is what upstream conda currently uses for their own toolchain too).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.