-
-
Notifications
You must be signed in to change notification settings - Fork 11.3k
mapnik failed to build on 10.8.2 #16144
Comments
Looks like a problem with the new Boost and ICU bottles. |
I know nothing about Boost and ICU, but I did attempt to build them from source instead of using the bottles to see if that would affect anything. Boost wouldn't build from source for me (I can add a ticket for that, too, if you'd like), but ICU built just fine. Using ICU installed with |
Boost will build with the older icu4c-49.1.2, but the current one Homebrew updated to, 50.1, has API changes. For now, if you want to build with icu4c support, you will have to downgrade icu4c. Use this to examine your options:
|
Interesting is that boost-1.52.0 will build against icu-50.1 if you do this:
Don't know why, but there you go. Thanks for the bug report. |
boost needs the `--with-c++11` option if it's going to build with icu4c-50.1. This is partially due to a change in icu4c, as the previous version compiled into boost without error. The current icu4c-50.1 does pass `make check`. - Enable the c++11 if when the user throws `--with-icu`. Fixes Homebrew#16144
Perhaps we should default to |
Thanks for that. I went ahead and used that information to build Boost from source as well, but Mapnik still wouldn't build despite neither Boost nor ICU being from a bottle anymore. I've updated the gist with the new |
That pull request of mine may not work. The only proper way to do this from what I now have learned about c++11 compatibility is that we should leave boost the way it was and have you downgrade to icu4c-49.1.2 and use that with the unaltered boost formula. That builds a working boost like we've always had. Then using that, try to do mapnik again.
I'm trying this right on 10.8.2 with system Python. |
That worked great, @2bits; everything built just fine when I did that. Thanks for the help! |
What's the status here? I don't use bottles on my current machines, and things seem to build from source, but I also don't have Mountain Lion to test with. |
I don't have access anymore to the machine I originally noticed this bug on (changed jobs), but here's what happened yesterday when I tried it on my own computer (also on Mountain Lion):
Any idea how I can get boost to build against the homebrew Python instead? |
This is usually a result of mixing python versions. For example first installing Remove alle the formulae that are involved here. Then first I noted that down in the wiki. Perhaps there should be a prominent warning, but I don't know where to put it (in which formula). Perhaps I can write a doctor check... not sure though |
I try to do |
Well...
so ... #worksforme ? Perhaps I am lucky and NOT having the command line tools for Xcode made boost use the brewed python. |
@myersjustinc could you please try:
Sorry, I know that sucks because building all these takes some time :-/ In related, I am going to open a pull request #17032 with an update to mapnik which explicitly sets options to prefer homebrewed libs instead of letting scons find them (with it's defaults). If all this does not help, we have to look more into the boost build. |
Pulled #17032. |
@samueljohn, that eventually worked, but it needed just a little bit of help. I had to reinstall at least some form of boost to get the
After reinstalling Python, running
After that, though, removing boost and Mapnik and then building with |
Asking @MikeMcQuaid as he is Mr. Bottle if the boost-bottle is build such that it links to system's python? |
Yes it links to system python and will continue to do so. Problems? On Sunday, 13 January 2013, Samuel John wrote:
Mike McQuaid |
When people run a brewed python, the bindings are not compatible (ABI-wise) and so we might see the errors like |
I don't know really. Open to discussion but not motivated to fix it personally (if that's not too much of a dick move). |
Not using the boost bottle is the only work-around right now. |
I could teach the brew doctor to check against which python boost and pygtk are built and if the currently active python is not that one, issue a warning with instructions (i.e. to |
That sounds reasonable and sounds like the easiest solution to me, but I haven't done any development on brew itself. Is there a way (and does it make sense) to have |
Nice idea @myersjustinc, I am not sure if this would work. @MikeMcQuaid is it possible that the formula itself influences the logic that decides whether to pure a bottle or not? |
No but it could do. Could always add some option thing to the DSL which runs a check to decide whether to use the bottle. |
Yay, I'll open an issue that this idea does not get forgotten. I think |
Hi, I'm having the same trouble with my homebrew installed version of mapnik on my mac running 10.8.3 with python 2.7.3 from homebrew also. Are there any updates on this topic? The provided pkg works just fine with the python provided from apple, but I can't use mapnik at all with my homebew python. |
Here is what I did:
As you see, something points to the old python... which is bad. then, I removed boost and mapnik with then, I installed again, as wrote here by @myersjustinc: I still get
What else is going wrong? What can I do? Here is the crashreport and my console log: https://gist.github.com/otmezger/5295477 |
Try to Then Because that err you posted looks like a know thing with the gtk bottle. |
I posted too fast. |
@samueljohn so, no GTK problem... I'm totally clueless. Any other ideas? |
@otmezger, you might consider rebuilding icu4c as well. |
@myersjustinc thanks, I'm |
@otmezger I think so, since |
@myersjustinc ok, I installed icu4c from source, and mapnik still won't load. I'm going to reinstall boost and mapnik after having reinstalled icu4c, and will post here as soon as it's ready |
@myersjustinc ... nope... same as before. I keep getting
:-( |
can I just delete everything (complete brew remove) and start over? Is there a way to do that, and does it makes sense? |
Not sure on either of those questions. You might consider at least reinstalling your homebrew Python; that seemed to help some when I had this problem before. |
I deleted homebrew, and the mapnik binary installation. Then I reinstalled everything:
importing mapnik still don't work on python 2.7.3 installed from homebrew.... why is this? |
Wait, so building boost from source still built it against the system Python? |
@myersjustinc Now I did as you stated some months ago and IT WORKED!!!!!
now, the command
so it shows to /usr/local/Frameworks...this is not correct, right? But python 2.7.3 (the brew one) can import mapnik :-) |
/usr/local is correct—the /System/Library one is when you know something's built against the system Python. Glad to hear it worked for you! |
That is correct. Brewed Python's framework is linked to there for |
@otmezger @myersjustinc Those commands also fix the |
I hit on this issue on OS X 10.10 and solved it by |
Trying to install Mapnik on a Mac Pro (early 2009) with 10.8.2, but it isn't building for me.
The gist requested in the troubleshooting instructions is here: https://gist.github.com/4111928
There weren't any numbered make logs available, so I just included the
config.log
in~/Library/Logs/Homebrew/mapnik
; if there are any other files that might be useful instead, just let me know.Thanks for any help you can provide.
The text was updated successfully, but these errors were encountered: