Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hg broken in multiarch 2014, 2015 #456

Closed
rmustacc opened this issue Jan 22, 2017 · 5 comments
Closed

hg broken in multiarch 2014, 2015 #456

rmustacc opened this issue Jan 22, 2017 · 5 comments

Comments

@rmustacc
Copy link

I've been using the multiarch image for development. I recently had to do something with mercurial and tried to install and run it. While the install works, in both cases, it fails to run:

hg clone hg clone http://hg.nginx.org/nginx nginx-upstream
Traceback (most recent call last):
  File "/opt/local/bin/hg", line 41, in <module>
    mercurial.util.setbinary(fp)
  File "/opt/local/lib/python2.7/site-packages/amd64/mercurial/demandimport.py", line 130, in __getattribute__
    self._load()
  File "/opt/local/lib/python2.7/site-packages/amd64/mercurial/demandimport.py", line 96, in _load
    mod = _hgextimport(_import, head, globals, locals, None, level)
  File "/opt/local/lib/python2.7/site-packages/amd64/mercurial/demandimport.py", line 53, in _hgextimport
    return importfunc(name, globals, *args, **kwargs)
  File "/opt/local/lib/python2.7/site-packages/amd64/mercurial/util.py", line 77, in <module>
    statfiles = getattr(osutil, 'statfiles', platform.statfiles)
  File "/opt/local/lib/python2.7/site-packages/amd64/mercurial/demandimport.py", line 130, in __getattribute__
    self._load()
  File "/opt/local/lib/python2.7/site-packages/amd64/mercurial/demandimport.py", line 96, in _load
    mod = _hgextimport(_import, head, globals, locals, None, level)
  File "/opt/local/lib/python2.7/site-packages/amd64/mercurial/demandimport.py", line 53, in _hgextimport
    return importfunc(name, globals, *args, **kwargs)
ImportError: ld.so.1: python2.7: fatal: /opt/local/lib/python2.7/site-packages/amd64/mercurial/osutil.so: wrong ELF class: ELFCLASS64

This happens in both 2014 Q4 an 2015 Q4 multiarch package sets. It may happen on 2016 Q4, but I don't have the image around at this moment.

@bahamat
Copy link
Member

bahamat commented Jan 22, 2017

I think #424 is related.

@mamash
Copy link

mamash commented Jan 23, 2017

Yes, it's a dup of #424, which only fixed the problem in 2016Q3 and newer releases (2016Q4/multiarch is fine). I think I can port this back to 2014Q4/2015Q4 if it's found helpful.

@rmustacc
Copy link
Author

@mamash it'd be helpful to me at least, if it were backported.

@mamash
Copy link

mamash commented Jan 24, 2017

The 2014Q4/multiarch branch is now fixed, 2015Q4 is building. You'll need to update the 'py27-mercurial' package (the one called simple 'mercurial' is just an empty shell).

@mamash
Copy link

mamash commented Jan 24, 2017

2015Q4/multiarch finished too

@mamash mamash closed this as completed Jan 24, 2017
jperkin pushed a commit that referenced this issue Mar 6, 2017
What's new in psycopg 2.7
-------------------------

New features:

- Added `~psycopg2.sql` module to generate SQL dynamically (:ticket:`#308`).
- Added :ref:`replication-support` (🎫`#322`). Main authors are
  Oleksandr Shulgin and Craig Ringer, who deserve a huge thank you.
- Added `~psycopg2.extensions.parse_dsn()` and
  `~psycopg2.extensions.make_dsn()` functions (:tickets:`#321, #363`).
  `~psycopg2.connect()` now can take both *dsn* and keyword arguments, merging
  them together.
- Added `~psycopg2.__libpq_version__` and
  `~psycopg2.extensions.libpq_version()` to inspect the version of the
  ``libpq`` library the module was compiled/loaded with
  (:tickets:`#35, #323`).
- The attributes `~connection.notices` and `~connection.notifies` can be
  customized replacing them with any object exposing an `!append()` method
  (:ticket:`#326`).
- Adapt network types to `ipaddress` objects when available. When not
  enabled, convert arrays of network types to lists by default. The old `!Inet`
  adapter is deprecated (:tickets:`#317, #343, #387`).
- Added `~psycopg2.extensions.quote_ident()` function (:ticket:`#359`).
- Added `~connection.get_dsn_parameters()` connection method (:ticket:`#364`).
- `~cursor.callproc()` now accepts a dictionary of parameters (:ticket:`#381`).
- Give precedence to `!__conform__()` over superclasses to choose an object
  adapter (:ticket:`#456`).
- Using Python C API decoding functions and codecs caching for faster
  unicode encoding/decoding (:ticket:`#473`).
- `~cursor.executemany()` slowness addressed by
  `~psycopg2.extras.execute_batch()` and `~psycopg2.extras.execute_values()`
  (:ticket:`#491`).
- Added ``async_`` as an alias for ``async`` to support Python 3.7 where
  ``async`` will become a keyword (:ticket:`#495`).
- Unless in autocommit, do not use :sql:`default_transaction_*` settings to
  control the session characteristics as it may create problems with external
  connection pools such as pgbouncer; use :sql:`BEGIN` options instead
  (🎫`#503`).
- `~connection.isolation_level` is now writable and entirely separated from
  `~connection.autocommit`; added `~connection.readonly`,
  `~connection.deferrable` writable attributes.

Bug fixes:

- Fixed error caused by missing decoding `~psycopg2.extras.LoggingConnection`
  (:ticket:`#483`).
- Fixed integer overflow in :sql:`interval` seconds (🎫`#512`).

Other changes:

- Dropped support for Python 2.5 and 3.1.
- Dropped support for client library older than PostgreSQL 9.1 (but older
  server versions are still supported).
- `~connection.isolation_level` doesn't read from the database but will return
  `~psycopg2.extensions.ISOLATION_LEVEL_DEFAULT` if no value was set on the
  connection.
- Empty arrays no more converted into lists if they don't have a type attached
  (:ticket:`#506`)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants