sld-columbia / esp

Embedded Scalable Platforms: Heterogeneous SoC architecture and IP integration made easy
Other
326 stars 105 forks source link

RISC-V 64-bit toolchain build #90

Closed Kendidi closed 3 years ago

Kendidi commented 3 years ago

Buildroot Build Issue

I tried to re-setup the ESP environment from the beginning.

  1. I cloned the source code by using the following command as shown in setup guide:

    git clone --recursive https://github.com/sld-columbia/esp.git
  2. I ran the following to install RISC-V 64-bit toolchain and build root file system.

    cd esp
    ./utils/toolchain/build_riscv_toolchain.sh
  3. I have tried building all 3 items (2 x toolchains + buildroot), or just building "buildroot". Either way yielded the same results.

Then I encountered the following error at last step, "Populating root file system w/ buildroot".

...
...
>>> host-attr 2.4.48 Configuring
(cd /tmp/_riscv_build/buildroot/output/build/host-attr-2.4.48/ && rm -rf config.cache; PATH="/tmp/_riscv_build/buildroot/output/host/bin:/tmp/_riscv_build/buildroot/output/host/sbin:/opt/riscv/bin:/home/aie/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" PKG_CONFIG="/tmp/_riscv_build/buildroot/output/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/tmp/_riscv_build/buildroot/output/host/lib/pkgconfig:/tmp/_riscv_build/buildroot/output/host/share/pkgconfig" AR="/usr/bin/ar" AS="/usr/bin/as" LD="/usr/bin/ld" NM="/usr/bin/nm" CC="/tmp/_riscv_build/buildroot/output/host/bin/ccache /usr/bin/gcc" GCC="/tmp/_riscv_build/buildroot/output/host/bin/ccache /usr/bin/gcc" CXX="/tmp/_riscv_build/buildroot/output/host/bin/ccache /usr/bin/g++" CPP="/usr/bin/cpp" OBJCOPY="/usr/bin/objcopy" RANLIB="/usr/bin/ranlib" CPPFLAGS="-I/tmp/_riscv_build/buildroot/output/host/include" CFLAGS="-O2 -I/tmp/_riscv_build/buildroot/output/host/include" CXXFLAGS="-O2 -I/tmp/_riscv_build/buildroot/output/host/include" LDFLAGS="-L/tmp/_riscv_build/buildroot/output/host/lib -Wl,-rpath,/tmp/_riscv_build/buildroot/output/host/lib" INTLTOOL_PERL=/usr/bin/perl CFLAGS="-O2 -I/tmp/_riscv_build/buildroot/output/host/include" LDFLAGS="-L/tmp/_riscv_build/buildroot/output/host/lib -Wl,-rpath,/tmp/_riscv_build/buildroot/output/host/lib"  CONFIG_SITE=/dev/null ./configure --prefix="/tmp/_riscv_build/buildroot/output/host" --sysconfdir="/tmp/_riscv_build/buildroot/output/host/etc" --localstatedir="/tmp/_riscv_build/buildroot/output/host/var" --enable-shared --disable-static --disable-gtk-doc --disable-gtk-doc-html --disable-doc --disable-docs --disable-documentation --disable-debug --with-xmlto=no --with-fop=no --disable-dependency-tracking  --disable-nls )
configure: WARNING: unrecognized options: --disable-gtk-doc, --disable-gtk-doc-html, --disable-doc, --disable-docs, --disable-documentation, --with-xmlto, --with-fop
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for gcc... /tmp/_riscv_build/buildroot/output/host/bin/ccache /usr/bin/gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... configure: error: in `/tmp/_riscv_build/buildroot/output/build/host-attr-2.4.48':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details
package/pkg-generic.mk:219: recipe for target '/tmp/_riscv_build/buildroot/output/build/host-attr-2.4.48/.stamp_configured' failed
make: *** [/tmp/_riscv_build/buildroot/output/build/host-attr-2.4.48/.stamp_configured] Error 1

I wonder what may be the issue? Please advise. Thanks a lot in advance.

Kendidi commented 3 years ago

Turns out root access is required when setting up buildroot the first time. Thanks.