-
-
Notifications
You must be signed in to change notification settings - Fork 11.4k
CouchDB failed to build against Erlang 16 #18256
Comments
Same problem here: Surfing around noticed a bug in the archlinux forums saying that Erlang R16B is not compatible with couchdb 1.2.1. |
Not surprising, this sort of thing happens every Erlang major release. |
Correct. Normally supporting the "next' erlang release is pretty quick. This is a tad tricky; erlang R16 drops support for a language feature that one of our core dependencies mochiweb uses. Mochiweb upstream has been updated to support R16 but this hasn't been rolled into couchdb yet. I should start a fork on that next week https://issues.apache.org/jira/browse/COUCHDB-1598 if you want to follow it. @jacknagel when this is working it might not go straight into our coming 1.3.0 release. Can we point the recipe to a fork for example? |
I am also having this problem. Details: https://gist.github.com/tnightingale/1913d8a51ab46e632d78 |
I think I might be having the same problem. Not too sure. Here is a little what I see as well as what hkjels posted. make[3]: *** [etap_request.beam] Error 1
'''make[2]: *** [etap_request.beam] Error 1
|
Looks like it. @jodah what's the output of On 10 March 2013 23:57, jodah notifications@github.com wrote:
|
i have the same install -v error output @tnightingale & @hkjels posted |
Can confirm, does not work on OS X 10.8.2. CouchDB 1.3.0 is currently in release candidate. I have yet to test if it will address the Erlang R16B compatiblity. This is probably the most likely source of a fix. To workaround in the time being you can revert back to Erlang R15B03-1 brew uninstall erlang
cd /usr/local
git checkout 168742f Library/Formula/erlang.rb |
Perhaps not needed now, but I have the same printout as Stefan: Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.1 -JJ On Mar 11, 2013, at 10:51 AM, Dave Cottlehuber notifications@github.com wrote:
|
On 12 March 2013 03:04, David Rice notifications@github.com wrote:
|
I applied the fix that David suggested and this seems to have fixed the build. Thank you! But when I launch couchdb I still seem to get an erlang problem: Macs-MacBook-Pro:local macadmin$ couchdb Crash dump was written to: erl_crash.dump Is this still related? Cheers On Mar 12, 2013, at 1:15 AM, Dave Cottlehuber notifications@github.com wrote:
|
@jodah I think that error you are now having is unrelated. This error with CouchDB failing to boot is usually due to an error in permissions. I would run Another version of CouchDB could potentially be started on your machine try seeing if On Tuesday, 12 March 2013 at 16:54, jodah wrote:
|
@david Rice, Thanks man! Your last thought was exactly right. I downloaded your easy install a couple of days ago and I guess I never turned it off appropriately. Cheers -JJ On Mar 12, 2013, at 12:34 PM, David Rice notifications@github.com wrote:
|
Failure to start Mochiweb: eaddrinuse Error Address In Use. means you already have something running on port 5984. This is usually Protip, never run couchdb under sudo/root. you screw the pooch with On 12 March 2013 20:34, David Rice notifications@github.com wrote:
|
@jacknagel @mistydemeo @MikeMcQuaid what's our long-term plan for newer versions of Erlang breaking high-profile stuff like CouchDB? Maintain the last major version of Erlang in core? |
@adamv I'd say just not update them. |
Not update what? |
Sorry, not update Erlang until CouchDB is working. Perhaps we could add a DSL or something which maintains important packages that depend on a library that we want to make sure work before upgrading? |
TBH I should have this fixed end of next week latest, I already got a What would be good is for things like couch that have tight integration, to I can do this in the configure script, but by then it's too late for most On 13 March 2013 09:16, Mike McQuaid notifications@github.com wrote:
|
Unfortunately we don't handle versions that way but we should track these things that have tight integration, agreed. |
It might be a little longer until we achieve R16B compat. You can follow the issue here: https://issues.apache.org/jira/browse/COUCHDB-1696 Is there anything we can do on the homebrew front to make this less painful for users? Something like:
Or so? |
We can write a "Erlang15Requirement" class for CouchDB with this message. |
I’m happy to do the legwork if you can point me to an example to steal from. |
Check out boost.rb and dsniff.rb for Requirement examples |
Hope this is roughly okay, I tested this locally, but I am sure this can be improved :) |
I'm getting a weird error after following the work-around instructions, in that it's telling me that I need a version of Erlang less than or equal to the one I have installed, not the version I have installed:
Thoughts? |
There are multiple things wrong with the check being used for the erlang version. I'm just going to make it depend on erlang-r15 from homebrew-versions. |
Cool, thanks! Sorry for getting it wrong, I just copied the broad strokes and hoped the reviews would catch any errors :) |
Oh @jacknagel I pulled the R15B requirement mentioned above. I did not spot something terribly wrong so, as a quick-fix, I pulled that. Agree that explicitly depending on erlang R15B from homebrew-versions is probably the better approach. |
Got it, thank! :) brew updates
What does that mean exactly? Where can I read up on “homebrew-versions”? |
Ah, But then:
Observations:
Sorry for being a pain, but I am trying to find a convenient solution for CouchDB users. Thanks for your patience! |
The reasons that the requirement didn't work are (a) Formula#version doesn't necessarily correspond to the installed version, (b) it returns a Version object, not a string, so the pattern matching fails, and (c) the condition was reversed. I've fixed the broken checksum on erlang-r15. |
@adamv @MikeMcQuaid Do we want to pull erlang-r15 into core and add the bottles back? |
Perhaps we should just roll erlang back to R15 and put R16 in versions. |
@jacknagel That's what I'm thinking. I'd think most users of Erlang are using CouchDB so it makes sense to just roll back until it's sorted. |
Ops, I wasn't aware of that, sorry, Jack. |
Won't we upset erlang users if we revert to R15? I would prefer to to leave it as is with the depends_on 'homebrew/versions/erlang-r15. |
Hard to say, there is also riak, elixir, ejabberd, disco, rabbitmq, On 19 March 2013 19:14, Samuel John notifications@github.com wrote:
|
Given the circumstances I think reverting to R15B03-1 seems easiest. I don’t think others would mind much, erlang enthusiasts and devs can always build the latest version from versions or by hand (or use the Erlang Solutions distribution) and casual users will just see things work. Users of the other projects may disagree though :) Again, we hope to get this fixed soon, so it won’t be long, but this is already affecting our users, so any help is greatly appreciated. |
Alright, I'm going to revert it. |
Homebrew's defaulted is now R15B03-1, correct? |
Yeah. |
Thanks guys. If Hombrew is not a godsend, its damn near close. Cheers! |
<3 Homebrew. |
My system ended up getting upgraded to Erlang R16B and I could no longer re-install CouchDB (to try deal with #19641). Brew was claiming "erlang-R15B03-1 already installed" but erl was reporting R16B. I had to Hope this helps someone. |
It did, thanks! |
Im having the same issue as @jodah and when i start couchdb it logs this error message Apache CouchDB 1.4.0 (LogLevel=info) is starting. Crash dump was written to: erl_crash.dump Crash dump was written to: erl_crash.dump please help, |
@Hussein1147 Your error message is distinctly different :) The solution is in the first line:
Make sure that the file has write permissions for the user you are starting CouchDB with. This tends to happen when you try starting CouchDB with sudo first and later without. |
@janl Hey! Thanks for writing back, i have set the permissions now its loging this message, im not sure if its a problem with Mochiweb Failure to start Mochiweb: eaddrinuse Crash dump was written to: erl_crash.dump |
1 similar comment
@janl Hey! Thanks for writing back, i have set the permissions now its loging this message, im not sure if its a problem with Mochiweb Failure to start Mochiweb: eaddrinuse Crash dump was written to: erl_crash.dump |
that’s a standard unix message that says that the port your CouchDB is configured to bind to is already in use. |
I think i have to change the port in the /etc/couchdb/couch.ini no? |
maybe check if CouchDB is already running in an older instance. The standard port (5984) should not be used by any other programme. |
@janl Thank you so much!!! |
verbose output
config.log
The text was updated successfully, but these errors were encountered: