This repository was archived by the owner on Jan 10, 2023. It is now read-only.
Repository navigation
This repository was archived by the owner on Jan 10, 2023. It is now read-only.
Fail to install SEAPI on Linux #23
Copy link
Copy link
Open
Labels
Description
I have tried community expected intuitive way to build cmake-powered project, i.e.:
git clone https://github.com/intel/IntelSEAPI.git seapi && cd seapi
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/home/dvrogozh/git/github/sea_install ..
make -j8
make install
While configuration and build succeeded, make install failed:
# make install
[ 23%] Built target ittnotify
[ 61%] Built target IntelSEAPI
[100%] Built target sea_itt_lib
Install the project...
-- Install configuration: ""
-- Installing: /home/dvrogozh/git/github/sea_install/./README.txt
-- Installing: /home/dvrogozh/git/github/sea_install/./include
-- Installing: /home/dvrogozh/git/github/sea_install/./include/ittnotify.f90
-- Installing: /home/dvrogozh/git/github/sea_install/./include/ittnotify.h
-- Installing: /home/dvrogozh/git/github/sea_install/./include/jitprofiling.h
-- Installing: /home/dvrogozh/git/github/sea_install/./include/legacy
-- Installing: /home/dvrogozh/git/github/sea_install/./include/legacy/ittnotify.h
-- Installing: /home/dvrogozh/git/github/sea_install/./include/libittnotify.h
-- Installing: /home/dvrogozh/git/github/sea_install/./include/llvm_jit_event_listener.hpp
-- Installing: /home/dvrogozh/git/github/sea_install/include/itt_notify.hpp
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/sea.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/sea_runtool.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/strings.py
### Install /home/dvrogozh/git/github/IntelSEAPI/runtool/*.py to runtool:
/home/dvrogozh/git/github/IntelSEAPI/runtool/sea.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/sea_runtool.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/strings.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/importers/csv.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/importers/etw.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/importers/ftrace.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/importers/mac_log.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/importers/osx.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/importers/perf.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/importers/pprof_importer.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/importers/qnx.py
### Install /home/dvrogozh/git/github/IntelSEAPI/runtool/importers/*.py to runtool/importers:
/home/dvrogozh/git/github/IntelSEAPI/runtool/importers/csv.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/importers/etw.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/importers/ftrace.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/importers/mac_log.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/importers/osx.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/importers/perf.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/importers/pprof_importer.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/importers/qnx.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/importers/pprof_importer/profile.py
### Install /home/dvrogozh/git/github/IntelSEAPI/runtool/importers/pprof_importer/*.py to runtool/importers/pprof_importer:
/home/dvrogozh/git/github/IntelSEAPI/runtool/importers/pprof_importer/profile.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/exporters/BestTraceFormat.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/exporters/ChromeTracing.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/exporters/DGML.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/exporters/GraphViz.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/exporters/QtCreatorProfiler.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/exporters/Stat.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/exporters/memory.py
### Install /home/dvrogozh/git/github/IntelSEAPI/runtool/exporters/*.py to runtool/exporters:
/home/dvrogozh/git/github/IntelSEAPI/runtool/exporters/BestTraceFormat.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/exporters/ChromeTracing.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/exporters/DGML.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/exporters/GraphViz.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/exporters/QtCreatorProfiler.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/exporters/Stat.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/exporters/memory.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/collectors/android.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/collectors/ftrace.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/collectors/osx.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/collectors/win.py
### Install /home/dvrogozh/git/github/IntelSEAPI/runtool/collectors/*.py to runtool/collectors:
/home/dvrogozh/git/github/IntelSEAPI/runtool/collectors/android.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/collectors/ftrace.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/collectors/osx.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/collectors/win.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/decoders/Adreno.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/decoders/MSNT_SystemTrace.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/decoders/PVR.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/decoders/SteamVR.py
-- Installing: /home/dvrogozh/git/github/sea_install/runtool/decoders/i915.py
### Install /home/dvrogozh/git/github/IntelSEAPI/runtool/decoders/*.py to runtool/decoders:
/home/dvrogozh/git/github/IntelSEAPI/runtool/decoders/Adreno.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/decoders/MSNT_SystemTrace.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/decoders/PVR.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/decoders/SteamVR.py
/home/dvrogozh/git/github/IntelSEAPI/runtool/decoders/i915.py
CMake Error at cmake_install.cmake:107 (file):
file INSTALL cannot find "/home/dvrogozh/git/github/IntelSEAPI/bin".
make: *** [install] Error 1
Other comments:
- ./README.txt - installation location is invalid (with --prefix=/usr it will land in /usr which is wrong), please, change to $DOCDIR, i.e. $DOCDIR/seapi/README.txt, usually /usr/doc/seapi/README.txt
- include/ittnotify.f90 and others - installation location is invalid, please, make sure to install things as 'include/seapi/ittnotify.f90', i.e. in separate seapi folder
- runtool/sea.py - location is invalid, this stuff should eventually be in $LIBEXECDIR/seapi, usually /usr/libexec/seapi/sea.py
I strongly recommend to review this: https://cmake.org/cmake/help/v3.10/module/GNUInstallDirs.html. Make sure to use only these locations and use this cmake extension.
Reactions are currently unavailable
Activity
araud commentedon Jun 26, 2018
please use "python ./buildall.py"
dvrogozh commentedon Jun 26, 2018
No. That's actually a feedback: drop the wrapper or at least support direct cmake build and wrapper at the same time. That's important.
raphaelcohn commentedon Oct 25, 2018
Yep, very important. We shouldn't require python to be installed - and all its versioning pain - just to do a cmake install.
araud commentedon Oct 26, 2018
You will inevitably need python to run SEAPI collection and transformation. It is written in python. So there's no way to avoid it anyways.
But if anyone is willing to contribute, please be aware that prerequisite checks that are written in python (see buildall.py) will be quite challenging to express in cmake. However I do believe it is possible. Just not as simple as in python.
dvrogozh commentedon Oct 26, 2018
@araud : you are forgetting the following use case: the one may not want to collect any data at all, but build and distribute a software with the ability to collect data. I.e.:
In this case I don't care about python at all. The only thing I care is .h, .a (or .so) and .pc files to build my package.
araud commentedon Oct 26, 2018
That's right. But complexity of the prereqs checks is still there. So if anyone has time to separate ITT build from the rest (which should dramatically simplify the prereq checks part) - that indeed would allow to build without python involved.
But given that Mac and Linux have python preinstalled... I wouldn't invest too much time on that.
Sounds like a good task for the Summer Camp students ;)
dvrogozh commentedon Oct 26, 2018
This issue is about installing seapi. If you have python as prerequisite, so be it. But why you fail to install the project? This gives a complexity to other projects and reduces adoption of the ITT and SEAPI. Please, fix.
raphaelcohn commentedon Oct 26, 2018
@araud If I'm using SEAPI python collectors. Besides, installation and usage isn't necessarily the same system. Indeed, good practice is to make sure one can function without the other.