[SERVER-16197] "scons install" broken since tools rewrite Created: 17/Nov/14  Updated: 24/Dec/14  Resolved: 22/Dec/14

Status: Closed
Project: Core Server
Component/s: Build, Tools
Affects Version/s: 2.8.0-rc0
Fix Version/s: 2.8.0-rc4

Type: Bug Priority: Minor - P4
Reporter: Thijs Cadier Assignee: Matt Kangas
Resolution: Done Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by SERVER-16545 scons install fails for source builds... Closed
Related
related to DOCS-4431 Contributors "Build and test" docs ne... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Steps To Reproduce:

Follow installation instructions in https://github.com/mongodb/mongo/blob/master/docs/building.md

Participants:

 Description   

The tools have been reimplemented in Go and now live in a new repository: https://github.com/mongodb/mongo-tools
The old C++ tools have been removed from mongodb/mongo.

Update the docs to reflect this change.

ORIGINAL DESCRIPTION:

When following the installation instructions in https://github.com/mongodb/mongo/blob/master/docs/building.md the `scons install` step fails with:

````
scons: *** [/xxx/mongodb/bin/bsondump] Source `src/mongo-tools/bsondump' not found, needed by target `/xxxx/mongodb/bin/bsondump'.
scons: building terminated because of errors.
```

Looking at the discussion in https://github.com/Homebrew/homebrew/pull/33652 it seems like it's need to separately compile the tools using Go. It's unclear what the correct installation method is.



 Comments   
Comment by Githook User [ 22/Dec/14 ]

Author:

{u'username': u'kangas', u'name': u'Matt Kangas', u'email': u'matt.kangas@mongodb.com'}

Message: SERVER-16197 fix scons install, dist

Option '--use-new-tools' now controls whether scons looks for tools at all.

"scons install" no longer tries to install external tools.
"scons dist" fails if --use-new-tools not specified or if external tools are missing
Branch: master
https://github.com/mongodb/mongo/commit/e295dccc9f2251206b081ed1f2ad43c37751ae46

Comment by Githook User [ 22/Dec/14 ]

Author:

{u'username': u'deafgoat', u'name': u'Wisdom Omuya', u'email': u'deafgoat@gmail.com'}

Message: Merge pull request #74 from kangas/fix_scons_install

prerequisite for SERVER-16197 scons install
Branch: master
https://github.com/10gen/mci/commit/458710fe8de02f3a5835bc7b31c59000cf0334fd

Comment by Githook User [ 22/Dec/14 ]

Author:

{u'username': u'kangas', u'name': u'Matt Kangas', u'email': u'matt.kangas@mongodb.com'}

Message: prerequisite for SERVER-16197 scons install

we missed this in pull request #73
Branch: master
https://github.com/10gen/mci/commit/5623289a6fbc4c04f81a6a4cc4c430c043121d62

Comment by Githook User [ 19/Dec/14 ]

Author:

{u'username': u'deafgoat', u'name': u'Wisdom Omuya', u'email': u'deafgoat@gmail.com'}

Message: Merge pull request #73 from kangas/fix_scons_install

prerequisite for SERVER-16197 scons install
Branch: master
https://github.com/10gen/mci/commit/a4e6a4a09379027f681b88a8db1b7919160ade7d

Comment by Githook User [ 19/Dec/14 ]

Author:

{u'username': u'kangas', u'name': u'Matt Kangas', u'email': u'matt.kangas@mongodb.com'}

Message: prerequisite for SERVER-16197 scons install

"scons dist" must be accompanied with --use-new-tools henceforth.
Branch: master
https://github.com/10gen/mci/commit/55bf8fdee482c24cf385d8be65ca31ec6a177ad1

Comment by Daniel Pasette (Inactive) [ 16/Dec/14 ]

you can use the tools from 2.6 on mmap storage engine database files. Also, you can do a 'scons core' build to just build mongod, mongo and mongos without editing the SConscript

Comment by Mark Callaghan [ 15/Dec/14 ]

Can I use the tools from 2.6 with 2.8.0rc2?

Comment by Matt Kangas [ 15/Dec/14 ]

Hi mdcallag - if you want to get it working today, just comment out these two lines:

https://github.com/mongodb/mongo/blob/r2.8.0-rc2/src/mongo/SConscript#L1270-L1271

I'm working on a more reasonable long term fix.

Comment by Mark Callaghan [ 15/Dec/14 ]

Do you have advice for getting a source build with 2.8.0rc2? Do I need the Go-based tools? Can I edit the 2.8 Sconscript file to ignore 'rewrittenTools' or install them from a 2.6 build?

Comment by Matt Kangas [ 24/Nov/14 ]

Remaining tasks:

Comment by Githook User [ 24/Nov/14 ]

Author:

{u'username': u'kangas', u'name': u'Matt Kangas', u'email': u'matt.kangas@mongodb.com'}

Message: SERVER-16197 Update docs/building.md for 2.8
Branch: master
https://github.com/mongodb/mongo/commit/35079a95ebc591dee47ecca5e0f22eb7a7381fd0

Comment by Matt Kangas [ 17/Nov/14 ]

Yes, you need to check out two repositories to build both the server plus the tools.

In the server repository, the "scons install" target still tries to do something with the tools. This appears to be a bug resulting from SERVER-15547.

Comment by Thijs Cadier [ 17/Nov/14 ]

Just to be clear: A install of both core and tools requires checking out and building both core and tools? Doesn't that mean that the scons install step is obsolete?

Comment by Matt Kangas [ 17/Nov/14 ]

The tools source now lives at https://github.com/mongodb/mongo-tools. See "Building Tools" directions in README.md.

Comment by Thijs Cadier [ 17/Nov/14 ]

Is there a correct list of steps available anywhere? Or maybe you could paste it here? I'd love to try the RC out on our staging environment.

Comment by Matt Kangas [ 17/Nov/14 ]

We need to update docs/building.md and also http://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/

Generated at Thu Feb 08 03:40:16 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.