Opened 3 years ago

Closed 3 years ago

#50692 closed update (fixed)

mongodb: update to 3.2.3

Reported by: josephsacco Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: mongodb

Description (last modified by ryandesign (Ryan Schmidt))

The current stable release [17feb2016] of MongoDB is version 3.2.3. I made a lame attempt at building this version within the MacPorts framework by modifying the version 3.0.8 Portfile [updated the version, the checksums, and removed the patch]. With those modifications the build fails early when scons fails to locate ssl.h.

I have zero knowledge of scons so I tried a couple of experiments.

(1) Edit the Portfile and remove '-ssl' from the list of build.args That also made scons unhappy, as it complained that it knew nothing about '-cc'

I slowly removed the build.args one by one until I was left with a build command that runs scons without any build.args:

/opt/local/bin/scons all mongobridge mongosniff 

That build command actually runs and completes without error, although I am not sure what it builds.

-Joseph

Change History (8)

comment:1 Changed 3 years ago by josephsacco

I may not understand scons, but I can run experiments and google for information... :-)

This command works with scons-2.4.1:

/opt/local/bin/scons all mongobridge mongosniff  --ssl  CPPPATH=/opt/local/include  LIBPATH=/opt/local/lib

FWIW... I hacked and slashed the Portfile to include only these build arguments and got MpngoDB to build within the Macports framework.

I have MacPorts Boost-1.59.0_2 installed. It might be a good idea to convince scons to use the local version of Boost rather than building Boost-1.56.0, if that version is acceptable to MongoDB. There is some "stuff" in the SConstruct file that suggests that might be possible.

-Joseph

Last edited 3 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:2 Changed 3 years ago by mf2k (Frank Schima)

Cc: ryandesign@… removed
Keywords: version update removed
Owner: changed from macports-tickets@… to ryandesign@…
Type: requestupdate
Version: 2.3.4

Note that a "request" ticket type is only for requesting a new port. In the future, please use WikiFormatting.

comment:3 Changed 3 years ago by mf2k (Frank Schima)

Description: modified (diff)

comment:4 in reply to:  description Changed 3 years ago by ryandesign (Ryan Schmidt)

Status: newassigned
Summary: MongoDB-3.2.3 has been released: Request version updatemongodb: update to 3.2.3

Replying to drjesacco@…:

The current stable release [17feb2016] of MongoDB is version 3.2.3.

I'm aware of that but had not worked on updating the port yet. In order to upgrade to mongodb 3.2.x, it is first necessary for the user to upgrade to mongodb 3.0.x; it is not possible to go directly from mongodb 2.x to 3.2.x. I therefore wanted to ensure that users had had time to upgrade to mongodb 3.0.x before I update it to 3.2.x. But it has now been almost a year since the port was updated to 3.0.0 in r133789 so it should be safe to update to 3.2.x now.

Replying to drjesacco@…:

I have MacPorts Boost-1.59.0_2 installed. It might be a good idea to convince scons to use the local version of Boost rather than building Boost-1.56.0, if that version is acceptable to MongoDB. There is some "stuff" in the SConstruct file that suggests that might be possible.

That would be a bad idea. We explicitly want to use the bundled version of boost, and the bundled versions of all other dependencies that use C++, so that mongodb works on OS X versions earlier than Mavericks. Those earlier versions of OS X default to libstdc++, but we need to use libc++ for mongodb. We cannot use a MacPorts-installed version of boost on those systems because it has probably been built with libstdc++, which would be incompatible.

comment:5 Changed 3 years ago by ryandesign (Ryan Schmidt)

Description: modified (diff)

comment:6 Changed 3 years ago by josephsacco

Sounds like an update to 3.2.x is forthcoming. Thanks for the quick response.

Be well,

-Joseph

comment:7 Changed 3 years ago by ryandesign (Ryan Schmidt)

Yes. I have a working 3.2.3 portfile on my system now, however it fails to build for i386. I've reported the problem to the developers: https://jira.mongodb.org/browse/SERVER-22810. I'll wait until they either fix it so it can build on i386 again, or say that they will not fix it. (The release notes for 3.2 already state that 32-bit builds will no longer be available in future versions of mongodb.)

comment:8 Changed 3 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: assignedclosed

Well I'll update it now, and make changes for the i386/universal build problems later as upstream advises. r145963

Note: See TracTickets for help on using tickets.