@keilmillerjr
check that you aren't building mongodb on tmpfs (i.e. /tmp) because 16 gb isn't enough for building on /tmp.
@krassecommits
try to reduce the number of threads used when compiling
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: | SSPL-1.0 |
Provides: | mongodb |
Submitter: | felixonmars |
Maintainer: | JstKddng |
Last Packager: | JstKddng |
Votes: | 34 |
Popularity: | 0.79 |
First Submitted: | 2019-01-18 22:08 (UTC) |
Last Updated: | 2024-03-05 18:45 (UTC) |
@keilmillerjr
check that you aren't building mongodb on tmpfs (i.e. /tmp) because 16 gb isn't enough for building on /tmp.
@krassecommits
try to reduce the number of threads used when compiling
@JstKddng adding -j2 to _scons_args within the PKGBUILD resolved the 100% CPU and lockup issue. However, btop froze at 100% memory. 14GB free memory isn't enough to build this package?!
Intel i7 9750H, 16GB RAM Took forever to compile and ended with this error:
src/mongo/util/aligned.h:205:85: warning: use of 'std::hardware_destructive_interference_size' [-Winterference-size]
scons: building terminated because of errors.
scons: *** Found dependency cycle(s):
Internal Error: no cycle found for node build/opt/third_party/icu4c-57.1/source/common/uvectr64.o (<SCons.Node.FS.File object at 0x63b0f6bc0410>) in state pending
Internal Error: no cycle found for node build/opt/mongo/db/commands/http_client_gen.o (<SCons.Node.FS.File object at 0x63b0f6e4c610>) in state pending
Internal Error: no cycle found for node build/opt/mongo/db/s/global_index/global_index_cloner_gen.o (<SCons.Node.FS.File object at 0x63b0f74c8210>) in state pending
Internal Error: no cycle found for node build/opt/mongo/db/repl/wait_for_majority_service.o (<SCons.Node.FS.File object at 0x63b0f6f56440>) in state pending
Internal Error: no cycle found for node build/opt/mongo/db/s/global_index/global_index_server_parameters_gen.o (<SCons.Node.FS.File object at 0x63b0f73120a0>) in state pending
File "/home/user/.cache/yay/mongodb/src/mongodb-src-r7.0.6/src/third_party/scons-3.1.2/scons-local-3.1.2/SCons/Taskmaster.py", line 1076, in cleanup
build/opt/mongo/db/s/compact_structured_encryption_data_coordinator.o failed: Error 1
@keilmillerjr
That line is only a warning, the actual error might be somewhere else on the logs (most probably you ran out of memory).
Try editing /etc/makepkg.conf
and reduce (or set) the -j
flag on MAKEFLAGS
to a number lower than your number of cpu threads.
AMD Ryzen 5 3600 16GB ram
Compiling this package, CPU 100% and it eventually locked up my computer multiple times. Compiled in a TTY (no WM) and it finally finished with a failure.
/usr/include/c++/13.2.1/atomic:297:22: warning: '__atomic_load_4' writing 4 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
In member function '__dt_base ':
lto1: note: destination object is likely at address zero
scons: building terminated because of errors.
build/opt/mongo/db/mongod failed: Error 1
damn, your compiler fucking crashed, never seen one of those in a while. Not much I can do sadly, maybe report the issue to the GCC folks
My compiler segfauls trying to compile this. Any ideas? O_o
Compiling build/opt/mongo/db/commands/kill_sessions_command.o
In file included from src/mongo/db/commands.h:52,
from build/opt/mongo/crypto/encryption_fields_gen.cpp:16:
src/mongo/db/request_execution_context.h:65:64: internal compiler error: Segmentation fault
65 | _dbmsg(std::make_unique<DbMessage>(_message.get())) {}
| ^
0x1ad33c8 internal_error(char const*, ...)
???:0
...
scons: building terminated because of errors.
build/opt/mongo/crypto/encryption_fields_gen.o failed: Error 1
==> ERROR: A failure occurred in build().
Aborting...
error: failed to build 'mongodb-7.0.5-1':
Is this using gcc? My version is
gcc --version
gcc (GCC) 13.2.1 20230801
It's fine, if anything, it's the OpenSUSE folk that are redistributing the binaries. Plus, I think mongodb really only cares if you are somehow making money out of the modified source code.
It's pretty funny, the license change coincides with the release of AWS's DocumentDB. They probably didn't want AWS using mongodb in their service so they changed the license so AWS had to develop their in-house implementation and now DocumentDB is not 100% compatible with mongodb.
I'm going to continue maintaining this for as long as I use it and for as long as I'm able to.
@JstKddng I have dropped mongodb from my unofficial repository after reading the reason it was dropped from the official repository [1].
TL;DR the licensing is not clear on the distribution of "modified" source, and as you have patches here, this is modified source code.
This means you can be slapped with legal action at any time for providing binary builds, and this is not something I want to deal with. Feel free to keep it on your repository but be aware mongodb can come knocking at any point.
Good luck!
it's fine, makepkg already takes care of adding the required flags for lto and other stuff. This means some setups might by possible but are not supported by upstream.
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
JstKddng commented on 2022-08-03 23:25 (UTC)
The
mongo
utility will be removed in future releases. Switching tomongosh
is recommended.