Errors on WTFpga software setup

Hello all,

I was going through the WTFpga software setup and I got an error when I run the ./summon-fpga-tools.sh. My setup is macOS version 10.14.6.

The error message I get is:

******************************************************************
* Configuring nextpnr-3f26cf50767143e48d29ae691b2a0052c359eb15-ice40
******************************************************************
-- The C compiler identification is AppleClang 10.0.1.10010046
-- The CXX compiler identification is AppleClang 10.0.1.10010046
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /usr/local/bin/python3 (found suitable version "3.7.4", minimum required is "3.5") 
-- Found PythonLibs: /usr/local/Frameworks/Python.framework/Versions/3.7/lib/libpython3.7m.dylib (found suitable version "3.7.4", minimum required is "3.5") 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found Boost: /usr/local/include (found version "1.70.0") found components:  filesystem thread program_options iostreams chrono date_time atomic regex 
-- Found OpenGL: /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework   
CMake Warning at /usr/local/Cellar/cmake/3.15.2/share/cmake/Modules/FindBoost.cmake:1984 (message):
  No header defined for python-py374; skipping header check
Call Stack (most recent call first):
  CMakeLists.txt:140 (find_package)


CMake Warning at /usr/local/Cellar/cmake/3.15.2/share/cmake/Modules/FindBoost.cmake:1984 (message):
  No header defined for python-py37; skipping header check
Call Stack (most recent call first):
  CMakeLists.txt:147 (find_package)


CMake Warning at /usr/local/Cellar/cmake/3.15.2/share/cmake/Modules/FindBoost.cmake:1984 (message):
  No header defined for python-py3; skipping header check
Call Stack (most recent call first):
  CMakeLists.txt:147 (find_package)


CMake Error at CMakeLists.txt:193 (find_package):
  Could not find a package configuration file provided by "Eigen3" with any
  of the following names:

    Eigen3Config.cmake
    eigen3-config.cmake

  Add the installation prefix of "Eigen3" to CMAKE_PREFIX_PATH or set
  "Eigen3_DIR" to a directory containing one of the above files.  If "Eigen3"
  provides a separate development package or SDK, be sure it has been
  installed.


-- Configuring incomplete, errors occurred!
See also "/Users/andreasp/Desktop/iCEBreaker/tutorials/WTFpga/build/CMakeFiles/CMakeOutput.log".

I cannot upload the .log file, in case it might be usefull I can paste it’s contents here.

It seems it might be missing the Eigen3 package, I’m going through the installation process described in the download from http://eigen.tuxfamily.org/ , (more specifically: http://bitbucket.org/eigen/eigen/get/3.3.7.tar.bz2 )

My main question is, suppose I install manually Eigen without any problem, should I repeat the ./summon-fpga-tools.sh command? Will it figure out that it had already executed before and not redo what was already completed, and carry on where it left from?

Thanks in advance!
Andreas.

2 Likes

I think you’re right about needing eigen3.

summon-fpga-tools will start over with the current target if I remember correctly. Since cmake is the first step in building nextpnr, it will effectively pick up where it left off.

Good luck!

2 Likes

Hi @andreaspro and @kbob,

Welcome to the forum! :slight_smile:

As @kbob said it seems like you are missing Eigen. You can just run the script again, it should pick up where you left off automatically. There is also a stamp directory that keeps stamp files marking finished tasks building the packages, as well as a build directory. Depending on the situation you might or might not want to delete any of them before rebuilding.

In your case it should not be necessary though. You should be fine just installing Eigen and restarting the script. :slight_smile:

Let us know how it goes. We should add Eigen to the depencency list for MacOS Homebrew if it is not in that list yet.

Cheers,
Piotr

Ohh, one more thing. You should try the script in the summon-fpga-tools reporitory. The one in WTFpga repository might be outdated.

The installation instructions in the main SFT repository should also be more complete than the one in WTFpga… I guess I should change the guide and direct people to that repo instead… :smiley:

1 Like

The SFT repository seemed to work just fine (it also has eigen as part of the brew install), it took aeons to finish, but it does not seem to have run into any problems :slight_smile:

1 Like

Great! Thanks for confirming.

I will try to consolidate the instructions and direct people to the main SFT repository. :smiley:

And yes, the build does take a while. I should probably create a cask based on SFT for Mac OS, that will make things easier. I will look into it when I find some time.

im planning to format my laptop soon to make a fresh start, how does one make this cask based SFT? It might help me later on to make this process less error prone. It seems to me that brew cask is analogous to making an app? Or will it stay strictly CLI?

I actually meant to say Homebrew Tap, an external source for Homebrew recipes.

It turns out that Kate Temkin already created that for us. You might want to give it a try.

1 Like