[poky] [PATCH 04/12] oprofileui: fix the build failure after gcc dso change

Nitin A Kamble nitin.a.kamble at intel.com
Mon Jan 17 14:45:52 PST 2011


With a change in gcc all the libraries needs to be specified explicitely
for linking. That breaks compile for this package as libm is not
explicitely specified. This commit fixes that linking  issue.

Signed-off-by: Nitin A Kamble <nitin.a.kamble at intel.com>
---
 meta/recipes-kernel/oprofile/oprofileui-svn.inc    |    5 ++-
 .../oprofileui/dso_linking_change_build_fix.patch  |   25 ++++++++++++++++++++
 2 files changed, 28 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-kernel/oprofile/oprofileui/dso_linking_change_build_fix.patch

diff --git a/meta/recipes-kernel/oprofile/oprofileui-svn.inc b/meta/recipes-kernel/oprofile/oprofileui-svn.inc
index 0e7e794..5d40914 100644
--- a/meta/recipes-kernel/oprofile/oprofileui-svn.inc
+++ b/meta/recipes-kernel/oprofile/oprofileui-svn.inc
@@ -1,8 +1,9 @@
 require oprofileui.inc
 
 PV = "0.0+svnr${SRCPV}"
-PR = "r0"
+PR = "r1"
 
 S = "${WORKDIR}/trunk"
 
-SRC_URI = "svn://svn.o-hand.com/repos/oprofileui;module=trunk;proto=http"
+SRC_URI = "svn://svn.o-hand.com/repos/oprofileui;module=trunk;proto=http \
+           file://dso_linking_change_build_fix.patch "
diff --git a/meta/recipes-kernel/oprofile/oprofileui/dso_linking_change_build_fix.patch b/meta/recipes-kernel/oprofile/oprofileui/dso_linking_change_build_fix.patch
new file mode 100644
index 0000000..4b44c69
--- /dev/null
+++ b/meta/recipes-kernel/oprofile/oprofileui/dso_linking_change_build_fix.patch
@@ -0,0 +1,25 @@
+With dso linking change in gcc, all the libraries are needed to be explicitely specified to linker now. It breaks this package in following way. The libm library needs to be specified explicitely.
+
+| make[2]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/oprofileui-0.0+svnr197-r0/trunk/src'^M
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -Wall -g -std=gnu99 -DPKG_DATA_DIR=\""/usr/share/oprofileui"\"  -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o oprofile-viewer main.o client.o archive.o archive_window.o archive_save_window.o view.o report.o parser.o image.o symbol.o module.o symbol_instance.o module_instance.o callee_symbol_instance.o caller_symbol_instance.o state-util.o -pthread -lglade-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lxml2 -lgnomevfs-2 -lgmodule-2.0 -lgconf-2 -ldbus-glib-1 -ldbus-1 -lpthread -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0   -pthread -lavahi-ui -lgtk-x11-2.0 -lavahi-common -lavahi-client -lavahi-glib -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   ../protocol/libop.a^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: ^X^B: invalid DSO for symbol `log@@GLIBC_2.0' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/lib/libm.so.6: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make[2]: *** [oprofile-viewer] Error 1^M
+
+Nitin A Kamble <nitin.a.kamble at intel.com>
+Date: 2011/01/11
+
+Index: trunk/src/Makefile.am
+===================================================================
+--- trunk.orig/src/Makefile.am
++++ trunk/src/Makefile.am
+@@ -56,7 +56,7 @@ oprofile_viewer_SOURCES = \
+ 
+ oprofile_viewer_LDFLAGS = 
+ 
+-oprofile_viewer_LDADD = $(OPROFILEUI_LIBS) $(AVAHI_LIBS) $(top_builddir)/protocol/libop.a
++oprofile_viewer_LDADD = $(OPROFILEUI_LIBS) -lm $(AVAHI_LIBS) $(top_builddir)/protocol/libop.a
+ 
+ testparser_SOURCES = \
+ 	parser.c \
-- 
1.7.3.4




More information about the poky mailing list