Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!newsfeed.xs4all.nl!newsfeed3a.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'resulting': 0.04; 'source,': 0.04; 'root': 0.05; 'failing': 0.07; 'problem:': 0.07; 'python3': 0.07; 'advance': 0.07; 'defines': 0.09; 'denoted': 0.09; 'expected.': 0.09; 'run,': 0.09; 'suffix': 0.09; 'used.': 0.09; 'python': 0.11; '20)': 0.16; 'btw': 0.16; 'created.': 0.16; 'extension.': 0.16; 'naming': 0.16; 'picks': 0.16; 'python3.': 0.16; 'subject:python3': 0.16; 'suffixes': 0.16; 'appropriate': 0.16; 'packages.': 0.19; 'example': 0.22; 'creating': 0.23; 'this?': 0.23; 'header:User-Agent:1': 0.23; 'case.': 0.24; 'fine': 0.24; "i've": 0.25; 'extension': 0.26; 'installed': 0.27; 'specifically': 0.29; "doesn't": 0.30; "i'm": 0.30; 'extract': 0.31; 'yields': 0.31; 'anyone': 0.31; 'running': 0.33; 'problem': 0.35; "can't": 0.35; 'received:209.85': 0.35; 'received:google.com': 0.35; 'building': 0.35; 'version': 0.36; 'installing': 0.36; 'hi,': 0.36; 'reports': 0.37; 'so,': 0.37; 'skip:- 20': 0.37; 'received:209': 0.37; 'problems': 0.38; 'to:addr:python-list': 0.38; 'to:addr:python.org': 0.39; 'either': 0.39; 'skip:p 20': 0.39; 'skip:u 10': 0.60; 'manually': 0.60; 'full': 0.61; 'default': 0.69; 'ending': 0.78; './configure': 0.84; 'directories,': 0.84; 'info,': 0.91; 'migrating': 0.91 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :subject:content-type:content-transfer-encoding; bh=Vd3CqXLmC5XAuZB9WsvtLrSV4Jx0aRjcOajWIhl65Sk=; b=OsukcGA+vT0PpftApDKiSytG0V8M6H8X1B24sw+SwfEZAhAzuRe5HaNykZpytQJEdl kkDfxFdd4hQxDzVrbtQ+Db7X63ITkm6b/RugOc+vkweELaKRPQEQPerqn0DIOooNy4df 0XgLzg1G94Nm+2kvJexHqpvkBcd2vDXGKZ8SAybyK6wi0K81hgajExk/vKbjIHn+TSsV MkYB7wnwQT27GZD5jNmWP6z4/E72Hm27oUqk5HyNb8GowDbKah3wR8VDHc/DLOkdz/Gm hIvBwlibLHEMtLXta5trdLUBl4+lhRJqOXPV92sbOCHWGDPASkE/z6BSduMpBOMCpEfQ a+0A== X-Gm-Message-State: ALoCoQnMFgOqMmI0lZoZIkPNWSvh7O9aBi0ozFKkme4Kgd+UVDQXnjremXJxhnN544PCS86WlA/U X-Received: by 10.68.198.68 with SMTP id ja4mr26273390pbc.24.1390326915788; Tue, 21 Jan 2014 09:55:15 -0800 (PST) Date: Tue, 21 Jan 2014 09:55:13 -0800 From: Mark Heieis User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: python-list@python.org Subject: autoconf tools and python3 3m 3dm Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 64 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1390326925 news.xs4all.nl 2961 [2001:888:2000:d::a6]:40153 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:64430 Hi, I've been migrating a python2 package+extension to python3. The problem I'm running into is with ./configure and which version it picks up or doesn't in this case. The default is python2 and works just fine as expected. However, when ./configure PYTHON=python3 is run, the problems occur. "./configure" picks python3 correctly and propagates that through to all of the makefiles created. Good so far. It defines all of the appropriate libs and include with the '3.3' extension. The yum installed python3, however, is denoted by a suffix 'dm', yielding an extension of '3.3dm' (Fedora 20) Building and installing from source, python has a suffix 'm', so the extension is '3.3m; In ./configure, PYTHON_VERSION is set by "$PYTHON -c 'import sys; print(sys.version[:3])'" which reports "3.3". PYTHON_VERSION is then used as the suffix to find all of the appropriate python directories, libraries, site-packages and includes. The same result is had if python3.3m or python3.3dm is used. Unfortunately, this isn't enough, as the python site packages are installed with naming ending in 'm' or 'dm', resulting in all of the makefiles failing because they can't find the libraries, include files, or site packages. I've kludged a solution by manually creating soft links in the lib and include directories which almost solves the problem: for example in /usr/lib64: lrwxrwxrwx. 1 root root 19 2013-12-18 15:02 libpython2.7.so -> libpython2.7.so.1.0 -r-xr-xr-x. 1 root root 1800480 2013-11-12 08:47 libpython2.7.so.1.0 lrwxrwxrwx 1 root root 21 2014-01-20 16:11 libpython3.3dm.so -> libpython3.3dm.so.1.0 -rwxr-xr-x 1 root root 3057640 2013-11-07 02:03 libpython3.3dm.so.1.0 lrwxrwxrwx 1 root root 20 2014-01-20 16:11 libpython3.3m.so -> libpython3.3m.so.1.0 -rwxr-xr-x 1 root root 2498992 2013-11-07 02:03 libpython3.3m.so.1.0 lrwxrwxrwx 1 root root 20 2014-01-20 16:37 libpython3.3.so -> libpython3.3m.so.1.0 -rwxr-xr-x 1 root root 6704 2013-11-07 02:03 libpython3.so This approach doesn't feel right to me. I don't think pythonX.Y-config would work either as one would need to know in advance specifically which one to call and there'd be extra work to extract the full version info, etc. ("$python3-config --includes" yields -I/usr/include/python3.3m -I/usr/include/python3.3m) Has anyone else come up against this? If so, what was the solution? BTW - anyone know what the 'm' and 'dm' suffixes indicate? TIA.