Package Details: mongodb 4.2.8-1

Git Clone URL: https://aur.archlinux.org/mongodb.git (read-only, click to copy)
Package Base: mongodb
Description: A high-performance, open source, schema-free document-oriented database
Upstream URL: https://www.mongodb.com/
Keywords: database document-oriented
Licenses: custom:SSPL
Submitter: felixonmars
Maintainer: jamespharvey20 (chrbayer)
Last Packager: chrbayer
Votes: 26
Popularity: 0.000413
First Submitted: 2019-01-18 22:08
Last Updated: 2020-08-20 22:41

Pinned Comments

jamespharvey20 commented on 2019-08-21 22:40

READ ME - 4.2.0 is here - The good, the bad, and the ugly

Good! 4.2.0 finally supports python3. The dependency on aur/python2-scons is no longer needed.

Bad! 4.2.0 breaks having aur/wiredtiger as a separate package, so it is no longer needed. Upstream may fix this some day, but advised for now they can't be separate. When mongodb is being built, it recognizes it's not using a separate wiredtiger package and compiles wiredtiger's source into part of mongodb, so it's still there, just not separate. This increases the space required to about 260GB. The combined amount of time it takes to build shouldn't change.

Mixed! 4.2.0 breaks most of the tests performed in check() under devtools. Previously, only 8 tests couldn't run within devtools due to systemd-nspawn banning mlock(). Now, it appears hundreds of them require mlock(). It's no longer feasible to discover and disable all of them, and maintain this list between versions, so if devtools is detected, check() does nothing. In my opinion, that's bad news, because I'd like to run the tests. Many users will probably greatly welcome this change, because most of the space and time required to build mongodb is in check().

So, users of devtools will only need 20GB available to build this, and it will complete in about 30% of the time it used to, due to check() not doing anything.

But, direct users of makepkg (including probably most AUR helpers) will now need about 260GB available just to build this.

jamespharvey20 commented on 2019-02-22 03:50

READ ME - Manual intervention potentially required upgrading to or past 4.0.6-2

If you never modified /etc/mongodb.conf, there is nothing you need to do, as pacman will install the new configuration file for you.

If pacman alerts you that a new configuration file is saved at /etc/mongodb.conf.pacnew, you must switch to it, or at least modify your existing one to enable forking.

Among other cleanups, 4.0.6-2 switches to:

  1. Upstream's systemd service file, which uses a systemd service type of forking, versus the old Arch-specific type of simple.

  2. Upstream's configuration file, which uses the YAML format introduced back in 2.6, versus the old Arch-specific configuration file using the 2.4 format.

If you had modified /etc/mongodb.conf, pacman will install the new one to /etc/mongodb.conf.pacnew. So, you will either need to: switch to the new one, and duplicate changes you made to the old one that you still need, considering the new file is now in the YAML format; or modify your existing one to enable forking. (Using the old 2.4 file format, adding fork: true should be what is needed.)

jamespharvey20 commented on 2019-02-15 09:58

READ ME - This is quite the package to build

If you use makepkg or an AUR helper you should have 260GB available just to build this. If you use devtools, you will only need 20GB available, because check() is skipped.

It takes a lot of time to build this. Using makepkg, a user reported it took 6.5 hours on an Intel i7. 32 Xeon cores with a high-end NVMe takes an hour.

How much memory you need to build this is untested, but I'd guess having a low amount of memory could cause compilation errors.

If you have compilation problems, please use makepkg, or extra-x86_64-build from devtools, as AUR helpers are not officially supported.

Alternatively, there is the mongodb-bin package, which converts the pre-compiled Ubuntu package into one for Arch. Note Ubuntu's package may use different compilation options.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 Next › Last »

chrbayer commented on 2019-02-23 07:39

Hi, I tried two times building the new version and both time it fails now. I have enough space. I have enough free space and I had no problems building version 4.0.5-1 and 4.0.6-1.

Now it fails in the check phase:

[cpp_unit_test:mongo_uri_test] 2019-02-22T23:19:18.552+0100 2019-02-23T00:19:18.552+0100 E -        [main] Throwing exception: Expected ::mongo::Status::OK() == (rs.getStatus()) (OK  == DNSHostNotFound Failed to look up service "_mongodb._tcp.test1.test.build.10gen.cc": Success) Failed on URI: mongodb+srv://test1.test.build.10gen.cc/ data on line: 652 @src/mongo/client/mongo_uri_test.cpp:845
[cpp_unit_test:mongo_uri_test] 2019-02-22T23:19:18.552+0100 2019-02-23T00:19:18.552+0100 I -        [main] FAIL: srvRecordTest  Expected ::mongo::Status::OK() == (rs.getStatus()) (OK  == DNSHostNotFound Failed to look up service "_mongodb._tcp.test1.test.build.10gen.cc": Success) Failed on URI: mongodb+srv://test1.test.build.10gen.cc/ data on line: 652 @src/mongo/client/mongo_uri_test.cpp:845 in test srvRecordTest

After disabling unit tests, it works again. Does someone else have the same problem?

jamespharvey20 commented on 2019-02-22 03:50

READ ME - Manual intervention potentially required upgrading to or past 4.0.6-2

If you never modified /etc/mongodb.conf, there is nothing you need to do, as pacman will install the new configuration file for you.

If pacman alerts you that a new configuration file is saved at /etc/mongodb.conf.pacnew, you must switch to it, or at least modify your existing one to enable forking.

Among other cleanups, 4.0.6-2 switches to:

  1. Upstream's systemd service file, which uses a systemd service type of forking, versus the old Arch-specific type of simple.

  2. Upstream's configuration file, which uses the YAML format introduced back in 2.6, versus the old Arch-specific configuration file using the 2.4 format.

If you had modified /etc/mongodb.conf, pacman will install the new one to /etc/mongodb.conf.pacnew. So, you will either need to: switch to the new one, and duplicate changes you made to the old one that you still need, considering the new file is now in the YAML format; or modify your existing one to enable forking. (Using the old 2.4 file format, adding fork: true should be what is needed.)

jamespharvey20 commented on 2019-02-15 09:58

READ ME - This is quite the package to build

If you use makepkg or an AUR helper you should have 260GB available just to build this. If you use devtools, you will only need 20GB available, because check() is skipped.

It takes a lot of time to build this. Using makepkg, a user reported it took 6.5 hours on an Intel i7. 32 Xeon cores with a high-end NVMe takes an hour.

How much memory you need to build this is untested, but I'd guess having a low amount of memory could cause compilation errors.

If you have compilation problems, please use makepkg, or extra-x86_64-build from devtools, as AUR helpers are not officially supported.

Alternatively, there is the mongodb-bin package, which converts the pre-compiled Ubuntu package into one for Arch. Note Ubuntu's package may use different compilation options.

jamespharvey20 commented on 2019-02-15 02:27

@karcher: You ran out of space. You need at least 165GB available to build this, and it can take a really long time. 32 Xeon cores take about an hour.

@dabz: PKGBUILD as-is builds fine for me using extra-x86_64-build from package "devtools", with plenty of memory (64G) and hard drive space (165G+) available. I'm wondering if that error could be from running out of disk space. I'm going to be submitting a -2 version today, but it won't have any changes that will affect that.

djorborn commented on 2019-02-14 20:29

If you have trouble with building this, try https://aur.archlinux.org/packages/mongodb-bin/ it worked for me no problems after this had a build error.

dabz commented on 2019-02-14 10:55

I got this exception while upgrading & building to 4.0.6: Exception IOError: (2, 'No such file or directory', 'build/scons/sconsign.tmp') in <bound method dblite.__del__ of <SCons.dblite.dblite object at 0x7f32eff2aad0>> ignored

I don't really have time right now to investigate, is it just me having issues with the upgrade?

karcher commented on 2019-02-14 09:54

The update to the latest version is failing with this error:

Linking build/opt/mongo/db/commands/mr_test
Compiling build/opt/mongo/db/storage/mmap_v1/record_store_v1_capped_test.o
Linking build/opt/mongo/db/storage/mmap_v1/record_store_v1_capped_test
Compiling build/opt/mongo/util/concurrency/ticketholder_test.o
Linking build/opt/mongo/util/concurrency/ticketholder_test
Compiling build/opt/mongo/s/commands/append_at_cluster_time_test.o
Linking build/opt/mongo/s/commands/append_at_cluster_time_test
Compiling build/opt/mongo/db/query/interval_test.o
Linking build/opt/mongo/db/query/interval_test
Compiling build/opt/mongo/db/logical_clock_test_fixture.o
Generating library build/opt/mongo/db/liblogical_clock_test_fixture.a
Skipping ranlib for thin archive build/opt/mongo/db/liblogical_clock_test_fixture.a
Compiling build/opt/mongo/db/logical_clock_test.o
Linking build/opt/mongo/db/logical_clock_test
/bin/ld.gold: fatal error: build/opt/mongo/db/logical_clock_test: No space left on device
collect2: error: ld returned 1 exit status
scons: *** [build/opt/mongo/db/logical_clock_test] Error 1
scons: building terminated because of errors.
build/opt/mongo/db/logical_clock_test failed: Error 1
==> ERROR: A failure occurred in check().
    Aborting...
Error making: mongodb

It took 4h:15m:19s to come to this error and the created folder mongodb-src-r4.0.6 within the cache folder of yay has a size of 38.9 GiB.

jamespharvey20 commented on 2019-02-10 03:19

Verified updating to 4.0.6 works, with the updated wiredtiger.

Here's changes I'd recommend considering: 1. Remove usr/bin/install_compass. It's a python script to install compass, which is a GUI for working with mongodb. But, the script detects the OS, and if linux, the distribution. It doesn't run on Arch, saying it's an unsupported distribution. There's an AUR package, mongodb-compass. 2. Per namcap: snappy, openssl, libsasl, and lsb-release can be removed from depends. The first 3 are satisfied by other dependencies, and the last is not needed. 3. optdepends of libpcap can be removed. Community listed it for "mongosniff", which was replaced by mongoreplay in 3.4. mongoreplay is part of mongodb-tools, and is listed in its depends.

I've also asked felixonmars if mongodb-tools should be dropped to the AUR, for the same licensing reason, and also so the same maintainer can have both, to keep their version numbers in sync. If you're willing, perhaps keep an eye out for that and pick it up as well. (In case you do, per namcap: libsasl and openssl can be removed from its depends, being satisfied by other dependencies.)

chrbayer commented on 2019-02-08 07:25

I have updated wiredtiger to the required commit for mongodb 4.0.6 and successfully build version 4.0.6. So this package can simply be updated :-)

gobyrne commented on 2019-01-28 17:14

I have an alternate solution that worked like a charm for me.

Create a docker container for your mongodb. Super simple, worked like a charm.