« Return to Thread: Build issue for 0.9.5 on Redhat 5 (has there been follow up since Aug 09?)

Build issue for 0.9.5 on Redhat 5 (has there been follow up since Aug 09?)

by Heidi Schmidt :: Rate this Message:

Reply to Author | View in Thread

Build issue for 0.9.5 on Redhat 5 (has there been follow up since Aug 09?) I’m running into the same make issue that I think a few others have experienced on RH 5  for oprofile-0.9.5 via the mailing list thread Re: 0.9.5 building on RHEL5 broken
Is there a patch now ? or previous version that is known to compile on RH5? If so, I’ll nab either one. Thanks for the bandwidth.

Heidi


Here is what I found and hope the information helps with a future patch.

Notes:  
  1. It would be good to add to the install docs the requirement of the profile os user and group
  2. I ran the configure initially with  ./configure --with-kernel-support and then ran the example below without the flags for java, qt, abi, and debug from post http://marc.info/?l=oprofile-list&m=124907559400470&w=2   (the config and make details below)_
  3. Details of the system  and the release I pulled down and typical cpu

Uname details
Linux 2.6.18-128.1.1.el5 #1 SMP Mon Jan 26 13:58:24 EST 2009 x86_64 x86_64 x86_64 GNU/Linux

 more /etc/redhat-release
        Red Hat Enterprise Linux Server release 5.3 (Tikanga)

 rpm -qa | grep binutil
        binutils-2.17.50.0.6-9.el5
        binutils-devel-2.17.50.0.6-5.el5
        binutils-devel-2.17.50.0.6-5.el5

file ../../../Desktop/oprofile-0.9.5.tar.gz
../../../Desktop/oprofile-0.9.5.tar.gz: gzip compressed data, from Unix, last modified: Fri Jul 31 13:12:11 2009, max compression

 md5 ../../../Desktop/oprofile-0.9.5.tar.gz
MD5 (../../../Desktop/oprofile-0.9.5.tar.gz) = 4b2ceca3fa013c95cc8d47c790807dc2

 ls -ltra ../../../Desktop/oprofile-0.9.5.tar.gz
-rw-r--r--@ 1 hschmidt  MANHUNT\domain users  1319732 Oct 23 11:41 ../../../Desktop/oprofile-0.9.5.tar.gz

processor    : 3
vendor_id    : GenuineIntel
cpu family    : 6
model        : 15
model name    : Intel(R) Xeon(R) CPU            5150  @ 2.66GHz
stepping    : 6
cpu MHz        : 2660.033
cache size    : 4096 KB
physical id    : 3
siblings    : 2
core id        : 1
cpu cores    : 2
apicid        : 7
fpu        : yes
fpu_exception    : yes
cpuid level    : 10
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
bogomips    : 5320.04
clflush size    : 64
cache_alignment    : 64
address sizes    : 36 bits physical, 48 bits virtual
power management:


Output of the configure session
==========================
sudo ./configure --with-kernel-support \
>   --host=x86_64-redhat-linux-gnu \
>   --target=x86_64-redhat-linux-gnu \
>   --build=x86_64-redhat-linux-gnu \
>   --program-prefix= --prefix=/usr \
>   --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin \
>   --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include \
>   --libdir=/usr/lib64 --libexecdir=/usr/libexec \
>   --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man \
>   --infodir=/usr/share/info
Password:
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for x86_64-redhat-linux-gnu-gcc... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking whether basename is declared... yes
checking for x86_64-redhat-linux-gnu-ranlib... no
checking for ranlib... ranlib
checking build system type... x86_64-redhat-linux-gnu
checking host system type... x86_64-redhat-linux-gnu
checking for a sed that does not truncate output... /bin/sed
checking for egrep... grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for x86_64-redhat-linux-gnu-g++... no
checking for x86_64-redhat-linux-gnu-c++... no
checking for x86_64-redhat-linux-gnu-gpp... no
checking for x86_64-redhat-linux-gnu-aCC... no
checking for x86_64-redhat-linux-gnu-CC... no
checking for x86_64-redhat-linux-gnu-cxx... no
checking for x86_64-redhat-linux-gnu-cc++... no
checking for x86_64-redhat-linux-gnu-cl... no
checking for x86_64-redhat-linux-gnu-FCC... no
checking for x86_64-redhat-linux-gnu-KCC... no
checking for x86_64-redhat-linux-gnu-RCC... no
checking for x86_64-redhat-linux-gnu-xlC_r... no
checking for x86_64-redhat-linux-gnu-xlC... no
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking dependency style of g++... none
checking for x86_64-redhat-linux-gnu-g77... no
checking for x86_64-redhat-linux-gnu-f77... no
checking for x86_64-redhat-linux-gnu-xlf... no
checking for x86_64-redhat-linux-gnu-frt... no
checking for x86_64-redhat-linux-gnu-pgf77... no
checking for x86_64-redhat-linux-gnu-fort77... no
checking for x86_64-redhat-linux-gnu-fl32... no
checking for x86_64-redhat-linux-gnu-af77... no
checking for x86_64-redhat-linux-gnu-f90... no
checking for x86_64-redhat-linux-gnu-xlf90... no
checking for x86_64-redhat-linux-gnu-pgf90... no
checking for x86_64-redhat-linux-gnu-epcf90... no
checking for x86_64-redhat-linux-gnu-f95... no
checking for x86_64-redhat-linux-gnu-fort... no
checking for x86_64-redhat-linux-gnu-xlf95... no
checking for x86_64-redhat-linux-gnu-ifc... no
checking for x86_64-redhat-linux-gnu-efc... no
checking for x86_64-redhat-linux-gnu-pgf95... no
checking for x86_64-redhat-linux-gnu-lf95... no
checking for x86_64-redhat-linux-gnu-gfortran... no
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for gfortran... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether  accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for x86_64-redhat-linux-gnu-ar... no
checking for ar... ar
checking for x86_64-redhat-linux-gnu-ranlib... ranlib
checking for x86_64-redhat-linux-gnu-strip... no
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
appending configuration tag "F77" to libtool
checking for x86_64-redhat-linux-gnu-gcc... gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ANSI C... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking how to run the C preprocessor... gcc -E
checking for x86_64-redhat-linux-gnu-g++... g++
checking whether we are using the GNU C++ compiler... (cached) no
checking whether g++ accepts -g... (cached) no
checking dependency style of g++... (cached) none
checking for ld... /usr/bin/ld -m elf_x86_64
checking for kernel OProfile support... yes
checking whether malloc attribute is understood... no
checking whether __builtin_expect is understood... yes
checking for sched_setaffinity... yes
checking for perfmonctl... no
checking for poptGetContext in -lpopt... yes
checking libiberty.h usability... yes
checking libiberty.h presence... yes
checking for libiberty.h... yes
checking for cplus_demangle in -liberty... yes
checking for xcalloc... yes
checking for xmemdup... yes
checking for dlopen in -ldl... yes
checking for main in -lintl... no
checking for bfd_openr in -lbfd... yes
checking whether bfd_get_synthetic_symtab() exists in BFD library... no
checking for bfd_openr_iovec in -lbfd... yes
checking whether bfd_openr_iovec has seven parameters... no
checking popt prototype... takes const char **
checking whether to use included sstream... yes
checking whether bfd defines bool... yes
checking type of size_t... unsigned long
checking type of ptrdiff_t... long
checking for X... no
checking for moc2... not found
checking for moc... not found
checking for uic... not found
checking for Qt library name... failed
checking for xsltproc... no
checking whether gcc -W is understood... yes
checking whether g++ -W is understood... no
checking whether gcc -Wall is understood... yes
checking whether g++ -Wall is understood... no
checking whether gcc -fno-common is understood... yes
checking whether g++ -fno-common is understood... no
checking whether g++ -ftemplate-depth-50 is understood... no
checking whether gcc -Wdeclaration-after-statement is understood... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating m4/Makefile
config.status: creating libutil/Makefile
config.status: creating libutil/tests/Makefile
config.status: creating libutil++/Makefile
config.status: creating libutil++/tests/Makefile
config.status: creating libop/Makefile
config.status: creating libop/tests/Makefile
config.status: creating libopagent/Makefile
config.status: creating libopt++/Makefile
config.status: creating libdb/Makefile
config.status: creating libdb/tests/Makefile
config.status: creating libabi/Makefile
config.status: creating libabi/tests/Makefile
config.status: creating libregex/Makefile
config.status: creating libregex/tests/Makefile
config.status: creating libregex/stl.pat
config.status: creating libregex/tests/mangled-name
config.status: creating daemon/Makefile
config.status: creating daemon/liblegacy/Makefile
config.status: creating events/Makefile
config.status: creating utils/Makefile
config.status: creating doc/Makefile
config.status: creating doc/xsl/catalog-1.xml
config.status: creating doc/oprofile.1
config.status: creating doc/opcontrol.1
config.status: creating doc/ophelp.1
config.status: creating doc/opreport.1
config.status: creating doc/opannotate.1
config.status: creating doc/opgprof.1
config.status: creating doc/oparchive.1
config.status: creating doc/opimport.1
config.status: creating doc/srcdoc/Doxyfile
config.status: creating libpp/Makefile
config.status: creating opjitconv/Makefile
config.status: creating pp/Makefile
config.status: creating gui/Makefile
config.status: creating gui/ui/Makefile
config.status: creating module/Makefile
config.status: creating module/x86/Makefile
config.status: creating module/ia64/Makefile
config.status: creating agents/Makefile
config.status: creating agents/jvmti/Makefile
config.status: creating agents/jvmpi/Makefile
config.status: creating config.h
config.status: executing depfiles commands
doc/xsl/catalog.xml is unchanged
Warning: a working Qt not found; no GUI will be built
[hschmidt@mainro03 oprofile-0.9.5]$ sudo make
make  all-recursive
make[1]: Entering directory `/tmp/oprofile-0.9.5'
Making all in .
make[2]: Entering directory `/tmp/oprofile-0.9.5'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/tmp/oprofile-0.9.5'
Making all in m4
make[2]: Entering directory `/tmp/oprofile-0.9.5/m4'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/oprofile-0.9.5/m4'
Making all in libutil
make[2]: Entering directory `/tmp/oprofile-0.9.5/libutil'
Making all in .
make[3]: Entering directory `/tmp/oprofile-0.9.5/libutil'
if gcc -DHAVE_CONFIG_H -I. -I. -I..  -I ../libop  -W -Wall -fno-common -Wdeclaration-after-statement -g -O2 -MT op_file.o -MD -MP -MF ".deps/op_file.Tpo" -c -o op_file.o op_file.c; \
    then mv -f ".deps/op_file.Tpo" ".deps/op_file.Po"; else rm -f ".deps/op_file.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I..  -I ../libop  -W -Wall -fno-common -Wdeclaration-after-statement -g -O2 -MT op_fileio.o -MD -MP -MF ".deps/op_fileio.Tpo" -c -o op_fileio.o op_fileio.c; \
    then mv -f ".deps/op_fileio.Tpo" ".deps/op_fileio.Po"; else rm -f ".deps/op_fileio.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I..  -I ../libop  -W -Wall -fno-common -Wdeclaration-after-statement -g -O2 -MT op_libiberty.o -MD -MP -MF ".deps/op_libiberty.Tpo" -c -o op_libiberty.o op_libiberty.c; \
    then mv -f ".deps/op_libiberty.Tpo" ".deps/op_libiberty.Po"; else rm -f ".deps/op_libiberty.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I..  -I ../libop  -W -Wall -fno-common -Wdeclaration-after-statement -g -O2 -MT op_popt.o -MD -MP -MF ".deps/op_popt.Tpo" -c -o op_popt.o op_popt.c; \
    then mv -f ".deps/op_popt.Tpo" ".deps/op_popt.Po"; else rm -f ".deps/op_popt.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I..  -I ../libop  -W -Wall -fno-common -Wdeclaration-after-statement -g -O2 -MT op_string.o -MD -MP -MF ".deps/op_string.Tpo" -c -o op_string.o op_string.c; \
    then mv -f ".deps/op_string.Tpo" ".deps/op_string.Po"; else rm -f ".deps/op_string.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I..  -I ../libop  -W -Wall -fno-common -Wdeclaration-after-statement -g -O2 -MT op_version.o -MD -MP -MF ".deps/op_version.Tpo" -c -o op_version.o op_version.c; \
    then mv -f ".deps/op_version.Tpo" ".deps/op_version.Po"; else rm -f ".deps/op_version.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I..  -I ../libop  -W -Wall -fno-common -Wdeclaration-after-statement -g -O2 -MT op_growable_buffer.o -MD -MP -MF ".deps/op_growable_buffer.Tpo" -c -o op_growable_buffer.o op_growable_buffer.c; \
    then mv -f ".deps/op_growable_buffer.Tpo" ".deps/op_growable_buffer.Po"; else rm -f ".deps/op_growable_buffer.Tpo"; exit 1; fi
rm -f libutil.a
ar cru libutil.a op_deviceio.o op_lockfile.o op_file.o op_fileio.o op_get_time.o op_libiberty.o op_popt.o op_string.o op_cpufreq.o op_version.o op_growable_buffer.o
ranlib libutil.a
make[3]: Leaving directory `/tmp/oprofile-0.9.5/libutil'
Making all in tests
make[3]: Entering directory `/tmp/oprofile-0.9.5/libutil/tests'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/oprofile-0.9.5/libutil/tests'
make[2]: Leaving directory `/tmp/oprofile-0.9.5/libutil'
Making all in libop
make[2]: Entering directory `/tmp/oprofile-0.9.5/libop'
Making all in .
make[3]: Entering directory `/tmp/oprofile-0.9.5/libop'
if gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../libutil  -W -Wall -fno-common -Wdeclaration-after-statement -g -O2 -MT op_events.o -MD -MP -MF ".deps/op_events.Tpo" -c -o op_events.o op_events.c; \
    then mv -f ".deps/op_events.Tpo" ".deps/op_events.Po"; else rm -f ".deps/op_events.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../libutil  -W -Wall -fno-common -Wdeclaration-after-statement -g -O2 -MT op_mangle.o -MD -MP -MF ".deps/op_mangle.Tpo" -c -o op_mangle.o op_mangle.c; \
    then mv -f ".deps/op_mangle.Tpo" ".deps/op_mangle.Po"; else rm -f ".deps/op_mangle.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../libutil  -W -Wall -fno-common -Wdeclaration-after-statement -g -O2 -MT op_alloc_counter.o -MD -MP -MF ".deps/op_alloc_counter.Tpo" -c -o op_alloc_counter.o op_alloc_counter.c; \
    then mv -f ".deps/op_alloc_counter.Tpo" ".deps/op_alloc_counter.Po"; else rm -f ".deps/op_alloc_counter.Tpo"; exit 1; fi
rm -f libop.a
ar cru libop.a op_events.o op_parse_event.o op_cpu_type.o op_mangle.o op_get_interface.o op_alloc_counter.o op_config.o op_xml_events.o op_xml_out.o
ranlib libop.a
make[3]: Leaving directory `/tmp/oprofile-0.9.5/libop'
Making all in tests
make[3]: Entering directory `/tmp/oprofile-0.9.5/libop/tests'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/oprofile-0.9.5/libop/tests'
make[2]: Leaving directory `/tmp/oprofile-0.9.5/libop'
Making all in libopagent
make[2]: Entering directory `/tmp/oprofile-0.9.5/libopagent'
/bin/sh ../libtool --tag=CC --mode=link gcc  -g -O2   -o libopagent.la -rpath /usr/lib64/oprofile -version-info  1:0:0 -Wl,--version-script=../libopagent/opagent_symbols.ver libopagent_la-opagent.lo -lbfd -liberty -ldl   
gcc -shared  .libs/libopagent_la-opagent.o  -lbfd -liberty -ldl  -Wl,--version-script=../libopagent/opagent_symbols.ver -Wl,-soname -Wl,libopagent.so.1 -o .libs/libopagent.so.1.0.0
/usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libbfd.a(archures.o): relocation R_X86_64_32 against `bfd_i386_arch' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libbfd.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [libopagent.la] Error 1
make[2]: Leaving directory `/tmp/oprofile-0.9.5/libopagent'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/oprofile-0.9.5'
make: *** [all] Error 2

 locate libbfd.a
/usr/lib/libbfd.a
/usr/lib64/libbfd.a

 /usr/bin/md5sum /usr/lib64/libbfd.a
8bb6e102daf9ea7bd3b09ef388956d5b  /usr/lib64/libbfd.a

 /usr/bin/md5sum /usr/lib/libbfd.a
f5494699a61189baf2e2705e52b67c22  /usr/lib/libbfd.a


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
oprofile-list mailing list
oprofile-list@...
https://lists.sourceforge.net/lists/listinfo/oprofile-list

 « Return to Thread: Build issue for 0.9.5 on Redhat 5 (has there been follow up since Aug 09?)