Skip to content

build broken with USE_MMAP=On #7127

@brunopostle

Description

@brunopostle

Bug Description

This is new since 9th September. IfcOpenShell has a new rocksdb dependency, I see this error:

[  3%] Building CXX object CMakeFiles/IfcParse.dir/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp.o
/usr/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_DATE_TIME_DYN_LINK -DBOOST_DATE_TIME_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_IOSTREAMS_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DHAS_SCHEMA_2x3 -DHAS_SCHEMA_4 -DHAS_SCHEMA_4x1 -DHAS_SCHEMA_4x2 -DHAS_SCHEMA_4x3 -DHAS_SCHEMA_4x3_add1 -DHAS_SCHEMA_4x3_add2 -DHAS_SCHEMA_4x3_tc1 -DIFC_SHARED_BUILD -DIFOPSH_WITH_CGAL -DIFOPSH_WITH_OPENCASCADE -DIfcParse_EXPORTS -DSCHEMA_SEQ="(2x3)(4)(4x1)(4x2)(4x3)(4x3_tc1)(4x3_add1)(4x3_add2)" -DUSE_MMAP -DWITH_HDF5 -DWITH_IFCXML -D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR -I/usr/include/opencascade -I/usr/include/libxml2 -I/usr/include/eigen3 -I/usr/include -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DNDEBUG -std=gnu++17 -fPIC   -Wall -Wextra -Wno-maybe-uninitialized -Wno-deprecated-copy -fPIC -DIFC_PARSE_EXPORTS -MD -MT CMakeFiles/IfcParse.dir/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp.o -MF CMakeFiles/IfcParse.dir/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp.o.d -o CMakeFiles/IfcParse.dir/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp.o -c /builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp
/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp:4:10: fatal error: rocksdb/table.h: No such file or directory
    4 | #include <rocksdb/table.h>
      |          ^~~~~~~~~~~~~~~~~

So I've installed rocksdb-9.3.1 from fedora packages and now I get this error:

[  3%] Building CXX object CMakeFiles/IfcParse.dir/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp.o
/usr/bin/g++ -DBOOST_ALL_NO_LIB -DBOOST_DATE_TIME_DYN_LINK -DBOOST_DATE_TIME_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_IOSTREAMS_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DHAS_SCHEMA_2x3 -DHAS_SCHEMA_4 -DHAS_SCHEMA_4x1 -DHAS_SCHEMA_4x2 -DHAS_SCHEMA_4x3 -DHAS_SCHEMA_4x3_add1 -DHAS_SCHEMA_4x3_add2 -DHAS_SCHEMA_4x3_tc1 -DIFC_SHARED_BUILD -DIFOPSH_WITH_CGAL -DIFOPSH_WITH_OPENCASCADE -DIfcParse_EXPORTS -DSCHEMA_SEQ="(2x3)(4)(4x1)(4x2)(4x3)(4x3_tc1)(4x3_add1)(4x3_add2)" -DUSE_MMAP -DWITH_HDF5 -DWITH_IFCXML -D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR -I/usr/include/opencascade -I/usr/include/libxml2 -I/usr/include/eigen3 -I/usr/include -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DNDEBUG -std=gnu++17 -fPIC   -Wall -Wextra -Wno-maybe-uninitialized -Wno-deprecated-copy -fPIC -DIFC_PARSE_EXPORTS -MD -MT CMakeFiles/IfcParse.dir/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp.o -MF CMakeFiles/IfcParse.dir/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp.o.d -o CMakeFiles/IfcParse.dir/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp.o -c /builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp
/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp:418:66: warning: "/*" within comment [-Wcomment]
  418 |         tbo.filter_policy.reset(rocksdb::NewBloomFilterPolicy(10 /*bits/key/, false));
In file included from /usr/include/rocksdb/configurable.h:18,
                 from /usr/include/rocksdb/customizable.h:11,
                 from /usr/include/rocksdb/memory_allocator.h:10,
                 from /usr/include/rocksdb/cache.h:21,
                 from /usr/include/rocksdb/table.h:25,
                 from /builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp:4:
/usr/include/rocksdb/status.h:35:7: error: redefinition of ‘class rocksdb::Status’
   35 | class Status {
      |       ^~~~~~
In file included from /builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcParse.h:37,
                 from /builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.h:24,
                 from /builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/IfcFile.cpp:1:
/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/storage.h:12:11: note: previous definition of ‘class rocksdb::Status’
   12 |     class Status {};
      |           ^~~~~~
/usr/include/rocksdb/status.h:536:38: error: definition of implicitly-declared ‘constexpr rocksdb::Status::Status(const rocksdb::Status&)’
  536 | inline Status::Status(const Status& s)
      |                                      ^
/usr/include/rocksdb/status.h:546:40: error: ‘Severity’ has not been declared
  546 | inline Status::Status(const Status& s, Severity sev)
      |                                        ^~~~~~~~
/usr/include/rocksdb/status.h:546:8: error: no declaration matches ‘rocksdb::Status::Status(const rocksdb::Status&, int)’
  546 | inline Status::Status(const Status& s, Severity sev)
      |        ^~~~~~
/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/storage.h:12:11: note: candidates are: ‘constexpr rocksdb::Status::Status(rocksdb::Status&&)’
   12 |     class Status {};
      |           ^~~~~~
/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/storage.h:12:11: note:                 ‘constexpr rocksdb::Status::Status(const rocksdb::Status&)’
/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/storage.h:12:11: note:                 ‘constexpr rocksdb::Status::Status()’
/builddir/build/BUILD/IfcOpenShell-0.8.4-build/IfcOpenShell-0.8.4/src/ifcparse/storage.h:12:11: note: ‘class rocksdb::Status’ defined here
/usr/include/rocksdb/status.h:556:49: error: definition of implicitly-declared ‘constexpr rocksdb::Status& rocksdb::Status::operator=(const rocksdb::Status&)’
  556 | inline Status& Status::operator=(const Status& s) {
      |                                                 ^
etc...

### Attachments

_No response_

### Debug and Error Output

```true

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions