Bug 243685 - databases/mongodb40-tools: Fails to package: bin/mongoreplay:No such file or directory (MONGOREPLAY option)
Summary: databases/mongodb40-tools: Fails to package: bin/mongoreplay:No such file or ...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Tobias Kortkamp
URL:
Keywords: needs-patch, needs-qa
Depends on:
Blocks:
 
Reported: 2020-01-28 22:20 UTC by Tommy P
Modified: 2020-02-02 14:48 UTC (History)
3 users (show)

See Also:
dev.ashevchuk: maintainer-feedback+
tobik: merge-quarterly+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tommy P 2020-01-28 22:20:21 UTC
===> The following configuration options are available for mongodb40-tools-4.0.8_2:
     DOCS=off: Build and/or install documentation
====> Options available for the multi SECURITY: you have to choose at least one of them
     SASL=on: SASL authentication support
     SSL=on: SSL protocol support
====> Options available for the multi TOOLS: you have to choose at least one of them
     BSONDUMP=on: BSON files into human-readable formats
     MONGODUMP=on: BSON data from the contents of a MongoDB instance
     MONGOEXPORT=on: JSON or CSV export of MongoDB instance data
     MONGOFILES=on: Interface to GridFS in a MongoDB instance
     MONGOIMPORT=on: Importing JSON, CSV, or TSV into a MongoDB instance
     MONGOREPLAY=off: Traffic capture and replay tool
     MONGORESTORE=on: BSON data to a MongoDB instance
     MONGOSTAT=on: Status of a running mongod or mongos instance
     MONGOTOP=on: Track the amount of data I/O time
===> Use 'make config' to modify these settings

----------------------------------------------------------------------------------------

===>  Staging for mongodb40-tools-4.0.8_2
===>   mongodb40-tools-4.0.8_2 depends on file: /usr/local/lib/libcrypto.so.11 - found
===>   Generating temporary packing list
for t in ./bsondump/main:bsondump ./mongodump/main:mongodump ./mongoexport/main:mongoexport ./mongofiles/main:mongofiles ./mongoimport/main:mongoimport ./mongorestore/main:mongorestore ./mongostat/main:mongostat ./mongotop/main:mongotop; do  dst=$(echo ${t} |  /usr/bin/sed -Ee 's/^[^:]*:([^:]+).*$/\1/' -e 's/^\.$/mongodb40-tools/');  src=$(/usr/bin/basename ${dst});  case ${dst} in  /*) dst=/wrkdirs/usr/ports/databases/mongodb40-tools/work/stage${dst}; /bin/mkdir -p $(/usr/bin/dirname ${dst}) ;;  *) dst=/wrkdirs/usr/ports/databases/mongodb40-tools/work/stage/usr/local/bin/${src} ;;  esac;  echo "===>  Installing ${src} as ${dst}";  install  -s -m 555 /wrkdirs/usr/ports/databases/mongodb40-tools/work/bin/${src} ${dst};  done
===>  Installing bsondump as /wrkdirs/usr/ports/databases/mongodb40-tools/work/stage/usr/local/bin/bsondump
===>  Installing mongodump as /wrkdirs/usr/ports/databases/mongodb40-tools/work/stage/usr/local/bin/mongodump
===>  Installing mongoexport as /wrkdirs/usr/ports/databases/mongodb40-tools/work/stage/usr/local/bin/mongoexport
===>  Installing mongofiles as /wrkdirs/usr/ports/databases/mongodb40-tools/work/stage/usr/local/bin/mongofiles
===>  Installing mongoimport as /wrkdirs/usr/ports/databases/mongodb40-tools/work/stage/usr/local/bin/mongoimport
===>  Installing mongorestore as /wrkdirs/usr/ports/databases/mongodb40-tools/work/stage/usr/local/bin/mongorestore
===>  Installing mongostat as /wrkdirs/usr/ports/databases/mongodb40-tools/work/stage/usr/local/bin/mongostat
===>  Installing mongotop as /wrkdirs/usr/ports/databases/mongodb40-tools/work/stage/usr/local/bin/mongotop
====> Compressing man pages (compress-man)
root@12amd64v1-default-server:/usr/ports/databases/mongodb40-tools # make package
===>  Building package for mongodb40-tools-4.0.8_2
pkg-static: Unable to access file /wrkdirs/usr/ports/databases/mongodb40-tools/work/stage/usr/local/bin/mongoreplay:No such file or directory
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/mongodb40-tools
Comment 1 Andrew Shevchuk 2020-01-29 00:53:28 UTC
Thanks for the report.
I will try to fix it.
Additionally, the mongodb40 port itself also has a build problem.
Comment 2 Tommy P 2020-01-29 01:30:19 UTC
(In reply to Andrew Shevchuk from comment #1)

That's interesting.  Hmm...  I was able to build the mongodb40 package OK in my various environments

-rw-r--r--  1 nobody  wheel  27544492 Jan 27 00:32 packages/12amd64v1-default-database/All/mongodb40-4.0.12_1.txz
-rw-r--r--  1 nobody  wheel  27522640 Jan 27 00:48 packages/12amd64v1-default-min/All/mongodb40-4.0.12_1.txz
-rw-r--r--  1 nobody  wheel  14079488 Jan 25 11:00 packages/12amd64v1-default-min/All/mongodb40-tools-4.0.8_2.txz
-rw-r--r--  1 root    wheel  27525152 Jan 27 15:30 packages/12amd64v1-default-server/All/mongodb40-4.0.12_1.txz
-rw-r--r--  1 nobody  wheel  27531744 Jan 28 08:04 packages/12amd64v1-default-test/All/mongodb40-4.0.12_1.txz
-rw-r--r--  1 nobody  wheel  14085940 Jan 28 01:33 packages/12amd64v1-default-test/All/mongodb40-tools-4.0.8_2.txz

But inspection of the logs shows these:

c++: error: unable to execute command: Killed
c++: error: clang frontend command failed due to signal (use -v to see invocation)
FreeBSD clang version 8.0.1 (tags/RELEASE_801/final 366581) (based on LLVM 8.0.1)
Target: x86_64-unknown-freebsd12.1
Thread model: posix
InstalledDir: /usr/bin
c++: note: diagnostic msg: PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script.
c++: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
c++: note: diagnostic msg: /tmp/mr-ded34d.cpp
c++: note: diagnostic msg: /tmp/mr-ded34d.sh
c++: note: diagnostic msg:

********************
scons: *** [build/opt/mongo/db/commands/mr.o] Error 254
c++: error: unable to execute command: Killed
c++: error: clang frontend command failed due to signal (use -v to see invocation)
FreeBSD clang version 8.0.1 (tags/RELEASE_801/final 366581) (based on LLVM 8.0.1)
Target: x86_64-unknown-freebsd12.1
Thread model: posix
InstalledDir: /usr/bin
c++: note: diagnostic msg: PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script.
c++: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
c++: note: diagnostic msg: /tmp/wiredtiger_kv_engine-84f5cf.cpp
c++: note: diagnostic msg: /tmp/wiredtiger_kv_engine-84f5cf.sh
c++: note: diagnostic msg:

********************
scons: *** [build/opt/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.o] Error 254
1 warning generated.
1 warning generated.
scons: building terminated because of errors.
build/opt/mongo/db/commands/mr.o failed: Error 254
build/opt/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.o failed: Error 254
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/mongodb40
=>> Cleaning up wrkdir
===>  Cleaning for mongodb40-4.0.12_1
build of databases/mongodb40 | mongodb40-4.0.12_1 ended at Sun Jan 26 20:48:52 PST 2020
build time: 04:16:16
!!! build failure encountered !!!


I'll need to check manually if these errors were generated during non-interactive mode.  I have a few other ports that failed in non-interactive mode but were successful in interactive mode.
Comment 3 Tommy P 2020-01-29 02:23:51 UTC
I figured I try with 4.0.15 since it's the most recent of the 4.0.x.  It was a successful interactive mode build:

--- Makefile.ori        2020-01-28 17:33:20.927968000 -0800
+++ Makefile    2020-01-28 17:51:10.528283000 -0800
@@ -2,7 +2,7 @@

 PORTNAME=      mongodb
 DISTVERSIONPREFIX=     r
-DISTVERSION=   4.0.12
+DISTVERSION=   4.0.15
 PORTREVISION=  1
 CATEGORIES=    databases net
 MASTER_SITES=  https://fastdl.mongodb.org/src/ \

------------------------------------------------------------------------------

===> The following configuration options are available for mongodb40-4.0.15_1:
     SASL=on: SASL authentication support
     SSL=on: SSL protocol support
===> Use 'make config' to modify these settings

------------------------------------------------------------------------------

Install file: "build/opt/mongo/mongos" as "/wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongos"
chmod 755 /wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongos
scons: done building targets.
/usr/bin/strip /wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongo
/usr/bin/strip /wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongod
/usr/bin/strip /wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongos
cp -f /wrkdirs/usr/ports/databases/mongodb40/work/mongodb-src-r4.0.15/rpm/mongod.conf /wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/etc/mongodb.conf.sample
====> Compressing man pages (compress-man)
===> Staging rc.d startup script(s)
===>  Building package for mongodb40-4.0.15_1
cp: /packages/All/mongodb40-4.0.15_1.txz: Read-only file system
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/mongodb40
Comment 4 Kubilay Kocak freebsd_committer freebsd_triage 2020-01-29 03:13:00 UTC
^Triage: Reset maintainer-feedback (pending patch)
Comment 5 Tommy P 2020-01-29 05:06:22 UTC
Non-interactive mode was successful too for databases/mongodb40:

[00:00:00] Creating the reference jail... done
[00:00:12] Mounting system devices for 12amd64v1-default-database
...
[00:00:21] Calculating ports order and dependencies
[00:00:22] Sanity checking the repository
[00:00:22] Checking packages for incremental rebuild needs
[00:00:23] Deleting mongodb40-4.0.12_1.txz: new version: 4.0.15_1
[00:00:23] Deleting stale symlinks... done
[00:00:23] Deleting empty directories... done
[00:00:24] Cleaning the build queue
[00:00:24] Sanity checking build queue
[00:00:24] Processing PRIORITY_BOOST
[00:00:24] Balancing pool
[00:00:24] Recording filesystem state for prepkg... done
[00:00:24] Building 1 packages using 1 builders
[00:00:24] Starting/Cloning builders
[00:00:44] Hit CTRL+t at any time to see build progress and stats
[00:00:44] [01] [00:00:00] Building databases/mongodb40 | mongodb40-4.0.15_1
[00:34:11] [01] [00:33:27] Finished databases/mongodb40 | mongodb40-4.0.15_1: Success
[00:34:14] Stopping 1 builders
[00:34:44] Creating pkg repository
Creating repository in /tmp/packages: 100%
Packing files for repository: 100%
[00:34:51] Committing packages to repository: /poudriere/data/packages/12amd64v1-default-database/.real_1580273631 via .latest symlink
[00:34:51] Removing old packages
[00:34:52] Built ports: databases/mongodb40
[12amd64v1-default-database] [2020-01-28_20h19m00s] [committing:] Queued: 1  Built: 1  Failed: 0  Skipped: 0  Ignored: 0  Tobuild: 0   Time: 00:34:37
[00:34:52] Logs: /poudriere/data/logs/bulk/12amd64v1-default-database/2020-01-28_20h19m00s
[00:34:52] Cleaning up
[00:34:52] Unmounting file systems

----------------------------------------------------------------

Build logs:

chmod 755 /wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongod
Install file: "build/opt/mongo/mongo" as "/wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongo"
chmod 755 /wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongo
Install file: "build/opt/mongo/mongos" as "/wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongos"
chmod 755 /wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongos
scons: done building targets.
/usr/bin/strip /wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongo
/usr/bin/strip /wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongod
/usr/bin/strip /wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/bin/mongos
cp -f /wrkdirs/usr/ports/databases/mongodb40/work/mongodb-src-r4.0.15/rpm/mongod.conf /wrkdirs/usr/ports/databases/mongodb40/work/stage/usr/local/etc/mongodb.conf.sample
====> Compressing man pages (compress-man)
===> Staging rc.d startup script(s)
===========================================================================
=======================<phase: package        >============================
===>  Building package for mongodb40-4.0.15_1
===========================================================================
=>> Cleaning up wrkdir
===>  Cleaning for mongodb40-4.0.15_1
build of databases/mongodb40 | mongodb40-4.0.15_1 ended at Tue Jan 28 20:53:13 PST 2020
build time: 00:33:29
Comment 6 commit-hook freebsd_committer freebsd_triage 2020-02-02 14:30:13 UTC
A commit references this bug:

Author: tobik
Date: Sun Feb  2 14:30:03 UTC 2020
New revision: 524960
URL: https://svnweb.freebsd.org/changeset/ports/524960

Log:
  databases/mongodb40-tools: Unbreak build with MONGOTOP=on, MONGOREPLAY=off

  ===>  Building package for mongodb40-tools-4.0.8_2
  pkg-static: Unable to access file /wrkdirs/usr/ports/databases/mongodb40-tools/work/stage/usr/local/bin/mongoreplay:No such file or directory

  PR:		243685

Changes:
  head/databases/mongodb40-tools/pkg-plist
Comment 7 commit-hook freebsd_committer freebsd_triage 2020-02-02 14:31:14 UTC
A commit references this bug:

Author: tobik
Date: Sun Feb  2 14:30:43 UTC 2020
New revision: 524961
URL: https://svnweb.freebsd.org/changeset/ports/524961

Log:
  MFH: r524960

  databases/mongodb40-tools: Unbreak build with MONGOTOP=on, MONGOREPLAY=off

  ===>  Building package for mongodb40-tools-4.0.8_2
  pkg-static: Unable to access file /wrkdirs/usr/ports/databases/mongodb40-tools/work/stage/usr/local/bin/mongoreplay:No such file or directory

  PR:		243685

  Approved by:	ports-secteam blanket

Changes:
_U  branches/2020Q1/
  branches/2020Q1/databases/mongodb40-tools/pkg-plist