[lkml]   [2016]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[tip:perf/urgent] perf tools: Add -lutil in python lib list for broken python-config
    Commit-ID:  11dc0c57ba8a935dec5a3240370941a4380721c4
    Author: Wang Nan <>
    AuthorDate: Mon, 11 Jan 2016 13:47:52 +0000
    Committer: Arnaldo Carvalho de Melo <>
    CommitDate: Mon, 11 Jan 2016 19:03:16 -0300

    perf tools: Add -lutil in python lib list for broken python-config

    On some system the perf-config is broken, causes link failure like this:

    /usr/lib64/python2.7/config/libpython2.7.a(posixmodule.o): In function `posix_forkpty':
    /opt/wangnan/yocto-build/tmp-eglibc/work/x86_64-oe-linux/python/2.7.3-r0.3.1/Python-2.7.3/./Modules/posixmodule.c:3816: undefined reference to `forkpty'
    /usr/lib64/python2.7/config/libpython2.7.a(posixmodule.o): In function `posix_openpty':
    /opt/wangnan/yocto-build/tmp-eglibc/work/x86_64-oe-linux/python/2.7.3-r0.3.1/Python-2.7.3/./Modules/posixmodule.c:3756: undefined reference to `openpty'
    collect2: error: ld returned 1 exit status
    make[1]: *** [/home/wangnan/kernel-hydrogen/tools/perf/out/perf] Error 1
    make: *** [all] Error 2

    $ python-config --libs
    -lpthread -ldl -lpthread -lutil -lm -lpython2.7

    In this case a '-lutil' should be appended to -lpython2.7.

    (I know we have --start-group and --end-group. I can see them in command
    line of collect2 by strace. However it doesn't work. Seems I have a
    broken environment?)

    Signed-off-by: Wang Nan <>
    Cc: Jiri Olsa <>
    Cc: Namhyung Kim <>
    Cc: Zefan Li <>
    Signed-off-by: Arnaldo Carvalho de Melo <>
    tools/perf/config/Makefile | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
    index 254d06e..0793c76 100644
    --- a/tools/perf/config/Makefile
    +++ b/tools/perf/config/Makefile
    @@ -493,7 +493,7 @@ else

    PYTHON_EMBED_LDOPTS := $(shell $(PYTHON_CONFIG_SQ) --ldflags 2>/dev/null)
    - PYTHON_EMBED_LIBADD := $(call grep-libs,$(PYTHON_EMBED_LDOPTS))
    + PYTHON_EMBED_LIBADD := $(call grep-libs,$(PYTHON_EMBED_LDOPTS)) -lutil
    PYTHON_EMBED_CCOPTS := $(shell $(PYTHON_CONFIG_SQ) --cflags 2>/dev/null)

     \ /
      Last update: 2016-01-12 11:41    [W:11.253 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site