Skip to content
This repository was archived by the owner on Jan 10, 2023. It is now read-only.
This repository was archived by the owner on Jan 10, 2023. It is now read-only.

Fail to install SEAPI on Linux #23

Open

Description

@dvrogozh

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.

Activity

  1. araud commented on Jun 26, 2018

    @araud
    Contributor

    please use "python ./buildall.py"

  2. dvrogozh commented on Jun 26, 2018

    @dvrogozh
    Author

    please use "python ./buildall.py"

    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.

  3. raphaelcohn commented on Oct 25, 2018

    @raphaelcohn

    Yep, very important. We shouldn't require python to be installed - and all its versioning pain - just to do a cmake install.

  4. araud commented on Oct 26, 2018

    @araud
    Contributor

    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.

  5. dvrogozh commented on Oct 26, 2018

    @dvrogozh
    Author

    @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.:

    • I build a package (library, application, whatever) with ITT support, but don't collect anything myself and give it to someone else
    • This another guy may want to collect some data

    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.

  6. araud commented on Oct 26, 2018

    @araud
    Contributor

    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 ;)

  7. dvrogozh commented on Oct 26, 2018

    @dvrogozh
    Author

    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.

  8. raphaelcohn commented on Oct 26, 2018

    @raphaelcohn

    @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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions