This repository has been archived by the owner. It is now read-only.

Spidermonkey not compatible with CouchDB on OS X 10.9 #23332

Closed
greimers opened this Issue Oct 17, 2013 · 27 comments

Comments

Projects
None yet
@greimers

I'm trying to install CouchDB but it gives me the following error:

Error: couchdb dependency spidermonkey was built with the following
C++ standard library: libstdc++ (from clang)

This is incompatible with the standard library being used
to build couchdb: libc++ (from clang)

Please reinstall spidermonkey using a compatible compiler.
hint: Check https://github.com/mxcl/homebrew/wiki/C++-Standard-Libraries

I am on Mavericks GM. I tried a complete reinstall of homebrew but that still gives me the same error.

Shouldn't Spidermonkey build with libc++ by default on Mavericks?
How can I manually make Spidermonkey compile against libc++?

@mistydemeo

This comment has been minimized.

Show comment
Hide comment
@mistydemeo

mistydemeo Oct 17, 2013

Contributor

Can I see your build logs? They'd be in ~/Library/Logs/Homebrew/spidermonkey

Contributor

mistydemeo commented Oct 17, 2013

Can I see your build logs? They'd be in ~/Library/Logs/Homebrew/spidermonkey

@strmpnk

This comment has been minimized.

Show comment
Hide comment
@strmpnk

strmpnk Oct 17, 2013

I'm experiencing the same issue described here. I've copied my build logs here: https://gist.github.com/strmpnk/7028077

strmpnk commented Oct 17, 2013

I'm experiencing the same issue described here. I've copied my build logs here: https://gist.github.com/strmpnk/7028077

@greimers

This comment has been minimized.

Show comment
Hide comment
@greimers

greimers Oct 18, 2013

My build logs for spidermonkey are here:
https://gist.github.com/greimers/7038594

My build logs for spidermonkey are here:
https://gist.github.com/greimers/7038594

@strmpnk

This comment has been minimized.

Show comment
Hide comment
@strmpnk

strmpnk Oct 23, 2013

For what it's worth, couchdb seems to work fine if I compile from source by hand after installing spidermonkey. It seems like homebrew is raising a false alarm of some sort.

strmpnk commented Oct 23, 2013

For what it's worth, couchdb seems to work fine if I compile from source by hand after installing spidermonkey. It seems like homebrew is raising a false alarm of some sort.

@mistydemeo

This comment has been minimized.

Show comment
Hide comment
@mistydemeo

mistydemeo Oct 23, 2013

Contributor

This case is probably a false alarm, if couchdb is itself not C++ code. However it's a very subtle incompatibility (if there is one) - not the build-failing kind, but the random-segfaults kind that doesn't reproduce instantly.

Contributor

mistydemeo commented Oct 23, 2013

This case is probably a false alarm, if couchdb is itself not C++ code. However it's a very subtle incompatibility (if there is one) - not the build-failing kind, but the random-segfaults kind that doesn't reproduce instantly.

@mistydemeo

This comment has been minimized.

Show comment
Hide comment
@mistydemeo

mistydemeo Oct 23, 2013

Contributor

(I'm going to improve the false alarm situation.)

Contributor

mistydemeo commented Oct 23, 2013

(I'm going to improve the false alarm situation.)

@strmpnk

This comment has been minimized.

Show comment
Hide comment
@strmpnk

strmpnk Oct 23, 2013

Interesting. The CouchDB code integrates spidermonkey using C rather than C++ but I'm not sure if that avoids the problem or not. I'll continue looking for any issues in the meantime.

strmpnk commented Oct 23, 2013

Interesting. The CouchDB code integrates spidermonkey using C rather than C++ but I'm not sure if that avoids the problem or not. I'll continue looking for any issues in the meantime.

@natevw

This comment has been minimized.

Show comment
Hide comment
@natevw

natevw Oct 24, 2013

Getting the same here on a ± clean install of everything (removed and pruned full list, definitely built spidermonkey just now). Is there a way to force brew to give the couchdb build a go despite the mismatch?

natevw commented Oct 24, 2013

Getting the same here on a ± clean install of everything (removed and pruned full list, definitely built spidermonkey just now). Is there a way to force brew to give the couchdb build a go despite the mismatch?

@mistydemeo

This comment has been minimized.

Show comment
Hide comment
@mistydemeo

mistydemeo Oct 24, 2013

Contributor

I'm going to be pushing a fix soon which will squelch these false positives.

Contributor

mistydemeo commented Oct 24, 2013

I'm going to be pushing a fix soon which will squelch these false positives.

@mistydemeo

This comment has been minimized.

Show comment
Hide comment
@mistydemeo

mistydemeo Oct 24, 2013

Contributor

The CouchDB code integrates spidermonkey using C rather than C++ but I'm not sure if that avoids the problem or not

If there's no C then it's fine, and this won't be flagged as an incompatibility once I improve tracking.

Contributor

mistydemeo commented Oct 24, 2013

The CouchDB code integrates spidermonkey using C rather than C++ but I'm not sure if that avoids the problem or not

If there's no C then it's fine, and this won't be flagged as an incompatibility once I improve tracking.

@mistydemeo

This comment has been minimized.

Show comment
Hide comment
@mistydemeo

mistydemeo Oct 24, 2013

Contributor

I can confirm that this false positive will be squelched when #23458 lands.

Contributor

mistydemeo commented Oct 24, 2013

I can confirm that this false positive will be squelched when #23458 lands.

@strmpnk

This comment has been minimized.

Show comment
Hide comment
@strmpnk

strmpnk Oct 24, 2013

👍 Thanks for your diligence in making these OS upgrades smooth!

strmpnk commented Oct 24, 2013

👍 Thanks for your diligence in making these OS upgrades smooth!

@mistydemeo

This comment has been minimized.

Show comment
Hide comment
@mistydemeo

mistydemeo Oct 25, 2013

Contributor

For some reason spidermonkey is using libc++ in stdenv, which resolves the couchdb issue.

stdenv: https://gist.github.com/mistydemeo/d9430cdace5045d9ea83
superenv: https://gist.github.com/mistydemeo/155314bc780ff073eddb

Ping @manphiz

Contributor

mistydemeo commented Oct 25, 2013

For some reason spidermonkey is using libc++ in stdenv, which resolves the couchdb issue.

stdenv: https://gist.github.com/mistydemeo/d9430cdace5045d9ea83
superenv: https://gist.github.com/mistydemeo/155314bc780ff073eddb

Ping @manphiz

@manphiz

This comment has been minimized.

Show comment
Hide comment
@manphiz

manphiz Oct 26, 2013

Contributor

@mistydemeo the superenv log doesn't seem to have superenv flag note, which is kind of weird.

Contributor

manphiz commented Oct 26, 2013

@mistydemeo the superenv log doesn't seem to have superenv flag note, which is kind of weird.

@jacknagel

This comment has been minimized.

Show comment
Hide comment
@jacknagel

jacknagel Nov 7, 2013

Contributor

Is this resolved? /cc @mistydemeo

Contributor

jacknagel commented Nov 7, 2013

Is this resolved? /cc @mistydemeo

@natevw

This comment has been minimized.

Show comment
Hide comment
@natevw

natevw Nov 7, 2013

Seems like 8f5d0f7 did resolve this.

natevw commented Nov 7, 2013

Seems like 8f5d0f7 did resolve this.

@mistydemeo

This comment has been minimized.

Show comment
Hide comment
@mistydemeo

mistydemeo Nov 7, 2013

Contributor

Should be fixed.

Contributor

mistydemeo commented Nov 7, 2013

Should be fixed.

@mistydemeo mistydemeo closed this Nov 7, 2013

@zebeurton

This comment has been minimized.

Show comment
Hide comment
@zebeurton

zebeurton Nov 22, 2013

I applied the fix and I have the same issues. I cannot build spider monkey because of libstdc++ instead of libc++

I applied the fix and I have the same issues. I cannot build spider monkey because of libstdc++ instead of libc++

@janl

This comment has been minimized.

Show comment
Hide comment
@janl

janl Nov 29, 2013

Contributor

The problem persists.

Contributor

janl commented Nov 29, 2013

The problem persists.

@janl

This comment has been minimized.

Show comment
Hide comment
@janl

janl Nov 29, 2013

Contributor

Building Spidermonkey with brew install spidermonkey --env=std does the trick.

Contributor

janl commented Nov 29, 2013

Building Spidermonkey with brew install spidermonkey --env=std does the trick.

@dch

This comment has been minimized.

Show comment
Hide comment
@dch

dch Nov 29, 2013

Contributor

FWIW I didn't have this issue, after doing this:

cd /usr/local/Cellar
brew ls > brews.lst
brew rm --force *
brew update
brew install `cat brews.lst`

Worked fine for mavericks both shortly after release time, and again on 2013/11/29. Hope that helps!

** although my situation was slightly more complex (custom erlang with --brewed-ssl) most other packages are just defaults.

Contributor

dch commented Nov 29, 2013

FWIW I didn't have this issue, after doing this:

cd /usr/local/Cellar
brew ls > brews.lst
brew rm --force *
brew update
brew install `cat brews.lst`

Worked fine for mavericks both shortly after release time, and again on 2013/11/29. Hope that helps!

** although my situation was slightly more complex (custom erlang with --brewed-ssl) most other packages are just defaults.

@julianguyen

This comment has been minimized.

Show comment
Hide comment
@julianguyen

julianguyen Jan 20, 2014

I still have this issue. What is the newest solution that works? I tried all the above and no changes.

I still have this issue. What is the newest solution that works? I tried all the above and no changes.

@janl

This comment has been minimized.

Show comment
Hide comment
@janl

janl Jan 20, 2014

Contributor

@julianguyen did you brew upgrade at some point?

Contributor

janl commented Jan 20, 2014

@julianguyen did you brew upgrade at some point?

@julianguyen

This comment has been minimized.

Show comment
Hide comment
@julianguyen

julianguyen Jan 22, 2014

Aha it works. Thanks! Reinstalling spidermonkey helped!

Aha it works. Thanks! Reinstalling spidermonkey helped!

@dch

This comment has been minimized.

Show comment
Hide comment
@dch

dch Jan 22, 2014

Contributor

@julianguyen any chance you can post output of brew doctor
somewhere, and also log of console during:

brew update
brew outdated
brew rm --force `brew deps couchdb` couchdb
brew install -v couchdb

I've just tried this here on 10.9.1 without issues, on 2 macs, for
both couchdb and couchdb HEAD. My brew doctor comes up clean FWIW.

On 22 January 2014 19:11, Julia Nguyen notifications@github.com wrote:

Yep I tried that


Reply to this email directly or view it on GitHub.

Contributor

dch commented Jan 22, 2014

@julianguyen any chance you can post output of brew doctor
somewhere, and also log of console during:

brew update
brew outdated
brew rm --force `brew deps couchdb` couchdb
brew install -v couchdb

I've just tried this here on 10.9.1 without issues, on 2 macs, for
both couchdb and couchdb HEAD. My brew doctor comes up clean FWIW.

On 22 January 2014 19:11, Julia Nguyen notifications@github.com wrote:

Yep I tried that


Reply to this email directly or view it on GitHub.

@anthonybrown

This comment has been minimized.

Show comment
Hide comment
@anthonybrown

anthonybrown Mar 24, 2014

@dch that didn't work for me
the build broke when installing erlang
here is the output:
`==> Summary
🍺 /usr/local/Cellar/libtool/2.4.2: 66 files, 2.2M
==> Installing couchdb dependency: erlang
==> Downloading https://github.com/erlang/otp/tarball/OTP_R15B03-1
Already downloaded: /Library/Caches/Homebrew/erlang-R15B03-1.tgz
==> Verifying erlang-R15B03-1.tgz checksum
tar xf /Library/Caches/Homebrew/erlang-R15B03-1.tgz
==> ./otp_build autoconf
./otp_build: line 329: autoconf: command not found



*** WARNING: System might fail to configure or
*** might be erroneously configured
*** since autoconf version x is used
*** instead of version 2.59!



=== running autoconf in lib
./otp_build: line 372: autoconf: command not found
==> Configuration
HOMEBREW_VERSION: 0.9.5
HEAD: 3fa6a14
CPU: dual-core 64-bit penryn
OS X: 10.9.2-x86_64
Xcode: 5.1
CLT: 5.1.0.0.1.1393561416
X11: 2.7.5 => /opt/X11
==> ENV
HOMEBREW_CC: clang
HOMEBREW_CXX: clang++
MAKEFLAGS: -j2
CMAKE_PREFIX_PATH: /usr/local
CMAKE_INCLUDE_PATH: /usr/include/libxml2:/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers
CMAKE_LIBRARY_PATH: /System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig:/usr/local/Library/ENV/pkgconfig/10.9
ACLOCAL_PATH: /usr/local/share/aclocal
PATH: /usr/local/Library/ENV/4.3:/usr/local/opt/automake/bin:/usr/local/opt/libtool/bin:/usr/bin:/bin:/usr/sbin:/sbin`

@dch that didn't work for me
the build broke when installing erlang
here is the output:
`==> Summary
🍺 /usr/local/Cellar/libtool/2.4.2: 66 files, 2.2M
==> Installing couchdb dependency: erlang
==> Downloading https://github.com/erlang/otp/tarball/OTP_R15B03-1
Already downloaded: /Library/Caches/Homebrew/erlang-R15B03-1.tgz
==> Verifying erlang-R15B03-1.tgz checksum
tar xf /Library/Caches/Homebrew/erlang-R15B03-1.tgz
==> ./otp_build autoconf
./otp_build: line 329: autoconf: command not found



*** WARNING: System might fail to configure or
*** might be erroneously configured
*** since autoconf version x is used
*** instead of version 2.59!



=== running autoconf in lib
./otp_build: line 372: autoconf: command not found
==> Configuration
HOMEBREW_VERSION: 0.9.5
HEAD: 3fa6a14
CPU: dual-core 64-bit penryn
OS X: 10.9.2-x86_64
Xcode: 5.1
CLT: 5.1.0.0.1.1393561416
X11: 2.7.5 => /opt/X11
==> ENV
HOMEBREW_CC: clang
HOMEBREW_CXX: clang++
MAKEFLAGS: -j2
CMAKE_PREFIX_PATH: /usr/local
CMAKE_INCLUDE_PATH: /usr/include/libxml2:/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers
CMAKE_LIBRARY_PATH: /System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig:/usr/local/Library/ENV/pkgconfig/10.9
ACLOCAL_PATH: /usr/local/share/aclocal
PATH: /usr/local/Library/ENV/4.3:/usr/local/opt/automake/bin:/usr/local/opt/libtool/bin:/usr/bin:/bin:/usr/sbin:/sbin`

@dch

This comment has been minimized.

Show comment
Hide comment
@dch

dch Mar 24, 2014

Contributor

@anthonybrown you've not followed the instructions then: current brewed erlang is R16B03-1, but you're installing R15B03.

The current erlang build includes:

depends_on :autoconf
depends_on :automake
depends_on :libtool

Can you brew update & try again?

If you're still stuck today, drop by #couchdb on on irc://freenode.net/#couchdb and we'll get you started.

If the erlang build still fails, best to address that in a new ticket, not in a couchdb one that's over a year old and already closed -- let sleeping dogs lie :-).

Contributor

dch commented Mar 24, 2014

@anthonybrown you've not followed the instructions then: current brewed erlang is R16B03-1, but you're installing R15B03.

The current erlang build includes:

depends_on :autoconf
depends_on :automake
depends_on :libtool

Can you brew update & try again?

If you're still stuck today, drop by #couchdb on on irc://freenode.net/#couchdb and we'll get you started.

If the erlang build still fails, best to address that in a new ticket, not in a couchdb one that's over a year old and already closed -- let sleeping dogs lie :-).

@Homebrew Homebrew locked and limited conversation to collaborators Feb 17, 2016

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.