Package Details: mongodb 8.0.4-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 nosql
Licenses: SSPL-1.0
Provides: mongodb
Submitter: felixonmars
Maintainer: siavoshkc
Last Packager: siavoshkc
Votes: 36
Popularity: 0.103057
First Submitted: 2019-01-18 22:08 (UTC)
Last Updated: 2025-03-31 21:53 (UTC)

Pinned Comments

JstKddng commented on 2022-08-03 23:28 (UTC)

Binary builds are available:

https://software.opensuse.org//download.html?project=home%3Ajustkidding%3Aarch&package=mongodb

JstKddng commented on 2022-08-03 23:28 (UTC)

If you have a pre-sandybridge CPU or an ARMv8 sbc, you can use mongodb44

If you'd like to stay in the V5.0 branch, you can use mongodb50

Latest Comments

« First ‹ Previous 1 .. 8 9 10 11 12 13 14 15 16 Next › Last »

fkl commented on 2019-03-28 12:04 (UTC) (edited on 2019-03-28 12:05 (UTC) by fkl)

@navarroaxel Thank you for the quick response. This is actually my first-ever AUR package-building attempt, and it was a rough one. Can we ask the maintainers of this AUR to use a non-'all' build? (unless there is a real reason for 'all')

I think I will just go with the mongodb-bin option for now.

navarroaxel commented on 2019-03-28 11:46 (UTC) (edited on 2019-03-28 11:50 (UTC) by navarroaxel)

Hi @fkl, Sounds like this package is using the 'all' build variant. That will build everything in the source tree. The mongodb-bin package comes with man pages, you can use the command man mongo or man mongod. You should not use the Linux legacy tgz package from mongodb website because of this: https://www.mongodb.com/blog/post/a-proposal-to-endoflife-our-generic-linux-tar-packages

jamespharvey20 commented on 2019-03-26 21:42 (UTC) (edited on 2019-03-26 23:19 (UTC) by jamespharvey20)

I wouldn't use 4.0.7-1. It doesn't require wiredtiger commit db5942dc, as upstream expects. See https://github.com/mongodb/mongo/commit/0a201aa5bff44f490b970727587b60066c3ce1a7

As separate packages, mongodb and wiredtiger almost always need to be upgraded at the same time.

I'm wondering if it makes continued sense for mongodb to have wiredtiger as a separate dependency. By default, it pulls in its dependencies' source by the specified commit in its mongodb git repo. Haivng it use the system wiredtiger is from when they were in community.

Some if its dependencies can be specified to use the system-installed packages, but can't, because they either require older versions than Arch has, or have their own in-repo patches they didn't submit upstream. Like, asio, icu, boost, and strangely even mongo-c.

Since if you're going to use mongodb, you have to have wiredtiger by one of these methods, and wiredtiger isn't used for anything other than mongodb, having them separate seems like it's just adding extra steps for users to build. (mongodb-3.4 does of course depend on wiredtiger, but that conflicts with this package, and I'm not sure it's safe for it to be given the commit that current stable mongodb requires anyway.)

EDIT: I'm now leaning toward keeping wiredtiger separate. Statically building it in-tree doesn't provide the files wiredtiger does, and users could be using its headers and libraries. Additionally, we'd have to look into the other wiredtiger configure options (leveldb, lz4, tcmalloc, builtin zlib) can/should be added when building within mongo. Probably not worth investing time in, easier for the 3 involved maintainers to just become maintainers of both packages.

jamespharvey20 commented on 2019-02-25 01:05 (UTC)

@chrbayer, I think there's either something off with your DNS configuration, or there's something off with MongoDB's DNS entries.

How do you have DNS setup? I use systemd-resolved, /etc/resolv/confis a symlink to /run/systemd/resolve/resolv.conf, and I'm using DNS server 8.8.8.8.

What are you using to build?

The failure you're having is in mongo/client/mongo_uri_test, specifically in its subtest srvRecordTest. I originally was wondering if they had just messed up their DNS records, but I just re-built 4.0.6-3, and check() passes, including on this test.

Starting with 4.0.6-2, check() is required to pass. Community 3.6.0-1 through 4.0.5-1, and AUR 4.0.6-1 included || warning "Tests failed" in check(), on the line that runs the unittests suite. This meant 3.6.0-1 through 4.0.6-1 ran the unittests suite, but if it errored, it would print a warning and continue. Because MongoDB's test suites are setup so when a single test fails, the rest are skipped, that seems to me like that suite may as well not have been run. In 3.6.0-1, this was changed because some tests required mlock(), which fails within systemd-nspawn, part of the devtools build process. So, in 4.0.6-2, I took a different approach of checking if it's running under systemd-nspawn, and if so, disable all the tests that use mlock(). So, I'm now not thinking they messed up their DNS records, but that this test was failing for you in the past, but it continued building the package. (Or, you're running through devtools, and it was failing on an earlier test and never getting to this one.)

Anyways, your error message looks like this test is attempting to resolve a DNS entry and failing. I found an upstream bugreport indicating these tests require working name resolution at: https://jira.mongodb.org/browse/SERVER-34117

I think it's trying to resolve _mongodb._tcp.test1.test.build.10gen.cc or test1.test.build.10gen.cc. I know enough about DNS to get by, but their records are confusing me a bit. Running dig <either .cc>, I only get back a SOA record with ns1.p09.dynect.net. or hostmaster.10gen.com.. It doesn't contain anything really useful, like an IP resolution, but I guess maybe it's still considered a valid response. Except in this case of testing a lookup but not wanting anyone to do something with it, I doubt only giving back an SOA record happens often.

If you're using a different DNS resolving method, it's possible there's a bug where only having an SOA record trips it up. Once I know what you're using, I'll try to reproduce.

chrbayer commented on 2019-02-23 07:39 (UTC) (edited on 2019-02-23 19:40 (UTC) by chrbayer)

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 (UTC) (edited on 2019-08-10 02:47 (UTC) by jamespharvey20)

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 (UTC) (edited on 2019-08-21 22:43 (UTC) by jamespharvey20)

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 (UTC) (edited on 2019-02-15 02:28 (UTC) by jamespharvey20)

@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 (UTC)

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.