Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-566

Don't require spidermonkey for building libmongoclient

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Minor - P4 Minor - P4
    • 1.3.4
    • Affects Version/s: 1.2.0, 1.2.1
    • Component/s: Internal Client
    • None
    • Environment:
      Boost 1.41, OSX 10.6

      Attempting to link against the libmongoclient.a provided in the 1.2.0 and 1.2.1 release tarballs yield unresolved externals when using a different version of boost. This is apparently expected, and I was encouraged to compile it myself.

      The crux of the matter is that compiling the client lib shouldn't require spidermonkey. A simple hacky change to the SConstruct file:

      diff --git a/SConstruct b/SConstruct
      index 5d0b835..5029467 100644
      --- a/SConstruct
      +++ b/SConstruct
      @@ -260,8 +260,8 @@ if ( usesm and usejvm ):
           print( "can't say usesm and usejvm at the same time" )
      -if ( not ( usesm or usejvm or usev8 ) ):
      -    usesm = True
      +#if ( not ( usesm or usejvm or usev8 ) ):
      +#    usesm = True
       if GetOption( "extrapath" ) is not None:
           for x in GetOption( "extrapath" ).split( "," ):

      compiles fine and links into a program fine. Its obviously not the right fix, but it does show that it isn't actually used in the client code.

      In addition, perhaps libmongoclinet.a shouldn't be distributed in the tarballs, or it should at least specify which version of boost it was compiled against.

            mathias@mongodb.com Mathias Stearn
            ashb Ash Berlin
            0 Vote for this issue
            0 Start watching this issue