Closed Bug 485956 Opened 16 years ago Closed 16 years ago

Set up python2.5 or 2.6 with MySQLdb extension on graphs-stage2

Categories

(mozilla.org Graveyard :: Server Operations: Projects, task)

x86
Linux
task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: catlee, Assigned: fox2mike)

Details

The regression detection code currently requires Python 2.5 or higher to run, as well at the MySQLdb extension.
Assignee: nobody → justdave
Component: Graph Server → Server Operations
Product: Webtools → mozilla.org
QA Contact: graph.server → mrz
Version: Trunk → other
I found RHEL5 srpms for Python 2.5.1 and 2.6 which install in an alternate location so they won't overwrite the built-in python (since it's used for almost everything by the core OS utilities) and tried to build them back on Friday. Unfortunately those are both outdated versions, and the newer upstream version was not a drop-in replacement in the srpm because of patch conflicts, so it got put on hold for the Firefox release.
Any updates for this? This is one of 2 remaining issues for switching over to the new codebase. Thanks!
Reed, can you pitch in here for justdave? Can you provide an ETA too (you can shift this ahead of other things you have)?
Assignee: justdave → reed
er, was going to say (before midairing with mrz) --- I haven't had a chance to mess with 2.6.1 yet, but I just installed 2.6 for you to get you started until I have time to mess with it. If you're missing any libraries or anything let me know. --- But in this case, it'll tide you over until Reed can mess with updating it for the current version. :)
Assignee: reed → justdave
Is this fixed then? You wanted 2.6 installed, Dave's comment in comment #4 says that's installed. Do you need 2.6.1?
Yes, this is fixed now. Thanks!
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
No, I want the security update applied. This is open to remind me that I still need to build it. It's no longer a high priority though because he has a working version to use for development in the mean time.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
What I'm doing on this machine will most likely be moved over to the machine from bug 492135 once it's ready.
Assignee: justdave → mrz
Assignee: mrz → shyam
Alright, I've built the following python-2.6.2 RPMs : python26-2.6.2-geekymedia1.rhel5.i386.rpm python26-debuginfo-2.6.2-geekymedia1.rhel5.i386.rpm python26-devel-2.6.2-geekymedia1.rhel5.i386.rpm python26-libs-2.6.2-geekymedia1.rhel5.i386.rpm python26-test-2.6.2-geekymedia1.rhel5.i386.rpm python26-tools-2.6.2-geekymedia1.rhel5.i386.rpm I'll hold on installing them to graphs-stage2 for now, till I'm sure what the standard procedure to push out RPMs is (mrepo or otherwise). Once it's verified and tested, I'll close the bug.
I've upgraded what Dave had originally installed (from 2.6 to 2.6.2). Please reopen in case you see any major issues after this. Python 2.6.2 (r262:71600, Jun 1 2009, 20:55:03) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Status: REOPENED → RESOLVED
Closed: 16 years ago16 years ago
Resolution: --- → FIXED
Thanks Shyam! There were two or three extensions I had to rebuild against python26 as well, the existing ones I had there still worked and didn't have to be rebuilt for 2.6.2 I take it? (mysqldb comes to mind, seems like there was another, too) The RPMs were just locally installed on that box, but we do need to get them into mrepo or similar before it goes on a production box.
(In reply to comment #11) > Thanks Shyam! There were two or three extensions I had to rebuild against > python26 as well, the existing ones I had there still worked and didn't have to > be rebuilt for 2.6.2 I take it? (mysqldb comes to mind, seems like there was > another, too) I think the only issue was with tkinter26-2.6-geekymedia1.rhel5.i386.rpm which I didn't rebuild (since it said it was a graphical editor of sorts) and forced the others through. No other dependency errors were reported. We might want to re-look at this and either a) remove the tkinter dep before we take it to prod b) Simply look at tkinter's src rpm and make it dep on 2.6.2 instead of 2.6 (I didn't think of this before) and rebuild. Thoughts?
I prefer rebuilding to fix the dependencies than trying to do a force-install. Any time we have to --no-deps on an install means we're going to break any automated installs later.
(In reply to comment #13) > I prefer rebuilding to fix the dependencies than trying to do a force-install. Point. I'll look at tkinter and update the bug.
Nothing special was needed, tkinter-2.6.2 was already built using the 2.6.2 spec file, just that I missed out copying over the rpm when doing the localinstall. I've gone ahead and fixed that.
Having problems with at least the datetime module: [catlee@bm-buildgraph01 analysis]$ python2.6 Python 2.6.2 (r262:71600, Jun 1 2009, 20:55:03) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import datetime Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: /usr/lib/python2.6/lib-dynload/datetimemodule.so: undefined symbol: _PyTime_DoubleToTimet
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Okay, funny way to fix that from this Japanese page (translated via google) : http://is.gd/Pb1a [root@bm-buildgraph01 ~]# export LD_PRELOAD=/usr/lib/python2.6/lib-dynload/timemodule.so [root@bm-buildgraph01 ~]# python26 Python 2.6.2 (r262:71600, Jun 1 2009, 20:55:03) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import datetime >>> I'll leave this open for now till we can figure out why this is happening. For now this solution should help you move along without being blocked.
Component: Server Operations → Server Operations: Projects
It appears that this workaround solves the datetime problem but creates a new problem in at least one other area when trying to spawn subprocesses: [root@khan ~]$ LD_PRELOAD=/usr/lib/python2.6/lib-dynload/timemodule.so python -c "import subprocess; subprocess.Popen(['/bin/ls'])" /bin/ls: symbol lookup error: /usr/lib/python2.6/lib-dynload/timemodule.so: undefined symbol: PyExc_ValueError
Mark: The problem is actually when you use ls, not subprocess, right? Exporting LD_PRELOAD and then hitting `ls` shows the "symbol lookup error". There's better ways to get files than `ls`: use os.path or path.py: http://pypi.python.org/pypi/path.py
No, it's not the fact that I used ls. It originally failed when I used /usr/bin/firefox. /bin/ls was just for sake of an example that didn't require any special programs to test it with.
I think I'm going to do what I did on khan here, bug 510051 for more details and just close this :) I'll do that tomorrow.
Trevor, this is fixed now?
python26-2.6.2-geekymedia1.1.rhel5.i386.rpm has the fix for the timemodule.so problem.
Trevor, Does it also fix the issue mentioned in comment #18? If that's the case, I think we can close this bug.
(In reply to comment #24) > Does it also fix the issue mentioned in comment #18? If that's the case, I > think we can close this bug. If datetime is fixed the work-around is unnecessary.
(In reply to comment #24) > Trevor, > > Does it also fix the issue mentioned in comment #18? If that's the case, I > think we can close this bug. The problem was subprocess inheriting LD_PRELOAD. ls attempts to dynamically link the timemodule.so library and discovers it doesn't have the required Python libraries loaded to do so. Without LD_PRELOAD, subprocess.Popen works as expected.
I think this can RIP now :) Thanks chizu!
Status: REOPENED → RESOLVED
Closed: 16 years ago16 years ago
Resolution: --- → FIXED
Product: mozilla.org → mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.