hero-sdk build process
#1
Hello,

I'm building the hero-sdk as per the github instructions but it's failing at the pulp-sdk stage.
Actually I'm trying on 2 systems, Debian 9.2 and Ubuntu 16.04.
Both have the same result and symptoms.
It looks like some files which should be copied from ./pulp-sdk/json-tools to ./pulp-sdk/build/sdk/json-tools are missing. I.E there's no Makefile so make doesn't know what to do.
Anybody on here have an idea what's going wrong?



Code:
$ ./hero-z-7045-builder -p
Configuring HERO SDK at: /home/user0/hero-sdk
Your PATH is correctly set. Skipping installation.
Your LD_LIBRARY_PATH is correctly set. Skipping installation.
Warning: Cannot set compiler and linker flags for libgomp plugin and mkoffload. Missing environment variables PULP_SDK_INSTALL and/or HERO_SUPPORT_DIR!
Your PATH is correctly set. Skipping installation.
Your LD_LIBRARY_PATH is correctly set. Skipping installation.
Configuring HERO SDK at: /home/user0/hero-sdk
Your PATH is correctly set. Skipping installation.
Your PATH is correctly set. Skipping installation.
Your LD_LIBRARY_PATH is correctly set. Skipping installation.
Your LD_LIBRARY_PATH is correctly set. Skipping installation.
Warning: Cannot set compiler and linker flags for libgomp plugin and mkoffload. Missing environment variables PULP_SDK_INSTALL and/or HERO_SUPPORT_DIR!
Your PATH is correctly set. Skipping installation.
Your LD_LIBRARY_PATH is correctly set. Skipping installation.
Configuring Pulp project at /home/user0/hero-sdk/pulp-sdk

sdk:json-tools:build: make all install
#### Building in /home/user0/hero-sdk/pulp-sdk/build/sdk/json-tools
#### Release type is RelWithDebInfo
#### Installing to /home/user0/hero-sdk/pulp-sdk/pkg/sdk/dev/install/ws
( cd /home/user0/hero-sdk/pulp-sdk/build/sdk/json-tools ; make all  VERBOSE=0 )
make[1]: Entering directory '/home/user0/hero-sdk/pulp-sdk/build/sdk/json-tools'
make[1]: *** No rule to make target 'all'. Stop.
make[1]: Leaving directory '/home/user0/hero-sdk/pulp-sdk/build/sdk/json-tools'
Makefile:46: recipe for target 'all' failed
make: *** [all] Error 2
Reached EOF with exit status 2
FATAL ERROR: the command 'build' has failed


And on STDERR:

Code:
No LSB modules are available.
No LSB modules are available.
Reply
#2
Hello,

We currently do not support Debian, but Ubuntu 16.04 should work. Please try the following on your Ubuntu machine.

The Makefile in pulp-sdk/build/sdk/json-tools is generated by CMake before make is invoked in that directory. Is there a Makefile in that directory? If so, what is the content of the all target? If not, what version of CMake do you have installed (run cmake --version)?

The STDERR reports on missing LSB modules usually occur if the lsb-core package is not installed. What is the output of

Code:
lsb_release -a

More generally, it looks like dependencies are missing or not up-to-date. Did you install or update all dependencies as instructed in the ReadMe?
Reply
#3
Thank you Akurth, it was indeed related to the cmake version.

I've found the cause of the build failure now.
It was because I had this in my .bashrc:

Code:
source /xilinx/Vivado/2017.2/settings64.sh


Once I commented that out the builds succeeded on both Ubuntu 16.04 and Debian 9.2, both for commit ceeec2463680535919b061a7ea1351443c8ff165.
Ubuntu 16.04 has cmake version 3.13.1
Debian 9.2 has cmake version 3.7.2
(the above noted for posterity)

It appears Vivado has its own copy of cmake which is incompatible with pulp-sdk.
Since having something like that in .bashrc is likely to be common I'll raise an issue on github to have this noted in the README.
Dave McEwan, PhD student
EPSRC Centre for Doctoral Training in Communications
www.bris.ac.uk/cdt-communications
Reply
#4
Just a suggestion - it is not good practice to add tool-specific files to your default shell scripts like .bashrc or .tcshrc. The same also applies to hacks people use (adding LD_LIBRARY_PATH to default scripts for example). As you start using more and more tools, you might run into problems. These should only be used when needed and not be there for all your environment

Instead, it would be better to have a startup script that will call such scripts when these tools are needed.
Visit pulp-platform.org and follow us on twitter @pulp_platform
Reply
#5
Thanks for sharing this problem and solution, Dave.

I fully second Frank's suggestion, it's a solid best practice to have the default shell environment as 'vanilla' as possible. Putting a reminder of this into the README to prevent such problems is probably a good suggestion, but the problem is not tool-specific (where Vivado caused troubles for you, someone else might run into trouble with Modelsim, etc).
Reply
#6
(12-13-2018, 12:57 PM)dave.mcewan Wrote: Thank you Akurth, it was indeed related to the cmake version.

I've found the cause of the build failure now.
It was because I had this in my .bashrc:

Code:
source /xilinx/Vivado/2017.2/settings64.sh


Once I commented that out the builds succeeded on both Ubuntu 16.04 and Debian 9.2, both for commit ceeec2463680535919b061a7ea1351443c8ff165.
Ubuntu 16.04 has cmake version 3.13.1
Debian 9.2 has cmake version 3.7.2
(the above noted for posterity)

It appears Vivado has its own copy of cmake which is incompatible with pulp-sdk.
Since having something like that in .bashrc is likely to be common I'll raise an issue on github to have this noted in the README.

Dear Dave,

thanks for the report. I added it to the Throubleshooting page your problem and I prepared a PR that will be integrated soon to the master branch.


The new troubleshooting page:
https://github.com/pulp-platform/hero-sd...h-1/FAQ.md

Thanks,
Alessandro
Reply


Forum Jump: