Skip to content


Fix multiarch support on Debian/Ubuntu #4

merged 1 commit into from

2 participants


Allow installation from pip/easy_install on multiarch enabled distrib.


I think there some fix to apply to mapnik-utils too.

Backporting to 2.0.x to have it in pypi would be very nice!

@kiorky kiorky merged commit b5d1a5b into mapnik:master

Thx !


I can also make you co maintainer of pypi, just give me your id.
Just use zest.releaser's fullrelease (see buildout) to make a proper release.


Glad to help!!
Here's my pypi ID: noirbizarre (same as github)

I don't much about zest-releaser but it seems interesting.
I going learn about it right now!



added to pypi as maintainer


  • have the buildout running
  • easy_install -U setuptools_git (you need it both in your buildout scripts & in your python because zest.releaser calls directly python under the hood)
  • then when you release, commits what it needs to, but dont increment any version stuff nor update the date in CHANGES because it is handled by zest.releaser
  • finally use the magical bin/fullrelease, answer the questions are you are done.
    • tag creation, version increment, date update, pypi & github checkins will be handled for you
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Aug 3, 2012
  1. @noirbizarre
Showing with 19 additions and 2 deletions.
  1. +19 −2 src/mapnik/
21 src/mapnik/
@@ -2,7 +2,7 @@
import re
import os
-from subprocess import Popen, PIPE
+from subprocess import Popen, PIPE, check_output
from ctypes import CDLL
def read(rnames):
@@ -37,7 +37,7 @@ def get_config_output(exe, args):
if ret.wait() != 0:
raise Exception(
'%s error: %s\n%s' % (
- cmd,
+ cmd,,,
@@ -91,6 +91,21 @@ def get_boost_flags():
raise Exception('Cant find boost_python lib!')
return {'includes': includes, 'libraries': libraries}
+def add_multiarch_paths(flags):
+ '''
+ Find multiarchs specifics paths for Debian/Ubuntu.
+ See
+ Could be fixed in Scons and/or mapnik-utils
+ '''
+ try:
+ arch = check_output(['dpkg-architecture', '-qDEB_HOST_MULTIARCH'])
+ arch = arch[:-1] if arch.endswith('\n') else arch
+ flags['includes'].append('-I/usr/lib/%s/sigc++-2.0/include' % arch)
+ except:
+ pass
def get_compilation_flags():
compilation_flags = {
'includes': [],
@@ -104,6 +119,8 @@ def get_compilation_flags():
+ if sys.platform.startswith("linux"):
+ add_multiarch_paths(compilation_flags)
return compilation_flags
Something went wrong with that request. Please try again.