Python 2.5 incompatible with Fedora Core 6 - packaging problems again

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • John Nagle

    #1

    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: "PyCursesPanelO bject" 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.p y", line 800, in resource_filena me
    File "/usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.p y", line 1228, in get_resource_fi lename
    File "/usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.p y", line 1250, in _extract_resour ce
    File "/usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.p y", line 880, in get_cache_path
    File "/usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.p y", line 846, in extraction_erro r
    pkg_resources.E xtractionError: 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_CACH E environment
    variable to point to an accessible directory.
    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.)

    So, becoming the super-user, we create .python-eggs and change its ownership.
    Now we can import MySQLdb into Python.

    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.

    At last, MySQLdb is connecting to MySQL properly. However, the SSL module
    seems to be broken. Tomorrow I'll deal with that, and try to get
    M2Crypto installed, always a tough job.

    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.

    If the Python crowd wants market share, attention, and a career path,
    this has to be fixed.

    John Nagle
  • Troy Melhase

    #2
    Re: Python 2.5 incompatible with Fedora Core 6 - packaging problemsagain

    [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 responsibilitie s 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.

    Comment

    • Patrick Useldinger

      #3
      Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again

      Since FC6 ships with Python 2.4, you’re a bit stuck if you want to play with the new features of Python 2.5. Here’s a quick and easy way to build and install a cleanly-packaged version of Python 2.5 for FC6. First, you must ensure that you have a sufficient development environment available. Fortunately, you can do this in one step. Note: this is the only command you’ll need to run with root privileges until the time comes for you to install the Python RPM that you’ve built.

      Comment

      • Jorge Godoy

        #4
        Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again

        "Troy Melhase" <troy.melhase@g mail.comwrites:
        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 responsibilitie s 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 <jgodoy@gmail.c om>

        Comment

        • John Nagle

          #5
          Re: Python 2.5 incompatible with Fedora Core 6 - packaging problemsagain

          Patrick Useldinger wrote: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



          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

          Comment

          • skip@pobox.com

            #6
            Re: Python 2.5 incompatible with Fedora Core 6 - packaging problemsagain


            JohnIf a Python build needs all that, something in ./configure should
            Johnbe checking for each of those. After all, that's what ./configure
            Johnis supposed to be for. It looks like a Python install will plow
            Johnahead 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

            Comment

            • John Nagle

              #7
              Re: Python 2.5 incompatible with Fedora Core 6 - packaging problemsagain

              skip@pobox.com 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

              Comment

              • MonkeeSage

                #8
                Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again

                On Mar 4, 12:03 pm, John Nagle <n...@animats.c omwrote:
                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?



                Comment

                • Paul Boddie

                  #9
                  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:



                  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: "PyCursesPanelO bject" 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.p y", line 800, in resource_filena me
                  File "/usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.p y", line 1228, in get_resource_fi lename
                  File "/usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.p y", line 1250, in _extract_resour ce
                  File "/usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.p y", line 880, in get_cache_path
                  File "/usr/local/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg/pkg_resources.p y", line 846, in extraction_erro r
                  pkg_resources.E xtractionError: 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_CACH E environment
                  variable to point to an accessible directory.
                  >
                  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.)
                  This is probably a setuptools/easy_install FAQ. I only know this from
                  lurking on various mailing lists because I don't use setuptools/
                  easy_install.
                  So, becoming the super-user, we create .python-eggs and change its ownership.
                  Now we can import MySQLdb into Python.
                  >
                  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.
                  That's possibly an environment issue, depending on what the first line
                  of the scripts are.
                  At last, MySQLdb is connecting to MySQL properly. However, the SSL module
                  seems to be broken. Tomorrow I'll deal with that, and try to get
                  M2Crypto installed, always a tough job.
                  >
                  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.
                  Do hosting companies support multiple versions of Perl or PHP in the
                  same environment? This isn't a provocative question, but I'd be
                  interested to know what they do.
                  If the Python crowd wants market share, attention, and a career path,
                  this has to be fixed.
                  Generally, if I were installing into a hosting environment - something
                  I may consider doing in the relatively near future - I'd firstly
                  choose a distribution I like working with (Debian-based, not Fedora)
                  and use the system packaging tools to their maximum extent. I'd even
                  create my own packages and repositories if necessary; I've done this
                  already for my own system. Managing dependencies, especially when you
                  get into dealing with lots of libraries from outside the Python
                  ecosystem, is a demanding task which can be sufficiently lightened if
                  you can make use of other people's packaging work.

                  Really, the "Python crowd" needs to involve the distribution makers
                  more, rather than (from time to time) calling them names, since most
                  installed versions of Python on non-Windows platforms are distributed
                  by those people to users, not obtained by users from python.org. One
                  exception may involve early adopters and the very latest Python
                  versions, however.

                  Paul

                  Comment

                  • Paul Boddie

                    #10
                    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

                    Comment

                    • John J. Lee

                      #11
                      Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again

                      John Nagle <nagle@animats. comwrites:
                      skip@pobox.com 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

                      Comment

                      • John J. Lee

                        #12
                        Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again

                        John Nagle <nagle@animats. comwrites:
                        [...]
                        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

                        Comment

                        • John J. Lee

                          #13
                          Re: Python 2.5 incompatible with Fedora Core 6 - packaging problems again

                          John Nagle <nagle@animats. comwrites:
                          [...]
                          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

                          Comment

                          • John Nagle

                            #14
                            Re: Python 2.5 incompatible with Fedora Core 6 - packaging problemsagain

                            John J. Lee wrote:
                            John Nagle <nagle@animats. comwrites:
                            >
                            >
                            >>skip@pobox.co m 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

                            Comment

                            • John Nagle

                              #15
                              Re: Python 2.5 incompatible with Fedora Core 6 - packaging problemsagain

                              John J. Lee wrote:
                              John Nagle <nagle@animats. comwrites:
                              >
                              >
                              >>skip@pobox.co m 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

                              Comment

                              Working...