NameDateSize

..Today60

acinclude.m4H A D23-Dec-2022138

aclocal.m4H A D23-Dec-202244.9 KiB

common/H24-Dec-202220

config/H24-Dec-20224

configureH A D23-Dec-2022588.1 KiB

configure.acH A D23-Dec-20226.7 KiB

doc/H24-Dec-202210

gp-display-html/H24-Dec-20226

libcollector/H24-Dec-202241

Makefile.amH A D23-Dec-20222.5 KiB

Makefile.inH A D23-Dec-202230.7 KiB

READMEH A D23-Dec-20224.6 KiB

src/H24-Dec-2022192

README

1What is gprofng?
2
3   Gprofng is the GNU Next Generation profiler for analyzing the performance 
4   of Linux applications.  Gprofng allows you to:
5     - Profile C / C++ / Java / Scala applications without needing to recompile
6     - Profile multi-threaded applications
7     - Analyze and compare multiple experiments 
8     - Use time-based sampling and / or hardware event counters
9
10Building gprofng
11
12   Gprofng is distributed with binutils.  To build gprofng, you build binutils.
13   Overview:
14      1. Set paths
15      2. Verify prerequisites 
16      3. Git clone 
17      4. Configure, make, and make install
18   Details follow for each of these.
19
201. Set paths
21
22   If you are configuring binutils for the default location, it will use:
23       /usr/local
24   In your shell initialization procedure, set your paths using commands 
25   similar to these: 
26      export PATH=/usr/local/bin:$PATH
27      export MANPATH=/usr/local/share/man:$MANPATH
28      export INFOPATH=/usr/local/share/info/:$INFOPATH
29
302. Verify prerequisites
31
32  To build a recent version of binutils, it is useful to have a developer
33  system with the most recent compilers, libraries, and operating system.
34  Development systems will typically already include most of these: 
35
36     bison  bison-devel  bzip2  elfutils-debuginfod-client-devel 
37     expat-devel  flex  gcc  gcc-c++  git-core  git-core-doc  gmp-devel
38     help2man  libbabeltrace-devel  libipt-devel  m4  make  mpfr-devel 
39     ncurses-devel  perl-Data-Dumper  tar  texinfo  xz  zlib-devel
40     java-17-openjdk-devel 
41
42  CAUTION: The list of prerequisites changes depending on your operating system
43  and changes as binutils evolves.  The list above is a snapshot of the useful
44  packages in early 2022 for Red Hat Enterprise Linux and Oracle Linux. 
45
46  Your system may use other packages; for example, you may be able to use a
47  different version of Java than shown above.  If there are failures, you may
48  need to search for other packages as described in the "Hints" section below.
49
503. Git clone 
51
52   Select a binutils repository and a branch that you would like 
53   to start from.  For example, to clone from the master at 
54   sourceware.org, you could say: 
55     git clone http://sourceware.org/git/binutils-gdb.git CloneDir
56
574. Configure, make, and install
58
59   There are many options for configure (see: configure --help).  For example,
60   --prefix sets the destination, as described in the "Hints" section below.
61   If the default destination /usr/local is acceptable for your needs, then
62   after the clone operation finishes, you can simply say:
63
64      mkdir build
65      cd build
66      ../CloneDir/configure
67      make
68      sudo make install
69
70Getting started
71
72  To start using gprofng, see the tutorial available by saying:
73      info gprofng
74
75HTML and PDF documentation
76
77   You may want to generate an HTML or PDF version of the manual in addition
78   to the above info pages.  These versions may be easier to read and easier
79   to search.  To generate HTML:
80
81      cd build        # the same build directory you created above
82      cd gprofng/doc
83      make html
84      sudo make install-html
85
86   If you would like PDF documentation, you will need the texi2dvi utility.
87   If it is not already included in the texinfo package mentioned above, try
88   installing package texinfo-tex.  To generate PDF:
89
90      cd build        # the same build directory you created above
91      cd gprofng/doc
92      make pdf
93      sudo make install-pdf
94
95Hints and tips for building binutils
96
97  - Use the script(1) command to write a log of your build.
98
99  - If you run multiple commands at once (for example: make --jobs=10) then you
100    should also use make option:
101          --output-sync
102    Without --output-sync, the log would be difficult to interpret.
103
104  - Search the log for errors and warnings, for example:
105        configure: WARNING: <package> is missing or unusable; some features 
106                   may be unavailable. 
107    The above message suggests that <package> may be needed on your system.
108
109  - Sometimes the above message is not sufficiently specific to guide you to
110    the right package.  In the directory where the failure happens, config.log
111    may identify a specific missing file, and your package manager may allow
112    you to search for it. For example, if build/gprofng/config.log shows that
113    javac is missing, and if your package manager is dnf, you could try:
114       dnf --repo='*' whatprovides '*/javac'
115
116  - You can set a custom destination directory using configure --prefix.
117    This is useful if you prefer not to change /usr/local, or if you are not
118    allowed to do so.  If you set a custom prefix, be sure to change all three
119    paths mentioned in the PATH section above.
120
121