GPUOpen-Tools / radeon_compute_profiler

The Radeon Compute Profiler (RCP) is a performance analysis tool that gathers data from the API run-time and GPU for OpenCL™ and ROCm/HSA applications. This information can be used by developers to discover bottlenecks in the application and to find ways to optimize the application's performance.
MIT License
84 stars 19 forks source link

Build failure in scons #34

Open Yjh-Rking opened 4 years ago

Yjh-Rking commented 4 years ago

already install scons,but it not work

rking@rking-Ubuntu:~/RCP/Build/Linux$ ./build_rcp.sh Command line arguments passed to build_rcp.sh: RCPROOT=/home/rking/RCP/Build/Linux/../.. =====Building Radeon Compute Profiler======

Building infra projects

Build arguments passed to scons: ========================================== ----------- Start building --------------- 2020年 03月 09日 星期一 05:00:38 CST ========================================== scons -C /home/rking/RCP/Build/Linux/../../Build/Linux CXL_prefix=/home/rking/RCP/Build/Linux/../../Output CXL_build_type=static ERROR during the build of the 64 bit framework ========================================== ----------- End building ----------------- 2020年 03月 09日 星期一 05:00:38 CST ========================================== ERROR the build failed - see the logs for details rking@rking-Ubuntu:~/RCP/Build/Linux$ scons --version SCons by Steven Knight et al.: script: v3.0.1.74b2c53bc42290e911b334a6b44f187da698a668, 2017/11/14 13:16:53, by bdbaddog on hpmicrodog engine: v3.0.1.74b2c53bc42290e911b334a6b44f187da698a668, 2017/11/14 13:16:53, by bdbaddog on hpmicrodog engine path: ['/usr/lib/scons/SCons'] Copyright (c) 2001 - 2017 The SCons Foundation

baryluk commented 4 years ago

It looks like the scons on recent Ubuntu and Debian is using now Python3 for scons itself and for SConstruct files.

$ head -1 `which scons`
#! /usr/bin/python3

And that leads to some issues:

scons -C /home/user/RCP/Build/Linux/../../Build/Linux CXL_prefix=/home/user/RCP/Build/Linux/../../Output CXL_build_type=static 
scons: Entering directory `/home/user/RCP/Build/Linux'
scons: Reading SConscript files ...
  File "/home/user/RCP/Build/Linux/SConstruct", line 97

    print CXL_env.Dump()

          ^

SyntaxError: invalid syntax

Once you fix that there are more issues:

scons -C /home/user/RCP/Build/Linux/../../Build/Linux CXL_prefix=/home/user/RCP/Build/Linux/../../Output CXL_build_type=static 
scons: Entering directory `/home/user/RCP/Build/Linux'
scons: Reading SConscript files ...
  File "/home/user/RCP/Build/Linux/CXL_init.py", line 18

    print "Error: Could not import EnumVariable"

          ^

SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Error: Could not import EnumVariable")?

It looks like there is a lot of Python2 stuff in this project, and that is not good, because Python2 is dead, deprecated and no longer maintained. In Debian and Ubuntu a lot of Python2 packages are already removed from the distribution.

matthiasdiener commented 4 years ago

I've created a pull request (#39) that should fix this issue.