From patchwork Tue Jan 21 11:41:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?5YKF57un5pmX?= X-Patchwork-Id: 37450 Received: (qmail 128510 invoked by alias); 21 Jan 2020 11:41:56 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 128502 invoked by uid 89); 21 Jan 2020 11:41:55 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: =?ISO-8859-1?Q?No, score=-15.7 required=5.0 tests=AWL, BAYES_00, BODY_8BITS, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GARBLED_BODY, GIT_PATCH_0, GIT_PATCH_2, GIT_PATCH_3, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy=HX-Spam-Relays-External:209.85.208.67, H*RU:209.85.208.67, 21=e6, =a8=e4=ba?= X-HELO: mail-ed1-f67.google.com Received: from mail-ed1-f67.google.com (HELO mail-ed1-f67.google.com) (209.85.208.67) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 21 Jan 2020 11:41:45 +0000 Received: by mail-ed1-f67.google.com with SMTP id m8so2594403edi.13 for ; Tue, 21 Jan 2020 03:41:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=9PtHj/rWjf0qEaJdHUUiOtMOEomGPiZ7ty3BLiUZAQo=; b=RXjfZ8+EvooTvtVVu8pbESxEVZn38KWKeeps2Xu3qpL3JF4fYQbOFGjw5GVxXXWxf7 vfsOrklu3ppUdStr/PxyZntnOnb6iAZJq62G2kKRdHIuPflS3mTAsLMEXOjiU5ya2fCf qcCzUG6W3HOMBF+YeneZ/7vImMuHCt4v2kkkycroeFreiJrZcUusGo+kcZItf82htmTC tvgrpva2ewDju8caLTD55Yn/QTvNc0WTcUvWNW8vJ1pDjhlmYRrVNHfN6q4owrjzQVbI 1FfZ7UtnOywm8LXyxsF4v8OjcFwHvaUqLE9ntDkt8oFPocxyHkAJZ5zLXWwQOvG292iy GfgQ== MIME-Version: 1.0 References: In-Reply-To: From: =?UTF-8?B?5YKF57un5pmX?= Date: Tue, 21 Jan 2020 19:41:32 +0800 Message-ID: Subject: Re: [PATCH] Modify python-config.py or replace it with official one to support python3 To: Christian Biesinger Cc: gdb-patches ok.that is,and here is my patch. Tested with autoconf 2.69 and python3.8. index:gdb/configure.ac else Christian Biesinger 于2020年1月21日周二 上午8:30写道: > > On Mon, Jan 20, 2020 at 8:05 AM 傅继晗 wrote: > > > > The formal patch only works on OSX.And here is the patch to make the > > crossbuild available. > > configure is a generated file. Please edit configure.ac instead, and > run autoconf to regenerate configure. Make sure to use autoconf > version 2.69. > > Christian > > > diff --git a/gdb/configure-origin b/gdb/configure > > --- a/gdb/configure-origin > > +++ b/gdb/configure > > @@ -9858,21 +9858,21 @@ fi > > # We have a python program to use, but it may be too old. > > # Don't flag an error for --with-python=auto (the default). > > have_python_config=yes > > - python_includes=`${python_prog} ${srcdir}/python/python-config.py --includes` > > + python_includes=`${python_prog}-config --includes` > > if test $? != 0; then > > have_python_config=failed > > if test "${with_python}" != auto; then > > as_fn_error "failure running python-config --includes" "$LINENO" 5 > > fi > > fi > > - python_libs=`${python_prog} ${srcdir}/python/python-config.py --ldflags` > > + python_libs=`${python_prog}-config --ldflags` > > if test $? != 0; then > > have_python_config=failed > > if test "${with_python}" != auto; then > > as_fn_error "failure running python-config --ldflags" "$LINENO" 5 > > fi > > fi > > - python_prefix=`${python_prog} ${srcdir}/python/python-config.py --exec-prefix` > > + python_prefix=`${python_prog}-config --exec-prefix` > > if test $? != 0; then > > have_python_config=failed > > if test "${with_python}" != auto; then > > > > > > 傅继晗 于2020年1月20日周一 下午8:02写道: > > > > > > By default,gdb is compiled with python2 script support on OSX. However,when compiled with arg "--with-python=/path/to/python3 " to support python3 ,some error occurred that seems python3 is not recognized. > > > The reason is that the python-config.py is not the same as the official one.BTW,this issue was once referred at 20 Dec 2012 mail :https://sourceware.org/ml/gdb-patches/2012-12/msg00751.html. > > > Somehow,It is not committed(maybe the maintainer forgot it due to the happy chrismas holiday). > > > And here is my patch: > > > > > > index: b/gdb/python/python-config.py > > > =============================== > > > --- a/gdb/python/python-config.py > > > +++ b/gdb/python/python-config.py > > > @@ -72,7 +72,7 @@ for opt in opt_flags: > > > libs.insert(0, '-L' + getvar('LIBPL')) > > > elif os.name == 'nt': > > > libs.insert(0, '-L' + sysconfig.PREFIX + '/libs') > > > - if getvar('LINKFORSHARED') is not None: > > > + if not getvar('PYTHONFRAMEWORK'): > > > libs.extend(getvar('LINKFORSHARED').split()) > > > print (to_unix_path(' '.join(libs))) ============================ --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -834,29 +834,31 @@ esac esac + python_config= if test "${python_prog}" != missing; then + AC_CHECK_FILE([${python_prog}-config],[python_config="${python_prog}-config --embed"],[python_config="${python_prog} ${srcdir}/python/python-config.py"]) # We have a python program to use, but it may be too old. # Don't flag an error for --with-python=auto (the default). have_python_config=yes - python_includes=`${python_prog} ${srcdir}/python/python-config.py --includes` + python_includes=`${python_config} --includes` if test $? != 0; then have_python_config=failed if test "${with_python}" != auto; then - AC_ERROR(failure running python-config --includes) + AC_ERROR(failure running ${python_config} --includes) fi fi - python_libs=`${python_prog} ${srcdir}/python/python-config.py --ldflags` + python_libs=`${python_config} --ldflags` if test $? != 0; then have_python_config=failed if test "${with_python}" != auto; then - AC_ERROR(failure running python-config --ldflags) + AC_ERROR(failure running ${python_config} --ldflags) fi fi - python_prefix=`${python_prog} ${srcdir}/python/python-config.py --exec-prefix` + python_prefix=`${python_config} --exec-prefix` if test $? != 0; then have_python_config=failed if test "${with_python}" != auto; then - AC_ERROR(failure running python-config --exec-prefix) + AC_ERROR(failure running ${python_config} --exec-prefix) fi fi