1

I had a 64 bit ubuntu 10.04 system.I messed up with ubuntu-desktop,which was refusing me to login. So i have installed ubuntu 12.04 32 bit system through ISO image in a DVD, keeping the same username.While installing, I have re-used the partitions of earlier system and chose same username as well to keep the data in /home intact.

I have installed mercurial through sudo apt-get on ubuntu 12.04.But when i am running it i am receiving this stack trace. I am sure mercurial is trying to access earlier 64 bit system.Because, i found that in /usr/local/lib/ there are two python installations - 2.6 and 2.7.

Help needed in fixing this.

Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 66, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 95, in _demandimport
    return _import(name, globals, locals, fromlist, level)
  File "/usr/lib/python2.7/dist-packages/apport/__init__.py", line 1, in <module>
    from apport.report import Report
  File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 114, in _demandimport
    mod = _origimport(name, globals, locals)
  File "/usr/lib/python2.7/dist-packages/apport/report.py", line 155, in <module>
    class Report(problem_report.ProblemReport):
  File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 86, in __getattribute__
    self._load()
  File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 58, in _load
    mod = _origimport(head, globals, locals)
  File "/usr/lib/python2.7/dist-packages/problem_report.py", line 93, in <module>
    class ProblemReport(UserDict):
TypeError: Error when calling the metaclass bases
    module.__init__() takes at most 2 arguments (3 given)

Original exception was:
Traceback (most recent call last):
  File "/usr/local/bin/hg", line 36, in <module>
    mercurial.util.setbinary(fp)
  File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 86, in __getattribute__
    self._load()
  File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 58, in _load
    mod = _origimport(head, globals, locals)
  File "/usr/local/lib/python2.6/dist-packages/mercurial/util.py", line 67, in <module>
    statfiles = getattr(osutil, 'statfiles', platform.statfiles)
  File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 86, in __getattribute__
    self._load()
  File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 58, in _load
    mod = _origimport(head, globals, locals)
ImportError: /usr/local/lib/python2.6/dist-packages/mercurial/osutil.so: wrong ELF class: ELFCLASS64
2
  • Its not possible to have gone from a 64-bit installation to a 32-bit installation even with Ubuntu. You sure thats what you did?
    – Ramhound
    Feb 25, 2013 at 16:39
  • @Ramhound I have edited the question.Please go through once again. Feb 25, 2013 at 17:08

1 Answer 1

0

Well, I have found the answer,I have removed /usr/local/lib/python2.6 and python2.7 folders. I have copied /usr/lib/python2.6 and python2.7 over /usr/local/lib/ location.That did the trick.

cp -Rp /usr/lib/python2.6  /usr/local/lib/
cp -Rp /usr/lib/python2.7   /usr/local/lib/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .