msg148681 - (view) |
Author: Ray (rpq) |
Date: 2011-11-30 20:07 |
For ./configure, --includedir and --libdir both cannot handle multiple packages.
e.g.
/configure --includedir=/home/user/.local/sqlite3-3.7.9/include --includedir=/home/user/.local/readline-6.2/include --libdir=/home/user/.local/sqlite3-3.7.9/lib --libdir=/home/user/.local/readline-6.2/lib
and
/configure --includedir="/home/user/.local/sqlite3-3.7.9/include /home/user/.local/readline-6.2/include" --libdir="/home/user/.local/sqlite3-3.7.9/lib /home/user/.local/readline-6.2/lib"
The only way I could get the desired functionality was to set CFLAGS and LDFLAGS:
export CFLAGS="-I/home/user/.local/readline-6.2/include/ -I/home/user/.local/sqlite3-3.7.9/include/" && export LDFLAGS="-L/home/user/.local/readline-6.2/lib/ -L/home/user/.local/sqlite3-3.7.9/lib/"
|
msg148683 - (view) |
Author: Ray (rpq) |
Date: 2011-11-30 20:24 |
I should mention, I had to modify setup.py in order for the export line in my original post to work on my linux machine.
|
msg148806 - (view) |
Author: Éric Araujo (eric.araujo) *  |
Date: 2011-12-03 14:59 |
> For ./configure, --includedir and --libdir both cannot handle multiple packages.
I see “packages” means “directories” here. Is it a standard configure feature to support multiple --includedir and --libdir? Does it work if you pass --includedir one:two instead? Links would be welcome.
|
msg148948 - (view) |
Author: Arfrever Frehtes Taifersar Arahesis (Arfrever) *  |
Date: 2011-12-07 02:01 |
You should request this new feature on autoconf@gnu.org or bug-autoconf@gnu.org mailing list.
|
msg149045 - (view) |
Author: Ray (rpq) |
Date: 2011-12-08 17:22 |
Compiling using the includedir/libdir flags with colon as separators for the multiple directories got me an error after performing 'make':
Makefile:782: *** target pattern contains no `%'. Stop.
Additionally, I would like to emphasize the fact that I could not find another way to specify multiple lib and include directories when compiling Python 2.7 on Linux using the current setup.py.
|
msg150003 - (view) |
Author: Éric Araujo (eric.araujo) *  |
Date: 2011-12-21 16:04 |
You haven’t answered my question: Is it a standard configure feature to support multiple --includedir and --libdir?
If it’s a standard feature used by people, then you can argue it’s a build bug for all active versions (2.7, 3.2, 3.3).
If it’s a request for something specific to CPython, then as a new feature it would go into 3.3 only.
|
msg150007 - (view) |
Author: Arfrever Frehtes Taifersar Arahesis (Arfrever) *  |
Date: 2011-12-21 16:15 |
Parsing of options is implemented inside autoconf. The feature would have to be implemented in autoconf and then 'configure' would have to be regenerated from 'configure.in' using new version of autoconf.
|
msg150178 - (view) |
Author: Ray (rpq) |
Date: 2011-12-23 16:12 |
Whether or not includedir and libdir are supposed to allow multiple packages is beyond me at this point so I'll change the topic to more reflect the problem I am having. More importantly (and possibly related to includedir and libdir) is the fact that python 2.7 does not allow specifying multiple lib and include directories in linux. Is there one way to do this that I overlooked? I included the bit about includedir, libdir, CFLAGS, and LDFLAGS in my original post to show what I tried.
Is it a standard for CFLAGS AND LDFLAGS to accept multiple directories? I would think so. With the current python 2.7 and linux, that simply does not work. But it does for darwin platforms?
From setup.py:
> if platform == 'darwin':
> # This should work on any unixy platform ;-)
> # If the user has bothered specifying additional -I and -L flags
> # in OPT and LDFLAGS we might as well use them here.
|
msg150464 - (view) |
Author: Éric Araujo (eric.araujo) *  |
Date: 2012-01-02 17:11 |
> Whether or not includedir and libdir are supposed to allow multiple packages is beyond me at this
> point so I'll change the topic to more reflect the problem I am having. More importantly (and
> possibly related to includedir and libdir) is the fact that python 2.7 does not allow specifying
> multiple lib and include directories in linux. Is there one way to do this that I overlooked? I
> included the bit about includedir, libdir, CFLAGS, and LDFLAGS in my original post to show what I
> tried.
At present I know less than you about these. Maybe Martin can chime in?
If it’s not possible to use multiple directories to configure Python, then it’s a limitation, and changing it would qualify as a new feature given our policy, and as such be inappropriate for 2.7.
|
msg150687 - (view) |
Author: Martin v. Löwis (loewis) *  |
Date: 2012-01-05 20:48 |
See http://www.gnu.org/software/autoconf/manual/autoconf.html
for a description of the includedir and libdir options:
— Variable: includedir
The directory for installing C header files.
— Variable: libdir
The directory for installing object code libraries.
So it just doesn't make sense to have multiple directories in these options, and you shouldn't be passing directories that that you want to be searched.
Closing this report as invalid.
|
msg150737 - (view) |
Author: Ray (rpq) |
Date: 2012-01-06 16:33 |
Martin, did you read my last post? Did you read the updated topic? libdir and includedir are *not* the issue.
So it makes sense to allow configuring multiple directories for python installation for darwin but not linux? Why?
|
msg150774 - (view) |
Author: Martin v. Löwis (loewis) *  |
Date: 2012-01-06 22:16 |
No, I only read the original message. I find it too tedious to read the entire set of messages just to find out what the issue may be. If an issue has sufficiently deviated from the original report, it is better closed, and a new issue is opened.
Even after scanning the messages, I still cannot figure out what the issue is. Your last message is particularly mysterious to me.
So if you think there still is an issue, please report a new one. Make sure to include reproducable test cases, and a clear statement of what you expected to happen (in addition to reporting what actually happened).
|
msg150788 - (view) |
Author: Ronald Oussoren (ronaldoussoren) *  |
Date: 2012-01-07 10:52 |
He's probably referring to this fragment in setup.py:
if platform == 'darwin':
# This should work on any unixy platform ;-)
# If the user has bothered specifying additional -I and -L flags
# in OPT and LDFLAGS we might as well use them here.
# NOTE: using shlex.split would technically be more correct, but
# also gives a bootstrap problem. Let's hope nobody uses directories
# with whitespace in the name to store libraries.
cflags, ldflags = sysconfig.get_config_vars(
'CFLAGS', 'LDFLAGS')
for item in cflags.split():
if item.startswith('-I'):
inc_dirs.append(item[2:])
for item in ldflags.split():
if item.startswith('-L'):
lib_dirs.append(item[2:])
The entire block was added when I worked on the Mac port with Jack Jansen. It ensures that additional include and lib directories specified through the 'OPT' and 'LDFLAGS' shell variables get added to the search path used by distutils.
As the comment says this should be safe all unity platforms, not just OSX. IIRC the platform test is there because we couldn't easily test on other platforms and didn't want to accidentally break stuff (this was before we had a good buildbot setup).
|
msg152886 - (view) |
Author: Éric Araujo (eric.araujo) *  |
Date: 2012-02-08 16:35 |
Ronald, is “unity platforms” a typo for “unixy platforms”? IOW, are you expressing a +1 to the feature request, despite Martin’s rejection (with which I agree)?
|
|
Date |
User |
Action |
Args |
2022-04-11 14:57:24 | admin | set | github: 57720 |
2012-02-08 16:35:32 | eric.araujo | set | messages:
+ msg152886 |
2012-01-07 10:52:34 | ronaldoussoren | set | messages:
+ msg150788 |
2012-01-06 22:16:18 | loewis | set | messages:
+ msg150774 |
2012-01-06 16:33:43 | rpq | set | messages:
+ msg150737 |
2012-01-05 20:48:21 | loewis | set | status: open -> closed resolution: not a bug messages:
+ msg150687
|
2012-01-02 17:11:25 | eric.araujo | set | nosy:
+ loewis
messages:
+ msg150464 versions:
- Python 2.7 |
2011-12-23 16:12:38 | rpq | set | title: Let ./configure accept multiple --includedir and --libdir options -> Specifying multiple lib and include directories on linux messages:
+ msg150178 versions:
+ Python 2.7 |
2011-12-21 16:15:44 | Arfrever | set | messages:
+ msg150007 |
2011-12-21 16:04:39 | eric.araujo | set | type: behavior -> enhancement title: ./configure --includedir, --libdir accept multiple -> Let ./configure accept multiple --includedir and --libdir options messages:
+ msg150003 versions:
- Python 2.7 |
2011-12-08 17:22:08 | rpq | set | messages:
+ msg149045 |
2011-12-07 02:01:01 | Arfrever | set | nosy:
+ Arfrever messages:
+ msg148948
|
2011-12-03 14:59:23 | eric.araujo | set | nosy:
+ eric.araujo messages:
+ msg148806
|
2011-11-30 20:24:09 | rpq | set | files:
+ setup.py.diff keywords:
+ patch messages:
+ msg148683
|
2011-11-30 20:07:40 | rpq | create | |