Opened 10 months ago

Closed 5 months ago

#67746 closed defect (fixed)

mongodb @6.0.5: fails to install on macOS Ventura (Apple M2 Pro)

Reported by: klmr (Konrad Rudolph) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: ventura arm64 Cc: drawlusyk, sudheerhebbale (Sudheer Hebbale)
Port: mongodb

Description

Attempting to install the mongodb port fails (including after performing sudo port clean mongodb) with the following error:

Error: Failed to configure mongodb: configure failure: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_mongodb/mongodb/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port mongodb failed

If I understand correctly, the relevant error inside the build log is:

LookupError: file:///opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_mongodb/mongodb/work/distfiles/setuptools-67.0.0.tar.gz is already being built: setuptools>=40.8.0 from file:///opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_mongodb/mongodb/work/distfiles/setuptools-67.0.0.tar.gz

The full build log is attached.

Attachments (1)

main.log (122.2 KB) - added by klmr (Konrad Rudolph) 10 months ago.

Download all attachments as: .zip

Change History (11)

Changed 10 months ago by klmr (Konrad Rudolph)

Attachment: main.log added

comment:1 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign removed
Owner: set to ryandesign
Status: newassigned

Hmm, we had successful builds of this port on our automated build machines on Ventura on arm64 and on all other supported OS versions when it was originally updated to 6.0.5. I'm not sure what would have changed since then. I don't know a lot about the python module build process that was going on at the time of the error you saw.

comment:2 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: drawlusyk added

Has duplicate #67886.

If anyone knows what the problem is, please let me know. I'm not able to understand Python error output.

I know the port is outdated so I will need to update it and deal with this issue then.

comment:3 Changed 9 months ago by mohd-akram (Mohamed Akram)

This is an issue with pip. I've created a ticket.

comment:4 Changed 9 months ago by mohd-akram (Mohamed Akram)

The pip issue is related to a change that caused widespread breakage. The wheel package is now required to install anything, but the version in the Portfile seemed to have a circular dependency on setuptools. The issue is resolved by updating the wheel dependency to the next newer version:

                    wheel-0.40.0.tar.gz \
                    rmd160  1df635f1a5dc250e096385eca68f0b8c6e5b3472 \
                    sha256  cd1196f3faee2b31968d626e1731c94f99cbdb67cf5a46e4f5656cbee7738873 \
                    size    96226

comment:5 Changed 8 months ago by robogeek (David Herron)

FYI - I seem to be having a similar issue trying to install mongodb-6.0.5_0.darwin_19.x86_64.tbz2 on a mid-2012 MacBook Pro (x86 CPU) running Catalina 10.15.7

The error also appears to be with pip, but what's in the log file is convoluted enough I'm not sure. I looked at the attached main.log, and it's very similar to what's in the build log generated for me.

comment:6 in reply to:  5 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to robogeek:

I seem to be having a similar issue trying to install mongodb-6.0.5_0.darwin_19.x86_64.tbz2 on a mid-2012 MacBook Pro (x86 CPU) running Catalina 10.15.7

Yes, all users will see this problem until I fix it by following Mohamed's suggestion above. I did attempt to include that change while updating the port to version 6.0.10 however many more things seemed to go wrong at that point because upstream imposed stricter python module version requirements on other modules by then and I find resolving these one by one to be a painful process that may result in me giving up maintaining this port. I should try updating the port to 6.0.6 instead; maybe they had not imposed those extra requirements yet by then.

comment:7 Changed 7 months ago by knightcode (Dylan)

Hi,

I experienced this too on Sonoma (x86_64). I found that going into the python venv and manually running "pip install wheel setuptools" allowed the config stage to complete, but I ran into another failure later in the process having something to do with scons failing, which is a tool I am less familiar with.

Final lines of config.log:

scons: Configure: Checking that the C++ compiler can link a C++ program... 
build/scons/MP/sconf_temp/conftest_ac30bfea77045c1c67c4f51773b51414_0.cpp <-
  |
  |#include <iostream>
  |#include <cstdlib>
  |
  |int main() {
  |    std::cout << "Hello, World" << std::endl;
  |    return EXIT_SUCCESS;
  |}
  |
/usr/bin/clang++ -o build/scons/MP/sconf_temp/conftest_ac30bfea77045c1c67c4f51773b51414_0.o -c -stdlib=libc++ -Werror=unused-result -Woverloaded-virtual -arch x86_64 -Werror -ffp-contract=off -fasynchronous-unwind-tables -ggdb -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -fno-omit-frame-pointer -fno-strict-aliasing -Os -DNDEBUG -I/opt/local/include build/scons/MP/sconf_temp/conftest_ac30bfea77045c1c67c4f51773b51414_0.cpp
/usr/bin/clang++ -o build/scons/MP/sconf_temp/conftest_ac30bfea77045c1c67c4f51773b51414_0_fdd5d68eff5a8b3f7c56808725f2309d -Wl,-headerpad_max_install_names -arch x86_64 -Wl,-fatal_warnings -Wl,-bind_at_load build/scons/MP/sconf_temp/conftest_ac30bfea77045c1c67c4f51773b51414_0.o -L/opt/local/lib -lresolv
ld: warning: -bind_at_load is deprecated on macOS
ld: fatal warning(s) induced error (-fatal_warnings)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
scons: Configure: no

From main.log:

:info:build Checking if C++ compiler is clang 7.0 (or Apple XCode 13.0) or newer...yes
:info:build Checking for sufficient macOS target version minimum... yes
:info:build Checking if linker supports -fuse-ld=lld... no
:info:build Checking if linker supports -fuse-ld=gold... no
:info:build Checking whether the C compiler works... yes
:info:build Checking whether the C++ compiler works... yes
:info:build Checking that the C++ compiler can link a C++ program... no
:info:build C++ compiler /usr/bin/clang++ can't link C++ programs
:info:build See /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_mongodb/mongodb/work/mongodb-src-r6.0.5/build/scons/config.log for details
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_mongodb/mongodb/work/mongodb-src-r6.0.5" && /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_mongodb/mongodb/work/venv/bin/python buildscripts/scons.py -j16 install-core CC="/usr/bin/clang" CFLAGS="" CPPPATH="/opt/local/include" CXX="/usr/bin/clang++" CXXFLAGS="-stdlib=libc++" DESTDIR="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_mongodb/mongodb/work/destroot" LIBPATH="/opt/local/lib" PREFIX="/opt/local" --disable-warnings-as-errors --enable-http-client=on --install-action=hardlink --libc++ --opt=size --release --ssl=on --use-sasl-client --use-system-pcre --use-system-snappy --use-system-stemmer --use-system-yaml --use-system-zlib --use-system-zstd --wiredtiger=on --use-system-mongo-c=off VARIANT_DIR=MP TARGET_ARCH=x86_64 CCFLAGS="-arch x86_64" LINKFLAGS="-Wl,-headerpad_max_install_names -arch x86_64" 
:info:build Exit code: 1
:error:build Failed to build mongodb: command execution failed
:debug:build Error code: CHILDSTATUS 38630 1
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec -callback portprogress::target_progress_callback build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"
:error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_mongodb/mongodb/main.log for details.
Last edited 7 months ago by knightcode (Dylan) (previous) (diff)

comment:8 Changed 6 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: sudheerhebbale added

Has duplicate #68695.

comment:9 Changed 5 months ago by ConnectGrid

I just want to say thanks to @ryandesign for his hard work, and everyone contributing possible solutions and pointers.

In the meantime, I've finally utilized Docker on my Mac. Been avoiding it due to it feeling heavy and foreign, but once I worked through the setup, I have MongoDB 7.0 running well.

Once installed, the trick was this load command:

docker run -d -p 27017:27017 --name mongo mongo:latest

That exposes Port 27017 as if MongoDB was installed locally, not in a Docker container.

I voted to start from scratch with my databases, as I wasn't sure how to bring them over manually, since I hadn't taken a dump beforehand. If it is possible to copy over the /db/ directory manually, that may work.

comment:10 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

In f0116c0ee1a82d0854b664ad2050c850c6c46b90/macports-ports (master):

mongodb, mongodb-devel: Update wheel to 0.42.0

Closes: #67746

Note: See TracTickets for help on using tickets.