Issue771998
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 2003-07-16 00:28 by david_ascher, last changed 2022-04-10 16:09 by admin. This issue is now closed.
Files | ||||
---|---|---|---|---|
File name | Uploaded | Description | Edit | |
py23conf.patch | david_ascher, 2003-07-16 00:28 | Patch against Configure |
Messages (12) | |||
---|---|---|---|
msg44269 - (view) | Author: David Ascher (david_ascher) * | Date: 2003-07-16 00:28 | |
The attached patch fixes a problem whereby building with --enable-shared fails if the user already has an LD_LIBRARY_PATH setting. The absence of {}'s can cause a failure to interpolate the existing values. Tested on Solaris 2.6, but "should" work equally well on the other affected platforms (Linux, HP-UX and OSF). Patch from Jeff Hobbs. |
|||
msg44270 - (view) | Author: Jeremy Hylton (jhylton) | Date: 2003-07-18 17:44 | |
Logged In: YES user_id=31392 This sounds like probably the right thing to me, but I don't have any expertise. At the least, the patch needs to be made against configure.in. If we can resolve this in the next 30 minutes, I'm okay with it. If not, let's wait. |
|||
msg44271 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2003-07-19 00:43 | |
Logged In: YES user_id=21627 I fail to see the point of this patch. The curly braces should not have any effect, and indeed, I can't see any effect on Linux here. |
|||
msg44272 - (view) | Author: Barry A. Warsaw (barry) * | Date: 2003-07-22 15:06 | |
Logged In: YES user_id=12800 This is the last unresolved priority >= 7 issue for Python 2.3. Martin, David, can you guys make a final decision about this and either lower the priority or close the bug report? |
|||
msg44273 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2003-07-22 19:45 | |
Logged In: YES user_id=21627 I'm lowering the priority. --enable-shared is not release-critical in the first place, as you can always build Python without that. |
|||
msg44274 - (view) | Author: Jeffrey Hobbs (hobbs) | Date: 2003-07-23 23:05 | |
Logged In: YES user_id=72656 Unfortunate that the prio was lowered. The point is that this is not for Linux - you have to see beyond one unix platform. Without this patch, you cannot build with gcc installed in the standard /usr/local/ area. libstdc++ will not be found, as /usr/local/lib (where it gets default installed) is not on the standard lib search path. The issue is that configure is losing the user's LD_LIBRARY_PATH setting. This will likely not effect SunPro builders, as they won't need libstdc++. |
|||
msg44275 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2003-07-24 05:46 | |
Logged In: YES user_id=21627 This is all not true: a) "you cannot build with gcc installed in the standard /usr/local area". This is not true. This report is about --enable-shared. You can certainly install Python without --enable-shared. b) "libstdc++ will not be found". This is not true. There are many ways to find libstdc++, on Solaris, that don't involve setting LD_LIBRARY_PATH: 1. Use crle(1) 2. Edit the gcc specs file, to add -R/usrt/local/lib to all linker invocations. 3. Set LD_RUN_PATH 4. Configure with --without-cxx. Then libstdc++ won't be needed in the first place. 5. Configure with BASECFLAGS=-R/usr/local/lib Each of these approaches is better than setting LD_LIBRARY_PATH, since it won't require the Python users to set LD_LIBRARY_PATH later. c) I still fail to see the need for this patch. It is not only Linux that does not need it, it is also unnecessary on Solaris. I can only try Solaris 9, but on that system, LD_LIBRARY_PATH is copied into the Makefile even without the patch. I cannot believe that Solaris 2.6 is so broken. |
|||
msg44276 - (view) | Author: Jeffrey Hobbs (hobbs) | Date: 2003-07-24 17:09 | |
Logged In: YES user_id=72656 It is correct that this is for --enable-shared and use of C++ compiler (if it isn't needed, why is that on by default?). But not that all the other solutions require extra effort as well, and it is a simple and correct fix (it is a pedantic shell construct). Without --enable-shared (which should be default IMHO) you cannot embed python, which is needed in my case for Mozilla/pyxpcom. |
|||
msg44277 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2003-07-24 18:22 | |
Logged In: YES user_id=21627 I disagree that --enable-shared should be the default. It is difficult to maintain, as finding shared libraries is always a PITA (in particular on Solaris). Its only real use is for embedding, in even in the case of embedding, it is possible to avoid using shared libraries. According to the sh(1) man page of Solaris: # The braces are required only when parameter # is followed by a letter, digit, or underscore that is # not to be interpreted as part of its name. Since the variable name is not followed by a letter, digit, or underscore in this case, the braces are not needed. Can you please report precisely what the problem was that you mention in the first sentence of your report? What was the specific setting of LD_LIBRARY_PATH, and how did you find out there was a failure in interpolation? |
|||
msg44278 - (view) | Author: Jeffrey Hobbs (hobbs) | Date: 2003-07-24 18:42 | |
Logged In: YES user_id=72656 I have LD_LIBRARY_PATH set to /usr/local/lib in my env. g++ is the C++ compiler, and requires libstdc++ in /usr/local/lib. Running the unpatched configure gives me: RUNSHARED= LD_LIBRARY_PATH=/export/home/jeffh/src/Python-2.3c1: and patched gives me: RUNSHARED= LD_LIBRARY_PATH=/export/home/jeffh/src/Python- 2.3c1:/usr/local/lib Note that the only difference is that it actually substituted the LD_LIBRARY_PATH from my env correctly the second time. I know that this seems contrary to the docs, but when I encountered this, I knew exactly what to look for in configure, because I have seen this before on the odd platform sh not behaving right. David was looking over my shoulder watching all the changes, so he can vouch that I'm not crazy on this one. |
|||
msg44279 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2003-07-24 19:17 | |
Logged In: YES user_id=21627 I'll accept the patch for application after 2.3; for 2.3, it is too late. |
|||
msg44280 - (view) | Author: Martin v. Löwis (loewis) * | Date: 2003-08-09 09:08 | |
Logged In: YES user_id=21627 Committed as configure 1.418 configure.in 1.429 configure 1.416.4.1 configure.in 1.427.4.1 |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-10 16:09:58 | admin | set | github: 38856 |
2003-07-16 00:28:31 | david_ascher | create |