libpfm-3.4 compiled and installed fine, but pfmon-3.4 still doesn't
compile. Its complaining that it can't find "libelf.h", but I can't
seem to locate this anywhere either. Where should this header file be?
Thanks,
Ioan
PS: See the error below:
[EMAIL PROTECTED] pfmon-3.4]$ make
compiling pfmon for ia64 architecture
compiling pfmon as a shared binary
make[1]: Entering directory
`/mnt/autofs/home/iraicu/perfmon/pfmon-3.4/pfmon'
gcc -ggdb -g -Wall -Werror -D_REENTRANT -I/home/iraicu/usr/local/include
-DCONFIG_PFMON_IA64 -DPFMON_DEBUG
-DDATADIR=\"/home/iraicu/usr/local/share/pfmon\" -I.
-I/home/iraicu/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_IA64
-DPFMON_DEBUG -g -c pfmon.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT -I/home/iraicu/usr/local/include
-DCONFIG_PFMON_IA64 -DPFMON_DEBUG
-DDATADIR=\"/home/iraicu/usr/local/share/pfmon\" -I.
-I/home/iraicu/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_IA64
-DPFMON_DEBUG -g -c pfmon_smpl.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT -I/home/iraicu/usr/local/include
-DCONFIG_PFMON_IA64 -DPFMON_DEBUG
-DDATADIR=\"/home/iraicu/usr/local/share/pfmon\" -I.
-I/home/iraicu/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_IA64
-DPFMON_DEBUG -g -c pfmon_util.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT -I/home/iraicu/usr/local/include
-DCONFIG_PFMON_IA64 -DPFMON_DEBUG
-DDATADIR=\"/home/iraicu/usr/local/share/pfmon\" -I.
-I/home/iraicu/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_IA64
-DPFMON_DEBUG -g -c pfmon_system.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT -I/home/iraicu/usr/local/include
-DCONFIG_PFMON_IA64 -DPFMON_DEBUG
-DDATADIR=\"/home/iraicu/usr/local/share/pfmon\" -I.
-I/home/iraicu/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_IA64
-DPFMON_DEBUG -g -c pfmon_task.c
gcc -ggdb -g -Wall -Werror -D_REENTRANT -I/home/iraicu/usr/local/include
-DCONFIG_PFMON_IA64 -DPFMON_DEBUG
-DDATADIR=\"/home/iraicu/usr/local/share/pfmon\" -I.
-I/home/iraicu/usr/include/libelf -D_GNU_SOURCE -DCONFIG_PFMON_IA64
-DPFMON_DEBUG -g -c pfmon_symbols.c
pfmon_symbols.c:29:20: libelf.h: No such file or directory
pfmon_symbols.c: In function `pfmon_get_entry_point':
pfmon_symbols.c:1180: error: `Elf' undeclared (first use in this function)
pfmon_symbols.c:1180: error: (Each undeclared identifier is reported
only once
pfmon_symbols.c:1180: error: for each function it appears in.)
pfmon_symbols.c:1180: error: `elf' undeclared (first use in this function)
pfmon_symbols.c:1181: error: `Elf64_Ehdr' undeclared (first use in this
function)
pfmon_symbols.c:1181: error: `ehdr64' undeclared (first use in this
function)
pfmon_symbols.c:1182: error: `Elf32_Ehdr' undeclared (first use in this
function)
pfmon_symbols.c:1182: error: `ehdr32' undeclared (first use in this
function)
pfmon_symbols.c:1194: warning: implicit declaration of function
`elf_version'
pfmon_symbols.c:1194: error: `EV_CURRENT' undeclared (first use in this
function)
pfmon_symbols.c:1194: error: `EV_NONE' undeclared (first use in this
function)
pfmon_symbols.c:1200: warning: implicit declaration of function `elf_begin'
pfmon_symbols.c:1200: error: `ELF_C_READ' undeclared (first use in this
function)
pfmon_symbols.c:1207: warning: implicit declaration of function `elf_kind'
pfmon_symbols.c:1207: error: `ELF_K_ELF' undeclared (first use in this
function)
pfmon_symbols.c:1212: warning: implicit declaration of function
`elf_getident'
pfmon_symbols.c:1212: warning: assignment makes pointer from integer
without a cast
pfmon_symbols.c:1213: error: `EI_CLASS' undeclared (first use in this
function)
pfmon_symbols.c:1214: error: `ELFCLASS64' undeclared (first use in this
function)
pfmon_symbols.c:1215: warning: implicit declaration of function
`elf64_getehdr'
pfmon_symbols.c:1219: error: `ELFCLASS32' undeclared (first use in this
function)
pfmon_symbols.c:1220: warning: implicit declaration of function
`elf32_getehdr'
pfmon_symbols.c:1228: warning: implicit declaration of function `elf_end'
pfmon_symbols.c: In function `pfmon_program_is_abi32':
pfmon_symbols.c:1237: error: `Elf' undeclared (first use in this function)
pfmon_symbols.c:1237: error: `elf' undeclared (first use in this function)
pfmon_symbols.c:1248: error: `EV_CURRENT' undeclared (first use in this
function)
pfmon_symbols.c:1248: error: `EV_NONE' undeclared (first use in this
function)
pfmon_symbols.c:1254: error: `ELF_C_READ' undeclared (first use in this
function)
pfmon_symbols.c:1261: error: `ELF_K_ELF' undeclared (first use in this
function)
pfmon_symbols.c:1266: warning: assignment makes pointer from integer
without a cast
pfmon_symbols.c:1267: error: `EI_CLASS' undeclared (first use in this
function)
pfmon_symbols.c:1267: error: `ELFCLASS32' undeclared (first use in this
function)
make[1]: *** [pfmon_symbols.o] Error 1
make[1]: Leaving directory `/mnt/autofs/home/iraicu/perfmon/pfmon-3.4/pfmon'
make: *** [all] Error 2
stephane eranian wrote:
Hello again,
Which version of libpfm/pfmon are you using?
I have seen this problem before. I think the name of the field has
simply changed.
Please try with libpfm-3.4 and pfmon-3.4, they should still work on
older v2.6.29 and
perfmon v2.0 itanium systems.
You can grab them from our website: http://perfmon2.sf.net
On Tue, Jul 15, 2008 at 7:18 PM, Ioan Raicu <[EMAIL PROTECTED]> wrote:
Aha,
OK, so I found a IA64 machine, with kernel 2.6.9, but I don't have root
access to it. So I am installing from the sources:
[EMAIL PROTECTED] libpfm-3.1]$ make
...
gcc -Wall -I/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/examples/../include
-O2 -g -c ita2_irr.c
gcc -Wall -o ita2_irr -O2 -g
-L/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/examples/../libpfm ita2_irr.o
/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/examples/../lib/libpfm.a -lm
make[1]: Leaving directory
`/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/examples'
make[1]: Entering directory
`/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/include'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/include'
make[1]: Entering directory
`/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/docs'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/docs'
[EMAIL PROTECTED] libpfm-3.1]$ make install
make[1]: Entering directory `/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/lib'
mkdir -p /home/iraicu/usr/local/lib
install -m 644 libpfm.a libpfm.so.3.1.0 /home/iraicu/usr/local/lib
make[1]: Leaving directory `/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/lib'
make[1]: Entering directory
`/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/examples'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory
`/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/examples'
make[1]: Entering directory
`/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/include'
mkdir -p /home/iraicu/usr/local/include/perfmon
install -m 644 perfmon/perfmon.h perfmon/perfmon_default_smpl.h
perfmon/pfmlib.h perfmon/pfmlib_comp.h perfmon/pfmlib_comp_ia64.h
perfmon/pfmlib_os.h perfmon/pfmlib_os_ia64.h perfmon/pfmlib_generic_ia64.h
perfmon/pfmlib_itanium.h perfmon/pfmlib_itanium2.h
/home/iraicu/usr/local/include/perfmon
make[1]: Leaving directory
`/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/include'
make[1]: Entering directory
`/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/docs'
mkdir -p /home/iraicu/usr/local/share/man/man3
( cd man3; install -m 644 *.3 /home/iraicu/usr/local/share/man/man3 )
make[1]: Leaving directory `/mnt/autofs/home/iraicu/perfmon/libpfm-3.1/docs'
This was OK, looked normal.
Then I try to compile pfmon, and I get:
bash-3.00$ make
make[1]: Entering directory
`/mnt/autofs/home/iraicu/perfmon/pfmon-3.0/pfmon'
gcc -Wall -I/home/iraicu/usr/local/include -I/usr/include/libelf -I. -O2 -g
-D_REENTRANT -D_GNU_SOURCE -DDESTROOT=\"/home/iraicu/usr/local\"
-DCONFIG_PFMON_GENERIC_IA64 -DCONFIG_PFMON_ITANIUM -DCONFIG_PFMON_ITANIUM2
-DCONFIG_PFMON_SMPL_MOD_RAW_IA64 -DCONFIG_PFMON_SMPL_MOD_COMPACT_IA64
-DCONFIG_PFMON_SMPL_MOD_EXAMPLE_IA64 -DCONFIG_PFMON_SMPL_MOD_BTB_IA64
-DCONFIG_PFMON_SMPL_MOD_DET_ITA -DCONFIG_PFMON_SMPL_MOD_DET_ITA2
-DPFMON_DEBUG -c pfmon.c
gcc -Wall -I/home/iraicu/usr/local/include -I/usr/include/libelf -I. -O2 -g
-D_REENTRANT -D_GNU_SOURCE -DDESTROOT=\"/home/iraicu/usr/local\"
-DCONFIG_PFMON_GENERIC_IA64 -DCONFIG_PFMON_ITANIUM -DCONFIG_PFMON_ITANIUM2
-DCONFIG_PFMON_SMPL_MOD_RAW_IA64 -DCONFIG_PFMON_SMPL_MOD_COMPACT_IA64
-DCONFIG_PFMON_SMPL_MOD_EXAMPLE_IA64 -DCONFIG_PFMON_SMPL_MOD_BTB_IA64
-DCONFIG_PFMON_SMPL_MOD_DET_ITA -DCONFIG_PFMON_SMPL_MOD_DET_ITA2
-DPFMON_DEBUG -c pfmon_smpl.c
gcc -Wall -I/home/iraicu/usr/local/include -I/usr/include/libelf -I. -O2 -g
-D_REENTRANT -D_GNU_SOURCE -DDESTROOT=\"/home/iraicu/usr/local\"
-DCONFIG_PFMON_GENERIC_IA64 -DCONFIG_PFMON_ITANIUM -DCONFIG_PFMON_ITANIUM2
-DCONFIG_PFMON_SMPL_MOD_RAW_IA64 -DCONFIG_PFMON_SMPL_MOD_COMPACT_IA64
-DCONFIG_PFMON_SMPL_MOD_EXAMPLE_IA64 -DCONFIG_PFMON_SMPL_MOD_BTB_IA64
-DCONFIG_PFMON_SMPL_MOD_DET_ITA -DCONFIG_PFMON_SMPL_MOD_DET_ITA2
-DPFMON_DEBUG -c pfmon_util.c
gcc -Wall -I/home/iraicu/usr/local/include -I/usr/include/libelf -I. -O2 -g
-D_REENTRANT -D_GNU_SOURCE -DDESTROOT=\"/home/iraicu/usr/local\"
-DCONFIG_PFMON_GENERIC_IA64 -DCONFIG_PFMON_ITANIUM -DCONFIG_PFMON_ITANIUM2
-DCONFIG_PFMON_SMPL_MOD_RAW_IA64 -DCONFIG_PFMON_SMPL_MOD_COMPACT_IA64
-DCONFIG_PFMON_SMPL_MOD_EXAMPLE_IA64 -DCONFIG_PFMON_SMPL_MOD_BTB_IA64
-DCONFIG_PFMON_SMPL_MOD_DET_ITA -DCONFIG_PFMON_SMPL_MOD_DET_ITA2
-DPFMON_DEBUG -c pfmon_util_ia64.c
pfmon_util_ia64.c: In function `pfmon_get_breakpoint_addr':
pfmon_util_ia64.c:726: error: structure has no member named `_si_pad0'
make[1]: *** [pfmon_util_ia64.o] Error 1
make[1]: Leaving directory `/mnt/autofs/home/iraicu/perfmon/pfmon-3.0/pfmon'
make: *** [all] Error 2
I updated both config.mk for both libpfm and pfmon. Note that for libpfm, I
had to modify the default compiler from icc to gcc, and I changed the
install path.
Any ideas on what I am missing, that is preventing pfmon from compiling?
Thanks,
Ioan
stephane eranian wrote:
Hello,
You are missing the kernel support. Suse does have perfmon
support in 2.6.x kernels but that is on Itanium systems only, I think.
On Tue, Jul 15, 2008 at 6:50 PM, Ioan Raicu <[EMAIL PROTECTED]> wrote:
Hi,
I have installed the following RPMs.
libpfm-3.4-1.fc10.x86_64.rpm
pfmon-3.4-1.fc10.x86_64.rpm
I then tried to run pfmon, but I got:
[EMAIL PROTECTED]:~/perfmon> pfmon
host kernel is missing perfmon support or /sys is not available
My pfmon version is 3.4. I am also running Suse 10 on dual 54xx Xeon
CPUs.
[EMAIL PROTECTED]:~/perfmon> uname -a
Linux gto 2.6.22.5-31-default #1 SMP 2007/09/21 22:29:00 UTC x86_64
x86_64 x86_64 GNU/Linux
I assume that my kernel doesn't have the support for perfmon enabled,
although I read online that Suse does have perfmon support in kernel
2.6.x. Are there instructions on how I can add perfmon support to my
kernel? Or is it simply another RPM (which I couldn't find) I can install?
Thanks in advance,
Ioan
--
===================================================
Ioan Raicu
Ph.D. Candidate
===================================================
Distributed Systems Laboratory
Computer Science Department
University of Chicago
1100 E. 58th Street, Ryerson Hall
Chicago, IL 60637
===================================================
Email: [EMAIL PROTECTED]
Web: http://www.cs.uchicago.edu/~iraicu
http://dev.globus.org/wiki/Incubator/Falkon
http://dsl-wiki.cs.uchicago.edu/index.php/Main_Page
===================================================
===================================================
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel
--
===================================================
Ioan Raicu
Ph.D. Candidate
===================================================
Distributed Systems Laboratory
Computer Science Department
University of Chicago
1100 E. 58th Street, Ryerson Hall
Chicago, IL 60637
===================================================
Email: [EMAIL PROTECTED]
Web: http://www.cs.uchicago.edu/~iraicu
http://dev.globus.org/wiki/Incubator/Falkon
http://dsl-wiki.cs.uchicago.edu/index.php/Main_Page
===================================================
===================================================
--
===================================================
Ioan Raicu
Ph.D. Candidate
===================================================
Distributed Systems Laboratory
Computer Science Department
University of Chicago
1100 E. 58th Street, Ryerson Hall
Chicago, IL 60637
===================================================
Email: [EMAIL PROTECTED]
Web: http://www.cs.uchicago.edu/~iraicu
http://dev.globus.org/wiki/Incubator/Falkon
http://dsl-wiki.cs.uchicago.edu/index.php/Main_Page
===================================================
===================================================
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel