28msec / gridfs-fuse

Apache License 2.0
26 stars 4 forks source link

Use of undeclared identifier 'MREMAP_MAYMOVE' #9

Open retrography opened 8 years ago

retrography commented 8 years ago

Trying to compile gridfs-fuse on El Capitan, I get:

src/file.cpp:205:22: error: use of undeclared identifier 'MREMAP_MAYMOVE'

I am using libmongoclient 2.6.11 and libmemcached 1.0.18. Boost version is 1.60.0.

Here is the full compiler/brew output:

==> Cloning https://github.com/28msec/gridfs-fuse.git
Updating /Library/Caches/Homebrew/gridfs-fuse--git
git config remote.origin.url https://github.com/28msec/gridfs-fuse.git
git config remote.origin.fetch +refs/heads/master:refs/remotes/origin/master
git fetch origin
==> Checking out branch master
git checkout -f master --
Already on 'master'
Your branch is up-to-date with 'origin/master'.
git reset --hard origin/master
HEAD is now at eb06cf9 Merge pull request #7 from 28msec/stricter-dependencies
==> cmake .. -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/gridfs-fuse/HEAD -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=ON -Wno-dev
-- The C compiler identification is AppleClang 7.0.2.7000181
-- The CXX compiler identification is AppleClang 7.0.2.7000181
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- MONGO_DB: gridfs_ctests
-- MONGO_ADMIN_USER:
-- MONGO_ADMIN_PASSWORD:
-- MONGO_USER:
-- MONGO_PASSWORD:
-- MONGO_CONN_STRING: localhost:27017
-- Found FUSE: /usr/local/lib/libosxfuse.dylib
-- Found fuse library -- /usr/local/lib/libosxfuse.dylib
-- Found LIBMEMCACHED: /usr/local/lib/libmemcached.dylib
-- Found LIBMEMCACHED_UTIL: /usr/local/lib/libmemcachedutil.dylib
-- Found libmemcached libraries -- /usr/local/lib/libmemcached.dylib/usr/local/lib/libmemcachedutil.dylib
-- Found MONGO: /usr/local/lib/libmongoclient.dylib
-- Found mongo library -- /usr/local/lib/libmongoclient.dylib
-- Boost version: 1.60.0
-- Found the following Boost libraries:
--   system
-- Found BOOST SYSTEM library -- /usr/local/lib/libboost_system-mt.dylib
-- ADD_TEST: gridfs-fuse-simple /tmp/gridfs-fuse20160229-39850-1fllk07/build/test/simple.sh
-- ADD_TEST: gridfs-fuse-parallel /tmp/gridfs-fuse20160229-39850-1fllk07/build/test/parallel.sh
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/gridfs-fuse20160229-39850-1fllk07/build
==> make install
/usr/local/Cellar/cmake/3.4.3/bin/cmake -H/tmp/gridfs-fuse20160229-39850-1fllk07 -B/tmp/gridfs-fuse20160229-39850-1fllk07/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/Cellar/cmake/3.4.3/bin/cmake -E cmake_progress_start /tmp/gridfs-fuse20160229-39850-1fllk07/build/CMakeFiles /tmp/gridfs-fuse20160229-39850-1fllk07/build/CMakeFiles/progress.marks
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/Makefile2 all
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f bin/CMakeFiles/gridfs.dir/build.make bin/CMakeFiles/gridfs.dir/depend
cd /tmp/gridfs-fuse20160229-39850-1fllk07/build && /usr/local/Cellar/cmake/3.4.3/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/gridfs-fuse20160229-39850-1fllk07 /tmp/gridfs-fuse20160229-39850-1fllk07/bin /tmp/gridfs-fuse20160229-39850-1fllk07/build /tmp/gridfs-fuse20160229-39850-1fllk07/build/bin /tmp/gridfs-fuse20160229-39850-1fllk07/build/bin/CMakeFiles/gridfs.dir/DependInfo.cmake --color=
Scanning dependencies of target gridfs
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f bin/CMakeFiles/gridfs.dir/build.make bin/CMakeFiles/gridfs.dir/build
[  9%] Building CXX object bin/CMakeFiles/gridfs.dir/__/src/filesystem_operations.cpp.o
cd /tmp/gridfs-fuse20160229-39850-1fllk07/build/bin && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++    -I/tmp/gridfs-fuse20160229-39850-1fllk07/src -I/tmp/gridfs-fuse20160229-39850-1fllk07/include -I/usr/local/include/osxfuse -I/usr/local/include  -Os -w -pipe -march=native -mmacosx-version-min=10.11  -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11   -o CMakeFiles/gridfs.dir/__/src/filesystem_operations.cpp.o -c /tmp/gridfs-fuse20160229-39850-1fllk07/src/filesystem_operations.cpp
[ 18%] Building CXX object bin/CMakeFiles/gridfs.dir/__/src/gridfs_fuse.cpp.o
[ 27%] Building CXX object bin/CMakeFiles/gridfs.dir/__/src/auth_hook.cpp.o
cd /tmp/gridfs-fuse20160229-39850-1fllk07/build/bin && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++    -I/tmp/gridfs-fuse20160229-39850-1fllk07/src -I/tmp/gridfs-fuse20160229-39850-1fllk07/include -I/usr/local/include/osxfuse -I/usr/local/include  -Os -w -pipe -march=native -mmacosx-version-min=10.11  -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11   -o CMakeFiles/gridfs.dir/__/src/gridfs_fuse.cpp.o -c /tmp/gridfs-fuse20160229-39850-1fllk07/src/gridfs_fuse.cpp
cd /tmp/gridfs-fuse20160229-39850-1fllk07/build/bin && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++    -I/tmp/gridfs-fuse20160229-39850-1fllk07/src -I/tmp/gridfs-fuse20160229-39850-1fllk07/include -I/usr/local/include/osxfuse -I/usr/local/include  -Os -w -pipe -march=native -mmacosx-version-min=10.11  -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11   -o CMakeFiles/gridfs.dir/__/src/auth_hook.cpp.o -c /tmp/gridfs-fuse20160229-39850-1fllk07/src/auth_hook.cpp
[ 36%] Building CXX object bin/CMakeFiles/gridfs.dir/__/src/filesystem_entry.cpp.o
cd /tmp/gridfs-fuse20160229-39850-1fllk07/build/bin && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++    -I/tmp/gridfs-fuse20160229-39850-1fllk07/src -I/tmp/gridfs-fuse20160229-39850-1fllk07/include -I/usr/local/include/osxfuse -I/usr/local/include  -Os -w -pipe -march=native -mmacosx-version-min=10.11  -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11   -o CMakeFiles/gridfs.dir/__/src/filesystem_entry.cpp.o -c /tmp/gridfs-fuse20160229-39850-1fllk07/src/filesystem_entry.cpp
[ 45%] Building CXX object bin/CMakeFiles/gridfs.dir/__/src/directory.cpp.o
cd /tmp/gridfs-fuse20160229-39850-1fllk07/build/bin && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++    -I/tmp/gridfs-fuse20160229-39850-1fllk07/src -I/tmp/gridfs-fuse20160229-39850-1fllk07/include -I/usr/local/include/osxfuse -I/usr/local/include  -Os -w -pipe -march=native -mmacosx-version-min=10.11  -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11   -o CMakeFiles/gridfs.dir/__/src/directory.cpp.o -c /tmp/gridfs-fuse20160229-39850-1fllk07/src/directory.cpp
[ 54%] Building CXX object bin/CMakeFiles/gridfs.dir/__/src/file.cpp.o
cd /tmp/gridfs-fuse20160229-39850-1fllk07/build/bin && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++    -I/tmp/gridfs-fuse20160229-39850-1fllk07/src -I/tmp/gridfs-fuse20160229-39850-1fllk07/include -I/usr/local/include/osxfuse -I/usr/local/include  -Os -w -pipe -march=native -mmacosx-version-min=10.11  -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11   -o CMakeFiles/gridfs.dir/__/src/file.cpp.o -c /tmp/gridfs-fuse20160229-39850-1fllk07/src/file.cpp
[ 63%] Building CXX object bin/CMakeFiles/gridfs.dir/__/src/proc.cpp.o
cd /tmp/gridfs-fuse20160229-39850-1fllk07/build/bin && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++    -I/tmp/gridfs-fuse20160229-39850-1fllk07/src -I/tmp/gridfs-fuse20160229-39850-1fllk07/include -I/usr/local/include/osxfuse -I/usr/local/include  -Os -w -pipe -march=native -mmacosx-version-min=10.11  -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11   -o CMakeFiles/gridfs.dir/__/src/proc.cpp.o -c /tmp/gridfs-fuse20160229-39850-1fllk07/src/proc.cpp
[ 72%] Building CXX object bin/CMakeFiles/gridfs.dir/__/src/fileinfo.cpp.o
cd /tmp/gridfs-fuse20160229-39850-1fllk07/build/bin && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++    -I/tmp/gridfs-fuse20160229-39850-1fllk07/src -I/tmp/gridfs-fuse20160229-39850-1fllk07/include -I/usr/local/include/osxfuse -I/usr/local/include  -Os -w -pipe -march=native -mmacosx-version-min=10.11  -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11   -o CMakeFiles/gridfs.dir/__/src/fileinfo.cpp.o -c /tmp/gridfs-fuse20160229-39850-1fllk07/src/fileinfo.cpp
/tmp/gridfs-fuse20160229-39850-1fllk07/src/file.cpp:205:22: error: use of undeclared identifier 'MREMAP_MAYMOVE'
                     MREMAP_MAYMOVE /* kernel is permitted to relocate the mapping to a new virtual address */);
                     ^
/tmp/gridfs-fuse20160229-39850-1fllk07/src/proc.cpp:41:36: error: cannot initialize a variable of type 'memcached_server_instance_st' (aka 'memcached_instance_st *') with an rvalue of type 'const memcached_instance_st *'
      memcached_server_instance_st lInstance =
                                   ^
/tmp/gridfs-fuse20160229-39850-1fllk07/src/proc.cpp:95:36: error: cannot initialize a variable of type 'memcached_server_instance_st' (aka 'memcached_instance_st *') with an rvalue of type 'const memcached_instance_st *'
      memcached_server_instance_st lInstance =
                                   ^
2 errors generated.
1 error generated.
make[2]: *** [bin/CMakeFiles/gridfs.dir/__/src/proc.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [bin/CMakeFiles/gridfs.dir/__/src/file.cpp.o] Error 1
make[1]: *** [bin/CMakeFiles/gridfs.dir/all] Error 2
make: *** [all] Error 2
==> Formula
Path: /Users/mah/Dropbox/Code/homebrew-tap/gridfs-fuse.rb
==> Configuration
HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew
HEAD: ae41d428b82de8c615e1a11883eb7995d489ae74
Last commit: 11 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: quad-core 64-bit sandybridge
OS X: 10.11.3-x86_64
Xcode: 7.2.1
CLT: 7.2.0.0.1.1447826929
Clang: 7.0 build 700
X11: 2.7.8 => /opt/X11
System Ruby: 2.0.0-p645
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/local/bin/ruby => /usr/local/Cellar/ruby/2.2.3/bin/ruby
Java: 1.8.0_60, 1.6.0_65-b14-468
==> ENV
CC: /usr/bin/clang
CXX: /usr/bin/clang++
OBJC: /usr/bin/clang
OBJCXX: /usr/bin/clang++
CFLAGS: -Os -w -pipe -march=native -mmacosx-version-min=10.11
CXXFLAGS: -Os -w -pipe -march=native -mmacosx-version-min=10.11
CPPFLAGS: -I/usr/local/opt/openssl/include -F/usr/local/Frameworks
LDFLAGS: -L/usr/local/opt/openssl/lib -L/usr/local/lib -F/usr/local/Frameworks -Wl,-headerpad_max_install_names
MAKEFLAGS: -j4
CMAKE_PREFIX_PATH: /usr/local/opt/openssl
CMAKE_FRAMEWORK_PATH: /usr/local/Frameworks
MACOSX_DEPLOYMENT_TARGET: 10.11
PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig
PKG_CONFIG_LIBDIR: /usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/local/Library/ENV/pkgconfig/10.11:/usr/lib/pkgconfig
PATH: /usr/local/opt/openssl/bin:/usr/local/bin:/usr/local/sbin:/opt/local/sbin:/Users/mah/.bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/texbin:/usr/local/share/python:/usr/local/MacGPG2/bin:/opt/X11/bin:/usr/local/opt/go/libexec/bin:/Users/mah/.go/bin:/usr/local/texlive/2015/bin/x86_64-darwin:/usr/local/Library/Taps/caskroom/homebrew-cask/cmd:/usr/local/Library/ENV/scm
CPATH: /usr/local/include
CpuID commented 8 years ago

/tmp/gridfs-fuse20160229-39850-1fllk07/src/proc.cpp:41:36: error: cannot initialize a variable of type 'memcached_server_instance_st' (aka 'memcached_instance_st ') with an rvalue of type 'const memcached_instance_st ' memcached_server_instance_st lInstance = ^ /tmp/gridfs-fuse20160229-39850-1fllk07/src/proc.cpp:95:36: error: cannot initialize a variable of type 'memcached_server_instance_st' (aka 'memcached_instance_st ') with an rvalue of type 'const memcached_instance_st ' memcached_server_instance_st lInstance =

Re fixing the above, just modify src/proc.cpp accordingly (doesn't fix the MREMAP_MAYMOVE part though):

--- 28msec-gridfs-fuse.orig/src/proc.cpp    2016-07-25 09:37:07.000000000 +1000
+++ 28msec-gridfs-fuse/src/proc.cpp 2016-07-25 09:35:29.000000000 +1000
@@ -38,7 +38,7 @@
     uint32_t lNumServers = memcached_server_count(lMaster);
     for (uint32_t i = 0; i < lNumServers; ++i)
     {
-      memcached_server_instance_st lInstance =
+      const memcached_instance_st * lInstance =
         memcached_server_instance_by_position(lMaster, i);
       std::ostringstream lServerName;
       lServerName
@@ -92,7 +92,7 @@
     uint32_t lNumServers = memcached_server_count(lMaster);
     for (uint32_t i = 0; i < lNumServers; ++i)
     {
-      memcached_server_instance_st lInstance =
+      const memcached_instance_st * lInstance =
         memcached_server_instance_by_position(lMaster, i);

       const char* lName = memcached_server_name(lInstance);