EricTheMagician / DriveFS

A google drive fuse filesystem implemented in C++
Mozilla Public License 2.0
63 stars 7 forks source link

Compiling on Ubuntu Disco Dingo #10

Open sabrehagen opened 5 years ago

sabrehagen commented 5 years ago

Here's a Dockerfile I'm using to set up DriveFS on Ubuntu Disco Dingo with

docker build -t drivefs .

FROM ubuntu:19.04

# Install build dependencies
RUN apt-get update -qq && \
  apt-get install -qq \
  cmake \
  g++ \
  git \
  fuse3 \
  libboost-all-dev \
  libfuse3-3 \
  libfuse3-dev \
  libjemalloc-dev \
  libmongoc-dev \
  mongodb

# Install DriveFS
RUN git clone https://github.com/thejinx0r/DriveFS.git && \
  cd DriveFS && \
  git submodule init && \
  git submodule update && \
  mkdir build && \
  cd build && \
  DUSE_FUSE3=1 cmake .. && \
  make -j 8

# Start the application
CMD ./DriveFS

The build log errors with

-- The CXX compiler identification is GNU 8.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
  /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.13/Modules/FindPkgConfig.cmake:39 (find_package_handle_standard_args)
  CMakeLists.txt:49 (find_package)

-- Configuring incomplete, errors occurred!
See also "/DriveFS/build/CMakeFiles/CMakeOutput.log".
The command '/bin/sh -c git clone https://github.com/thejinx0r/DriveFS.git &&   cd DriveFS &&   git submodule init &&   git submodule update &&   mkdir build &&   cd build &&   DUSE_FUSE3=1 cmake .. &&   make -j 8' returned a non-zero code: 1

Could you advise as to which package is missing please?

EricTheMagician commented 5 years ago

You need to install pkgconfig as well with the apt-get install.

Eric

On Sat, Jul 27, 2019 at 8:58 AM Jackson Delahunt notifications@github.com wrote:

Here's a Dockerfile I'm using to set up DriveFS on Ubuntu Disco Dingo with

docker build -t drivefs .

FROM ubuntu:19.04

Install build dependenciesRUN apt-get update -qq && \

apt-get install -qq \ cmake \ g++ \ git \ fuse3 \ libboost-all-dev \ libfuse3-3 \ libfuse3-dev \ libjemalloc-dev \ libmongoc-dev \ mongodb

Install DriveFSRUN git clone https://github.com/thejinx0r/DriveFS.git && \

cd DriveFS && \ git submodule init && \ git submodule update && \ mkdir build && \ cd build && \ DUSE_FUSE3=1 cmake .. && \ make -j 8

Start the applicationCMD ./DriveFS

The build log errors with

-- The CXX compiler identification is GNU 8.3.0 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Error at /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) Call Stack (most recent call first): /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE) /usr/share/cmake-3.13/Modules/FindPkgConfig.cmake:39 (find_package_handle_standard_args) CMakeLists.txt:49 (find_package)

-- Configuring incomplete, errors occurred! See also "/DriveFS/build/CMakeFiles/CMakeOutput.log". The command '/bin/sh -c git clone https://github.com/thejinx0r/DriveFS.git && cd DriveFS && git submodule init && git submodule update && mkdir build && cd build && DUSE_FUSE3=1 cmake .. && make -j 8' returned a non-zero code: 1

Could you advise as to which package is missing please?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/thejinx0r/DriveFS/issues/10?email_source=notifications&email_token=AACO63CLLKKA4DXSC5R4FXTQBRA5ZA5CNFSM4IHJIJCKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HB3DQHQ, or mute the thread https://github.com/notifications/unsubscribe-auth/AACO63A6NT5ZTVKY5P4E7P3QBRA5ZANCNFSM4IHJIJCA .

sabrehagen commented 5 years ago

Thank you, fixed with your advice. Now I'm receiving the following error even with fuse3, libfuse3-3, libfuse3-dev available and DUSE_FUSE3=1 set. Any advice?

-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for one of the modules 'fuse'
CMake Error at /usr/share/cmake-3.13/Modules/FindPkgConfig.cmake:679 (message):
  None of the required 'fuse' found
Call Stack (most recent call first):
  CMakeLists.txt:57 (pkg_search_module)
T-REX-XP commented 5 years ago

Thank you, fixed with your advice. Now I'm receiving the following error even with fuse3, libfuse3-3, libfuse3-dev available and DUSE_FUSE3=1 set. Any advice?

-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for one of the modules 'fuse'
CMake Error at /usr/share/cmake-3.13/Modules/FindPkgConfig.cmake:679 (message):
  None of the required 'fuse' found
Call Stack (most recent call first):
  CMakeLists.txt:57 (pkg_search_module)

hello, i have fixed all dependencies by adding this lines to docker file: RUN apt-get install -qq pkg-config RUN apt-get install -qq libfuse-dev

But i have got many errors during compilation, usually with mongocxx

here is the part of exception: In file included from /DriveFS/build/mongocxx/src/mongocxx/src/mongocxx/exception/private/mongoc_error.hh:19, from /DriveFS/build/mongocxx/src/mongocxx/src/mongocxx/bulk_write.cpp:22: /DriveFS/build/mongocxx/src/mongocxx/src/mongocxx/private/libmongoc.hh:58:61: warning: 'int64_t mongoc_collection_count(mongoc_collection_t*, mongoc_query_flags_t, const bson_t*, int64_t, int64_t, const mongoc_read_prefs_t*, bson_error_t*)' is deprecated: Use mongoc_collection_count_documents or mongoc_collection_estimated_document_count instead [-Wdeprecated-declarations] extern MONGOCXX_API mongocxx::test_util::mock<decltype(&mongoc_##name)>& name;

EricTheMagician commented 5 years ago

Great. I haven't had time to check it out yet.

What you have sent are warnings, which are or side of my control. Do you have compilation errors?

On Tue., Jul. 30, 2019, 17:42 T-REX-XP, notifications@github.com wrote:

Thank you, fixed with your advice. Now I'm receiving the following error even with fuse3, libfuse3-3, libfuse3-dev available https://github.com/cloud-computer/cloud-computer/blob/drive-fs/infrastructure/containers/drivefs/Dockerfile#L12 and DUSE_FUSE3=1 set. Any advice?

-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") -- Checking for one of the modules 'fuse' CMake Error at /usr/share/cmake-3.13/Modules/FindPkgConfig.cmake:679 (message): None of the required 'fuse' found Call Stack (most recent call first): CMakeLists.txt:57 (pkg_search_module)

hello, i have fixed all dependencies by adding this lines to docker file: RUN apt-get install -qq pkg-config RUN apt-get install -qq libfuse-dev

But i have got many errors during compilation, usually with mongocxx

here is the part of exception: In file included from /DriveFS/build/mongocxx/src/mongocxx/src/mongocxx/exception/private/mongoc_error.hh:19, from /DriveFS/build/mongocxx/src/mongocxx/src/mongocxx/bulk_write.cpp:22: /DriveFS/build/mongocxx/src/mongocxx/src/mongocxx/private/libmongoc.hh:58:61: warning: 'int64_t mongoc_collection_count(mongoc_collection_t, mongoc_query_flags_t, const bson_t, int64_t, int64_t, const mongoc_read_prefs_t, bson_error_t)' is deprecated: Use mongoc_collection_count_documents or mongoc_collection_estimated_document_count instead [-Wdeprecated-declarations] extern MONGOCXX_API mongocxx::testutil::mock<decltype(&mongoc##name)>& name;

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/thejinx0r/DriveFS/issues/10?email_source=notifications&email_token=AACO63CC7VCKOTT47A24UE3QCCYUHA5CNFSM4IHJIJCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3FMZNI#issuecomment-516607157, or mute the thread https://github.com/notifications/unsubscribe-auth/AACO63AVJ7OJMVOHTILHRZLQCCYUHANCNFSM4IHJIJCA .

sabrehagen commented 5 years ago

I get

-- Installing: /opt/drivefs/external/lib/cpprestsdk/cpprestsdk-targets-release.cmake
[ 48%] Completed 'cpprest'
[ 48%] Built target cpprest
make: *** [Makefile:84: all] Error 2
The command '/bin/sh -c git clone https://github.com/thejinx0r/DriveFS.git /opt/drivefs &&   cd /opt/drivefs &&   git submodule init &&   git submodule update &&   mkdir build &&   cd build &&   DUSE_FUSE3=1 cmake .. &&   make -j 8' returned a non-zero code: 2
error Command failed with exit code 2.
mcadam commented 5 years ago

If that helps, here is my dockerfile

FROM archlinux/base:latest

RUN pacman -Sy --noconfirm gcc make cmake pkgconf mongo-c-driver boost jemalloc fuse3 git

WORKDIR /app
ADD . .

RUN cmake -DUSE_FUSE3=1 . && make -j 8

ENTRYPOINT ["/app/DriveFS"]
CMD ["--help"]