[Problem] Building PSMDB 3.4.4 from source with rocksdb 5.5.1 (macOS)

17 views
Skip to first unread message

Mark G.

unread,
Jun 30, 2017, 11:37:24 AM6/30/17
to Percona Discussion
Hi all,

I've had pretty good success on macOS building PSMDB using homebrew for my rocksdb dependencies and the source download from percona.com. I've been able to compile up to rocksdb 5.4.6 without error using:

scons install --inmemory --wiredtiger --rocksdb --disable-warnings-as-errors all

as my build line. 

However, rocksdb 5.5.1just hit the homebrew repo, and I'm now getting the following errors:

Compiling build/opt/mongo/db/storage/rocks/src/rocks_recovery_unit.o
src
/mongo/db/storage/rocks/src/rocks_recovery_unit.cpp:175:30: error: no member named 'perf_context' in namespace
     
'rocksdb'
                    rocksdb
::perf_context.internal_delete_skipped_count;
                   
~~~~~~~~~^
src
/mongo/db/storage/rocks/src/rocks_recovery_unit.cpp:181:51: error: no member named 'perf_context' in namespace
     
'rocksdb'
               
int skippedDeletionsOp = rocksdb::perf_context.internal_delete_skipped_count -
                                         
~~~~~~~~~^
2 errors generated.
scons
: *** [build/opt/mongo/db/storage/rocks/src/rocks_recovery_unit.o] Error 1
scons
: building terminated because of errors.
build
/opt/mongo/db/storage/rocks/src/rocks_recovery_unit.o failed: Error 1


It looks like some methods/members have changed internally that Percona was relying on for build purposes. I guess this post is more in the nature of a warning for those like me who are compiling from source that anything else. I doubt there is a nice flag like --disable-warnings-as-errors that will fix this at compile time! I'll try again the next build. As far as I know, there isn't a place to submit bug reports for PSMDB specifically?

--Mark G.

Denis Protivenskii

unread,
Jul 3, 2017, 3:31:59 AM7/3/17
to Percona Discussion
Hi Mark,

This issue is fixed in our recent 3.4.5 merge: https://github.com/percona/mongo-rocks/pull/69 (commit https://github.com/percona/mongo-rocks/pull/69/commits/1ebf0183ed8e8be8126f3acb65083d9ae8e03dc)

You might want to try updating MongoRocks to point to 3.4.5. Or try cherry-picking couple of commits from the PR mentioned, but you may need more than one commit then.

- Denis.

Denis Protivenskii

unread,
Jul 3, 2017, 3:34:48 AM7/3/17
to Percona Discussion
Mark, also, feel free to submit tickets to our JIRA: https://jira.percona.com/projects/PSMDB/issues/
Let me know if you can't do it because of permissions or stuff like that.


- Denis.

On Friday, June 30, 2017 at 6:37:24 PM UTC+3, Mark G. wrote:

Mark G.

unread,
Jul 10, 2017, 2:31:48 PM7/10/17
to percona-d...@googlegroups.com
Dennis,

That worked. There are a couple of warnings that show up I hadn't seen before but the compile goes through:

In file included from src/mongo/db/storage/rocks/src/rocks_recovery_unit.h:50:


src/mongo/db/storage/rocks/src/rocks_compaction_scheduler.h:46:5: warning: class 'WriteOptions' was previously declared as a struct [-Wmismatched-tags]

    class WriteOptions;

    ^

/usr/local/include/rocksdb/options.h:1061:8: note: previous use is here

struct WriteOptions {

       ^

src/mongo/db/storage/rocks/src/rocks_compaction_scheduler.h:46:5: note: did you mean struct here?

    class WriteOptions;

    ^~~~~

    struct

1 warning generated.

In file included from src/mongo/db/storage/rocks/src/rocks_record_store.cpp:65:

src/mongo/db/storage/rocks/src/rocks_compaction_scheduler.h:46:5: warning: class 'WriteOptions' was previously declared as a struct [-Wmismatched-tags]

   class WriteOptions;

   ^

/usr/local/include/rocksdb/options.h:1061:8: note: previous use is here

struct WriteOptions {

      ^

src/mongo/db/storage/rocks/src/rocks_compaction_scheduler.h:46:5: note: did you mean struct here?

   class WriteOptions;

   ^~~~~

   struct

1 warning generated.


That's repeated in a couple of other files. If you want build environment info, let me know.

Denis Protivenskii

unread,
Jul 11, 2017, 2:16:17 AM7/11/17
to percona-d...@googlegroups.com
Mark, glad to hear this. I see where the warning comes from, so it'll be fixed.

- Denis.

--
You received this message because you are subscribed to the Google Groups "Percona Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to percona-discussion+unsub...@googlegroups.com.
To post to this group, send email to percona-discussion@googlegroups.com.
Visit this group at https://groups.google.com/group/percona-discussion.
To view this discussion on the web visit https://groups.google.com/d/msgid/percona-discussion/4fd935c2-b327-4c31-a888-76959b967422%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages