This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2017年10月06日 05:14 by pmpp, last changed 2022年04月11日 14:58 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| build.log | rbelio, 2018年08月02日 13:51 | |||
| config.log | rbelio, 2018年08月02日 14:49 | |||
| Messages (12) | |||
|---|---|---|---|
| msg303799 - (view) | Author: pmp-p (pmpp) * | Date: 2017年10月06日 05:14 | |
--with-system-ffi is mandatory for linux build but no way is provided ( eg --with-ffi-includes= --with-ffi-libs= ) so setup.py can detect libffi already built in $PREFIX and $EPREFIX/lib. even if cflags/ldflags are ok , _ctypes build will be skipped with reason: INFO: Could not locate ffi libs and/or headers test condition: crystax-ndk toward android-19 on ubuntu xenial 32 bits |
|||
| msg303801 - (view) | Author: (yan12125) * | Date: 2017年10月06日 06:04 | |
> even if cflags/ldflags are ok Might be this. setup.py doesn't use -I flags in $CFLAGS. It looks into $CPPFLAGS only. |
|||
| msg322948 - (view) | Author: Roy Belio (rbelio) | Date: 2018年08月02日 12:49 | |
Also happens on suse 11 x86_64 with python 3.7 Same issue exactly building locally (but with cross compiling flag for system independency) Building our own libffi 3.2.1 and adding it in the CPPFLAGS includes. |
|||
| msg322952 - (view) | Author: (yan12125) * | Date: 2018年08月02日 13:19 | |
Hi Roy, mind sharing the complete build log? Either attaching the log to this issue or pasting a link is fine. |
|||
| msg322955 - (view) | Author: Roy Belio (rbelio) | Date: 2018年08月02日 13:51 | |
Sure, I'll attach it. one more thing to mention is that during configure it printed: configure: WARNING: --with(out)-system-ffi is ignored on this platform We are also providing all the dependency libraries ourselves (building, linking, h files and what not) so that should tkae into consideration. on Suse 11 x86 build is working fine. and we are using gcc 4.3.4 configure arguments passed: --prefix=/root/rc3/dist --enable-shared --enable-ipv6 --with-dbmliborder=gdbm --with-gcc --with-system-ffi --with-openssl=/root/rc3/dist |
|||
| msg322961 - (view) | Author: (yan12125) * | Date: 2018年08月02日 14:35 | |
A possible case might be that pkg-config on your build machine is not properly configured. Could you check the value of LIBFFI_INCLUDEDIR in config.log? It shuold either be an empty string or /root/rc3/dist/lib/libffi-3.2.1/include. As a reference, the following command is used to compute LIBFFI_INCLUDEDIR: https://github.com/python/cpython/blob/v3.7.0/configure.ac#L2936 |
|||
| msg322965 - (view) | Author: Roy Belio (rbelio) | Date: 2018年08月02日 14:49 | |
as seen in the config.log: LIBFFI_INCLUDEDIR='/root/rc3/dist/lib/libffi-3.2.1/include' I'm attaching the config.log just in case |
|||
| msg322967 - (view) | Author: (yan12125) * | Date: 2018年08月02日 15:08 | |
Thanks for providing the info. However, I'm sorry as the case is beyond my knowledge. Here's the relevant section in CPython that handles LIBFFI path searching: https://github.com/python/cpython/blob/v3.7.0/setup.py#L1984-L2002. You may want to examine variables there to see if there's something unusual. |
|||
| msg323425 - (view) | Author: Matt Pruitt (mhpruitt) | Date: 2018年08月11日 23:10 | |
Also ran into this issue while building Python in an isolated environment. Realized that libffi is installing into the $EPREFIX/lib64 directory of our build environment. Despite pkg-config returning the correct directory for linking libffi, it took explicitly setting LDFLAGS to the correct lib64 directory in my build process for the Python build to succeed. I noticed from your build.log that you don't explicitly add your lib64 to your LDFLAGS. Perhaps give that a shot? |
|||
| msg333383 - (view) | Author: Ivan Levchenko (Ivan Levchenko) | Date: 2019年01月10日 14:31 | |
Was having the same issue compiling python 3.7.1 against locally compilied libffi 3.2.1. Setting CPPFLAGS and LDFLAGS was not enough and was still getting the same error: INFO: Could not locate ffi libs and/or headers Everything worked as soon as i added PKG_CONFIG_PATH to point to the location of the directory that had libffi.pc For me that was /foo/bar/distrib/libffi-3.2.1/x86_64-unknown-linux-gnu Can test if it works with this: pkg-config libffi --cflags-only-I |
|||
| msg348109 - (view) | Author: Paul Hege (Paul Hege) | Date: 2019年07月18日 10:26 | |
I had also received the same warnings when running make: "INFO: Could not locate ffi libs and/or headers" and "Failed to build these modules: _ctypes". Although Python could still be installed, the pip command was not installed, and installing it using get_pip.py just led to an error indicating that the module "_ctypes" was not found. I can confirm that setting CPPFLAGS and LDFLAGS as well as PKG_CONFIG_PATH, as suggested my Mr. Levchenko, allowed me to build and install python 3.7.1 locally without root privileges with ctypes and pip included and working, using a libffi also compiled from source. |
|||
| msg368414 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2020年05月08日 03:21 | |
Thanks for the report and for the analysis. There have been a number of reports over the years about problems trying to build and/or execute Pythons with an external copy of libffi. They have become more pressing now that we no longer vendor the source of libffi in Python source releases. To help focus on the issues, we are consolidated the discussion in Issue14527, one of the earliest opened issues. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:58:53 | admin | set | github: 75891 |
| 2020年05月08日 03:21:22 | ned.deily | set | status: open -> closed superseder: How to link with a non-system libffi? nosy: + ned.deily messages: + msg368414 resolution: duplicate stage: resolved |
| 2019年07月18日 10:26:14 | Paul Hege | set | nosy:
+ Paul Hege messages: + msg348109 |
| 2019年01月28日 03:43:38 | yan12125 | set | nosy:
- yan12125 |
| 2019年01月10日 14:31:24 | Ivan Levchenko | set | nosy:
+ Ivan Levchenko messages: + msg333383 |
| 2018年08月11日 23:10:28 | mhpruitt | set | nosy:
+ mhpruitt messages: + msg323425 |
| 2018年08月02日 15:08:05 | yan12125 | set | messages: + msg322967 |
| 2018年08月02日 14:49:24 | rbelio | set | files:
+ config.log messages: + msg322965 |
| 2018年08月02日 14:35:40 | yan12125 | set | messages: + msg322961 |
| 2018年08月02日 13:51:46 | rbelio | set | files:
+ build.log messages: + msg322955 |
| 2018年08月02日 13:28:47 | ppperry | set | title: setup.py: _ctypes won't getbuilt when system ffi is only in $PREFIX -> setup.py: _ctypes won't get built when system ffi is only in $PREFIX |
| 2018年08月02日 13:19:23 | yan12125 | set | messages:
+ msg322952 components: + Build |
| 2018年08月02日 12:49:52 | rbelio | set | nosy:
+ rbelio messages: + msg322948 |
| 2017年10月06日 06:04:49 | yan12125 | set | messages: + msg303801 |
| 2017年10月06日 05:37:21 | zach.ware | set | nosy:
+ doko, zach.ware, yan12125 |
| 2017年10月06日 05:14:44 | pmpp | create | |