Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
Hi, This may be a stretch but I came across this blog while searching for a SW Packaging Engineer. Do you know anyone in the Boston, MA area who may be interested in this position? The company is a start up with a lot of funding and this is an opportunity to define the environment and grow with a promising company. Please4= forward to anyone you may know of... SW Packaging Engineer * Python developer * Red Hat Applications expert (Fedora 10) * They want a real Red Hat Linux expert * Custom Build Distribution * Custom RPM's * Some Linux Server administration duties * Virtualization experience a big plus Melissa Frechette Powers Account Manager Corsair Solutions, Inc. 2 New Pasture Rd Unit 1 Newburyport, MA 01950 978-465-0085 x 206 Phone 978-465-0068 Fax http://www.corsairsolutions.com http://www.corsairsolutions.com Please visit our NEW website: www.corsairsolutions.com http://www.corsairsolutions.com The documents included with this electronic mail transmission contain information from the staffing firm of Corsair Solutions, Inc which is confidential and/or privileged. This information is intended to be for the use of the addressee only. Note that any disclosure, printing, photocopying, distribution or use of the contents of this e-mailed information by persons other than the addressee or an agent of the addressee, is unauthorized and prohibited. If you have received this electronic mail in error, please notify us via electronic mail reply to the sender or by telephone (collect 877-626-7724) immediately. -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
John Nagle [EMAIL PROTECTED] writes: [EMAIL PROTECTED] wrote: The distutils setup.py script checks for ncurses bits No, it just plows on after compiler errors. As another person pointed out, you're conflating Python proper with a specific Linux distribution's packaging techniques. Exactly. As I've pointed out before, Python doesn't play well with others. The Python developers pass the buck to the Linux packager, the Linux packager passes the buck to the Python developers, and thus the user experience sucks. I must say in my personal experience this is rather common with, well, software ;-) Traditionally, in the open source world, one does something about it, or shuts up after having made one's point, say, ten or twenty times wink Debian seems to have struggled through this problem, but Red Hat apparently just decided to give up keeping up with Python versions. Red Hat has traditionally been painful with Python. People say this is because of their own use of Python scripts, though I don't really understand why that's caused all the problems they seem to have had. From what you say I take it that's still the case... I always used to just build my own Python and found the pain reduced in my particular case (still do that, on Ubuntu). But I typically find that true with anything serious -- compiling my own has often ended up less painful in the long run, though apparently other people's MMV. Also there's the traditional open source problem (this one by no means restricted to Python, or even to open-source OSes -- I suffered this on Solaris recently) of distros splitting software up and generally knowing better than the maintainer. I can understand there are sometimes good security and integration reasons for this, but they seem to get overzealous. Recently, there's been some Python-specific trouble of the knowing better kind with setuptools (popular distutils extension) on various Linux systems, but that seems to have quietened down now... And there's always some degree of pain from distutils, which is unmaintained and not terribly flexible (though still very useful). John -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
John Nagle [EMAIL PROTECTED] writes: [...] Perl, PHP, C, C++, and Java don't have this particular problem. Python stands alone, out in the cold. [...] I guess different people's experiences differ. I remember trying to install Java on a FreeBSD server a few years back. I recall no single software installation that has caused me anywhere near such pain as that one :-) Of course, FreeBSD is a minority thing compared with RedHat. John -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
John Nagle [EMAIL PROTECTED] writes: [...] This kind of nonsense is why hosting companies don't want to support Python. snigger There seems a more obvious reason... Perl and PHP may be dumb, but they just work. Java has a company behind it. Python just isn't ready. Which is embarassing, ten years on. [...] I recall similar pain with Perl. The one Perl list I still frequent has regular postings about these kinds of problems (which are rarely answered -- perhaps the maintainers have moved on). My occasional Java experiences have been *far*, *far* worse in this respect that what I've seen with either Perl or Python. Does that tell you much? Not really, and neither do your experiences. John -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
John J. Lee wrote: John Nagle [EMAIL PROTECTED] writes: [EMAIL PROTECTED] wrote: The distutils setup.py script checks for ncurses bits No, it just plows on after compiler errors. Red Hat has traditionally been painful with Python. ... Also there's the traditional open source problem (this one by no means restricted to Python, or even to open-source OSes -- I suffered this on Solaris recently) of distros splitting software up and generally knowing better than the maintainer. Hit that with OpenSSL. Red Hat took elliptical curve cryptography out of Fedora 6 for patent reasons. With that missing, M2Crypto won't build. It ought to; the implementor of M2Crypto thought of that, because it's an optional feature. But M2Crypto uses SWIG. SWIG doesn't normally process nested include files. OpenSSL had changed their configuration approach to use nested include files. So SWIG didn't see the #define that said to turn off elliptical curve crypto support. This resulted in compile errors in the 24,000 lines of code that come out of SWIG. Three days of work to figure that out. John Nagle -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
John J. Lee wrote: John Nagle [EMAIL PROTECTED] writes: [EMAIL PROTECTED] wrote: Traditionally, in the open source world, one does something about it, or shuts up after having made one's point, say, ten or twenty times In retail, there's an assumption that for every customer who complains about a real problem, about a hundred customers noticed it and didn't complain, and about twenty of them will never come back. There's a great little book, A Complaint is a Gift, about this. John Nagle -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
John Nagle [EMAIL PROTECTED] writes: John J. Lee wrote: John Nagle [EMAIL PROTECTED] writes: [EMAIL PROTECTED] wrote: Traditionally, in the open source world, one does something about it, or shuts up after having made one's point, say, ten or twenty times In retail, there's an assumption that for every customer who complains about a real problem, about a hundred customers noticed it and didn't complain, and about twenty of them will never come back. ...and, in the gift economy of open source, it's for the giver to recognise that, and the receiver to stop whingeing about it. John -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
[snip] So what's going on? We've run into a conflict between an assumption of Python and of the Plesk control panel. Plesk doesn't let the user create files in their own home directory. This installer assumes it can. Oops. (Plesk sets up a very locked down environment, which is a good thing on a web server.) The installer used the options you gave it, or its defaults in their absence. Now it turns out that we have Python 2.4 in /usr/bin, and Python 2.5 in /usr/local/bin. That's where the installer put it. So the CGI scripts are invoking the wrong version of Python. The scripts had to be changed. You could have fixed this with ./configure --prefix=/usr/local This kind of nonsense is why hosting companies don't want to support Python. Perl and PHP may be dumb, but they just work. Java has a company behind it. Python just isn't ready. Which is embarassing, ten years on. Let's see... You're trying to install a package without using the package management tools provided by your system, you haven't read the docs (or at least all of them), you show a general lack of understanding of the different responsibilities in the free/open source software space (development vs. packaging)... and after all that, then you come here and complain? Look, I'm sure lots of folks here would be glad to help you, but your post comes across as whiny and confrontational. I'm sure you've had a frustrating experience, but please, don't blame python or the python developers, because that blame would be misplaced. -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
http://www.serpentine.com/blog/2006/12/22/how-to-build-safe-clean-python-25-rpms-for-fedora-core-6/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
Troy Melhase [EMAIL PROTECTED] writes: You're trying to install a package without using the package management tools provided by your system, you haven't read the docs (or at least all of them), you show a general lack of understanding of the different responsibilities in the free/open source software space (development vs. packaging)... and after all that, then you come here and complain? Just to throw more on the fire: there are distributions that come with Python 2.5 packaged and working. ;-) Look, I'm sure lots of folks here would be glad to help you, but your post comes across as whiny and confrontational. I'm sure you've had a frustrating experience, but please, don't blame python or the python developers, because that blame would be misplaced. Anyway, if following the install after an error is true then some developer should take a look at it. -- Jorge Godoy [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
Patrick Useldinger wrote: http://www.serpentine.com/blog/2006/12/22/how-to-build-safe-clean-python-25-rpms-for-fedora-core-6/ I've read that. It's very funny. Now you’ll need to go into the SOURCES directory and frob a single file... It does have something very useful in it - Python's 2.5's dependency list: sudo yum install autoconf bzip2-devel db4-devel \ expat-devel findutils gcc-c++ gdbm-devel glibc-devel gmp-devel \ libGL-devel libX11-devel libtermcap-devel ncurses-devel \ openssl-devel pkgconfig readline-devel sqlite-devel tar \ tix-devel tk-devel zlib-devel If a Python build needs all that, something in ./configure should be checking for each of those. After all, that's what ./configure is supposed to be for. It looks like a Python install will plow ahead without ncurses-devel, and install a dud version. (Why is make install doing compiles, anyway? It should just be copying. make is supposed to do all the compiles.) This, though, illustrates exactly what I was talking about - there is no off the shelf way to install Python 2.5 on Fedora Core 6. Others have worked through this and documented their pain and how to do it manually, but that's not the same as fixing the packaging problem. Debian tries to deal with this problem. See http://www.debian.org/doc/packaging-manuals/python-policy/index.html But Fedora Core does not. Perl, PHP, C, C++, and Java don't have this particular problem. Python stands alone, out in the cold. John Nagle -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
John If a Python build needs all that, something in ./configure should John be checking for each of those. After all, that's what ./configure John is supposed to be for. It looks like a Python install will plow John ahead without ncurses-devel, and install a dud version. As another person pointed out, you're conflating Python proper with a specific Linux distribution's packaging techniques. I run on a Mac and use MacPorts. There is no ncurses-devel package there, just ncurses and ncursesw. Building a Python interpreter doesn't require ncurses. It's an add-on module which happens to be distributed with Python. The distutils setup.py script checks for ncurses bits and indeed plows ahead if it's not found. Not all systems (Windows, in particular) have ncurses. Skip -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
[EMAIL PROTECTED] wrote: The distutils setup.py script checks for ncurses bits No, it just plows on after compiler errors. As another person pointed out, you're conflating Python proper with a specific Linux distribution's packaging techniques. Exactly. As I've pointed out before, Python doesn't play well with others. The Python developers pass the buck to the Linux packager, the Linux packager passes the buck to the Python developers, and thus the user experience sucks. Debian seems to have struggled through this problem, but Red Hat apparently just decided to give up keeping up with Python versions. John Nagle -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
On Mar 4, 12:03 pm, John Nagle [EMAIL PROTECTED] wrote: Exactly. As I've pointed out before, Python doesn't play well with others. The Python developers pass the buck to the Linux packager, the Linux packager passes the buck to the Python developers, and thus the user experience sucks. The configure script checks for libraries and headers that are required for a base build, and (according to the options passed to configure, or using the defaults) optional components. There is NO WAY for it to know which PACKAGES, on any of the 500 linux distributions, provide those libs and headers. That is the job of the PACKAGER, or (gasp) the end user if you use a distro without a package system or trying to build from raw source. There is no passing the buck. If a package is broken, the packager must fix it. If the source is broken, the developer must fix it. Debian seems to have struggled through this problem, but Red Hat apparently just decided to give up keeping up with Python versions. Anybody can make packages, not just the distro maintainers. Why not search for them? http://rpmseek.com/rpm-pl/python.html?hl=comcs=python%3APN%3A0%3A0%3A0%3A0%3A0qArStr=0qRtStr=1qDnStr=82 -- http://mail.python.org/mailman/listinfo/python-list
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
John Nagle wrote: I've been installing Python and its supporting packages on a dedicated server with Fedora Core 6 for about a day now. This is a standard dedicated rackmount server in a colocation facility, controlled via Plesk control panel, and turned over to me with Fedora Core 6 in an empty state. This is the standard way you get a server in a colo today. You have my commiserations, and I don't mean that to be a flippant remark. Bringing Python up in this completely clean environment is a huge hassle, and it doesn't really work. Once upon a time, I used to manage an entire Python environment with lots of modules, additional libraries, and so on. I don't have the patience for that any more. Fedora Core 6 ships with Python 2.4, which appears to be a good decision on someone's part. Of course, there's no standard RPM for a Python 2.5 install on Linux. Packaging is someone else's problem, according to the Python developers. I managed to find a site which gives some kind of searchable index of packages: http://www.fedoratracker.org/ It's a bit like the Debian and Ubuntu package sites but seemingly unofficial and a lot slower. Once upon a time there were some contributed RPMs available from python.org, but I don't know what happened to them. [FTP server, GCC, configuration] But make install does some compiles, something install probably shouldn't be doing. If the original build process didn't manage to compile everything, make will revisit that part of the process. What should really happen is that make should halt and not try and do anything else. An aside on the subject of installing - something you may be aware of, but worth repeating for others who have read this far. I guess that make altinstall isn't necessary if you *don't* do something like this when configuring: ./configure --prefix=/usr The issue here is that if Fedora (or other distributions) has things relying on /usr/bin/python, you have to make sure that you don't overwrite it when installing. If you've been thinking that the new version of Python should live alongside the others, you have to use make altinstall to preserve the existing python program (the python2.4 will survive, anyway) whilst installing python2.5 alongside it. Typically, the configure script behaves as if this were typed: ./configure --prefix=/usr/local Thus, a make install will create /usr/local/bin/python and /usr/ local/bin/python2.5, hopefully not overwriting other things. Some of these compiles fail, with error messages like /var/www/vhosts/sitetruth.com/private/downloads/python/Python-2.5/Modules/_curses_panel.c:271: error: PyCursesPanelObject has no member named pan This should stop the process, but as you note... But the install script plunges blindly on, presumably installing a broken Python 2.5. Apparently Fedora Core 6 doesn't come with curses preinstalled, but the Python installer assumes it is there. What's inexcusable is just plowing on after failed compiles, resulting in a broken install. This might require a bug report. It's probably necessary to install something before building Python, but the README file is silent on this. OK. Plunging onward, and not really needing the curses library, we try to install MySQLdb. We get that with FTP, unpack it, go to the approprate directory, and run python setup.py. This fails because the MySQL headers aren't installed: _mysql.c:35:23: error: my_config.h: No such file or directory OK, looks like we need to install mysql-devel, so we do that, using yum. This forces an update of OpenSSL, Kerberos, and e2fsprogs-dev. Which means we should reboot at some point. Perhaps the system wasn't up-to-date anyway. But now we can build MySQLdb. So we build and install it. So then we try import MySQLdb in Python 2.5. And we get this: /usr/local/lib/python2.5/site-packages/MySQL_python-1.2.2-py2.5-linux-i686.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /usr/local/lib/python2.5/site-packages/MySQL_python-1.2.2-py2.5-linux-i686.egg/_mysql.pyc, but /var/www/vhosts/sitetruth.com/private/downloads/MySQLdb/MySQL-python-1.2.2 is being added to sys.path import sys, pkg_resources, imp Traceback (most recent call last): File stdin, line 1, in module File MySQLdb/__init__.py, line 19, in module import _mysql File build/bdist.linux-i686/egg/_mysql.py, line 7, in module File build/bdist.linux-i686/egg/_mysql.py, line 4, in __bootstrap__ File /usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.py, line 800, in resource_filename File /usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.py, line 1228, in get_resource_filename File /usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.py, line 1250, in _extract_resource File
Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again
MonkeeSage wrote: The configure script checks for libraries and headers that are required for a base build, and (according to the options passed to configure, or using the defaults) optional components. There is NO WAY for it to know which PACKAGES, on any of the 500 linux distributions, provide those libs and headers. True, but it would be nice to be able to do a configure --with-some- library[=path] and have it give an error if that library isn't found. A lot of tests for specific libraries and headers exist in the autoconf universe, and it's also possible to write custom tests. Of course, this may be academic since distutils has apparently taken over a lot of the work concerning optional modules. That is the job of the PACKAGER, or (gasp) the end user if you use a distro without a package system or trying to build from raw source. There is no passing the buck. If a package is broken, the packager must fix it. If the source is broken, the developer must fix it. I guess if you're building from source, you're the packager, yes. These days when I can't find up-to-date packages for my aging distribution, I actually seek out such packages for newer distributions and backport them, mostly because the dependencies have been worked out by someone else. In such circumstances, I'm the packager but I'm using a package infrastructure, as opposed to having to do a lot of the hard work myself. Paul -- http://mail.python.org/mailman/listinfo/python-list
Python 2.5 incompatible with Fedora Core 6 - packaging problems again
I've been installing Python and its supporting packages on a dedicated server with Fedora Core 6 for about a day now. This is a standard dedicated rackmount server in a colocation facility, controlled via Plesk control panel, and turned over to me with Fedora Core 6 in an empty state. This is the standard way you get a server in a colo today. Bringing Python up in this completely clean environment is a huge hassle, and it doesn't really work. Fedora Core 6 ships with Python 2.4, which appears to be a good decision on someone's part. Of course, there's no standard RPM for a Python 2.5 install on Linux. Packaging is someone else's problem, according to the Python developers. So it's necessary to build from source. And the python.org FTP server is down, so even getting the source onto a remote server is a pain. So I have to download it on another machine and bring it over with FTP. Trying to install Python 2.5 yields at least the following problems: Fedora Core 6 comes with GCC 4.1.1, but the README file with Python 2.5 says this: GCC 4.1, GCC 4.2: There is a known incompatibility between Python and GCC, where GCC 4.1 and later uses an interpretation of C different to earlier GCC releases in an area where the C specification has undefined behaviour (namely, integer arithmetic involving -sys.maxint-1). As a consequence, compiling Python with GCC 4.1/4.2 is not recommended. It is likely that this problem will be resolved in future Python releases. As a work-around, it seems that adding -fwrapv to the compiler options restores the earlier GCC behaviour. OK, given that, presumably ./configure takes care of that problem, right? Anybody know for sure? make runs fine after ./configure. But make install does some compiles, something install probably shouldn't be doing. Some of these compiles fail, with error messages like /var/www/vhosts/sitetruth.com/private/downloads/python/Python-2.5/Modules/_curses_panel.c:271: error: PyCursesPanelObject has no member named pan But the install script plunges blindly on, presumably installing a broken Python 2.5. Apparently Fedora Core 6 doesn't come with curses preinstalled, but the Python installer assumes it is there. What's inexcusable is just plowing on after failed compiles, resulting in a broken install. It's probably necessary to install something before building Python, but the README file is silent on this. OK. Plunging onward, and not really needing the curses library, we try to install MySQLdb. We get that with FTP, unpack it, go to the approprate directory, and run python setup.py. This fails because the MySQL headers aren't installed: _mysql.c:35:23: error: my_config.h: No such file or directory OK, looks like we need to install mysql-devel, so we do that, using yum. This forces an update of OpenSSL, Kerberos, and e2fsprogs-dev. Which means we should reboot at some point. But now we can build MySQLdb. So we build and install it. So then we try import MySQLdb in Python 2.5. And we get this: /usr/local/lib/python2.5/site-packages/MySQL_python-1.2.2-py2.5-linux-i686.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /usr/local/lib/python2.5/site-packages/MySQL_python-1.2.2-py2.5-linux-i686.egg/_mysql.pyc, but /var/www/vhosts/sitetruth.com/private/downloads/MySQLdb/MySQL-python-1.2.2 is being added to sys.path import sys, pkg_resources, imp Traceback (most recent call last): File stdin, line 1, in module File MySQLdb/__init__.py, line 19, in module import _mysql File build/bdist.linux-i686/egg/_mysql.py, line 7, in module File build/bdist.linux-i686/egg/_mysql.py, line 4, in __bootstrap__ File /usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.py, line 800, in resource_filename File /usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.py, line 1228, in get_resource_filename File /usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.py, line 1250, in _extract_resource File /usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.py, line 880, in get_cache_path File /usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.py, line 846, in extraction_error pkg_resources.ExtractionError: Can't extract file(s) to egg cache The following error occurred while trying to extract file(s) to the Python egg cache: [Errno 13] Permission denied: '/var/www/vhosts/sitetruth.com/.python-eggs' The Python egg cache directory is currently set to: /var/www/vhosts/sitetruth.com/.python-eggs Perhaps your account does not have write access to this directory? You can change the cache directory by setting the PYTHON_EGG_CACHE environment variable to point to an accessible directory. So what's going on?