[Owncloud] Building the Windows Client Issues

Jeremie Tessier poik007 at gmail.com
Thu Oct 24 08:11:51 UTC 2013


Hello everyone, I've been trying to build the windows client for a few days
now and I'm having some issues doing it. At first, I just want to build it
as-is, without making any modification, but I always get stuck. I think
that the guidehttp://doc.owncloud.org/desktop/1.4/building.html has some
issues as well, either it's not finished or outdated in some fashion...

I started by adding the repositories for OpenSUSE12.2 (but the step that
talks about
http://pmbs.links2linux.org/download/mingw:/32/openSUSE_12.1/x86_64/mingw32-cross-nsis-plugin-processes-0-1.1.x86_64.rpm
is
broken, I had to find the same rpm somewhere else because the link has been
dead for a few weeks now)

Then the generic build instructions, when I use mingw32-cmake on ocsync, I
get that output:

linux-taib:/home/jtessier/win/ocsync-build # mingw32-cmake
-DCMAKE_BUILD_TYPE="Debug" ../ocsync
-- The C compiler identification is GNU 4.8.1
-- Check for working C compiler: /usr/bin/i686-w64-mingw32-gcc
-- Check for working C compiler: /usr/bin/i686-w64-mingw32-gcc --
works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Performing Test WITH_FPIC
-- Performing Test WITH_FPIC - Success
-- Performing Test WITH_STACK_PROTECTOR
-- Performing Test WITH_STACK_PROTECTOR - Success
-- Found CMocka:
/usr/i686-w64-mingw32/sys-root/mingw/bin/libcmocka.dll
-- Looking for argp.h
-- Looking for argp.h - not found
-- Looking for nanosleep in rt
-- Looking for nanosleep in rt - not found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - not found
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for asprintf
-- Looking for asprintf - not found
-- Looking for fnmatch
-- Looking for fnmatch - not found
-- Looking for timegm
-- Looking for timegm - not found
-- Looking for strerror_r
-- Looking for strerror_r - not found
-- Looking for utimes
-- Looking for utimes - not found
-- Looking for lstat
-- Looking for lstat - not found
-- Looking for __mingw_asprintf
-- Looking for __mingw_asprintf - found
-- Copy file from /home/jtessier/win/ocsync/CTestCustom.cmake to
/home/jtessier/win/ocsync-build/CTestCustom.cmake
-- The CXX compiler identification is GNU 4.8.1
-- Check for working CXX compiler: /usr/bin/i686-w64-mingw32-g++
-- Check for working CXX compiler: /usr/bin/i686-w64-mingw32-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PKG_CONFIG: /usr/bin/pkg-config (found version "0.25")
-- checking for module 'neon'
--   found neon, version 0.30.0
-- Found Neon: /usr/i686-w64-mingw32/sys-root/mingw/lib/libneon.dll.a
-- neon-config executable: /usr/i686-w64-mingw32/sys-root/mingw/bin/neon-config
-- libneon has been compiled with LFS support
-- checking for module 'sqlite3'
--   found sqlite3, version 3.7.6.2
-- Found SQLite3: /usr/i686-w64-mingw32/sys-root/mingw/lib/libsqlite3.dll.a
-- Found Iniparser:
/usr/i686-w64-mingw32/sys-root/mingw/lib/libiniparser.dll.a
-- neon-config executable: /usr/i686-w64-mingw32/sys-root/mingw/bin/neon-config
-- libneon has been compiled with LFS support
-- Copy file from /home/jtessier/win/ocsync/config/ocsync.conf to
/home/jtessier/win/ocsync-build/config/ocsync.conf
-- Copy file from /home/jtessier/win/ocsync/config/ocsync_exclude.conf
to /home/jtessier/win/ocsync-build/config/ocsync_exclude.conf
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.1")
-- latex command LATEX_COMPILER not found but usually required. You
will probably get warnings and user inetraction on doxy run.
-- makeindex command MAKEINDEX_COMPILER not found but usually required.
-- dvips command DVIPS_CONVERTER not found but usually required.
-- Generate /home/jtessier/win/ocsync-build/doc/doxy.config from doxy.config.in
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    SHARE_INSTALL_DIR


-- Build files have been written to: /home/jtessier/win/ocsync-build

Then I run make and there's a bunch of text outputting (I won't paste it
all because I don't think it's all relevant) and it seems to work (it
doesn't fail, at least)

Scanning dependencies of target cstdlib
Linking C static library libcstdlib.a
Scanning dependencies of target ocsync
Linking CXX shared library libocsync.dll
Scanning dependencies of target httpbflib
Linking C static library libhttpbflib.a
Scanning dependencies of target ocsync_dummy
Linking C shared module ocsync_dummy.dll
Scanning dependencies of target ocsync_owncloud
Linking C shared module ocsync_owncloud.dll
Scanning dependencies of target ocsync_client
Linking C executable ocsync.exe

And then I go to build mirall with

mingw32-cmake -DCMAKE_BUILD_TYPE="Debug" ../mirall
-DCSYNC_BUILD_PATH=/home/jtessier/win/ocsync-build
-DCSYNC_INCLUDE_PATH=/home/jtessier/win/ocsync/src
-DCMAKE_TOOLCHAIN_FILE=/home/jtessier/win/mirall/admin/win/Toolchain-mingw32-openSUSE.cmake

And here's the output, there are some warnings here and there but it seems
like it worked?

-- The C compiler identification is GNU 4.8.1
-- The CXX compiler identification is GNU 4.8.1
-- Check for working C compiler: /usr/bin/i686-w64-mingw32-gcc
-- Check for working C compiler: /usr/bin/i686-w64-mingw32-gcc --
works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/i686-w64-mingw32-g++
-- Check for working CXX compiler: /usr/bin/i686-w64-mingw32-g++ --
works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Could not find Qt5, searching for Qt4 instead...
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found.
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found OpenGL: opengl32
-- Found ZLIB: /usr/i686-w64-mingw32/sys-root/mingw/lib/libz.dll.a
(found version "1.2.7")
-- Found PNG: /usr/i686-w64-mingw32/sys-root/mingw/lib/libpng.dll.a
(found version "1.5.11")
-- Found JPEG: /usr/i686-w64-mingw32/sys-root/mingw/lib/libjpeg.dll.a
-- Found TIFF: /usr/i686-w64-mingw32/sys-root/mingw/lib/libtiff.dll.a
(found version "4.0.2")
-- Found Qt4: i686-w64-mingw32-qmake (found suitable version "4.8.4",
required is "4.7.0")
-- Found PKG_CONFIG: /usr/bin/pkg-config (found version "0.25")
-- checking for module 'neon'
--   found neon, version 0.30.0
-- Found Neon: /usr/i686-w64-mingw32/sys-root/mingw/lib/libneon.dll.a
-- neon-config executable: /usr/i686-w64-mingw32/sys-root/mingw/bin/neon-config
-- libneon has been compiled with LFS support
CMake Warning (dev) at cmake/modules/FindNeon.cmake:67 (SET):
  Cannot set "NEON_WITH_LFS": current scope has no parent.
Call Stack (most recent call first):
  CMakeLists.txt:78 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
-- Found Csync: /home/jtessier/win/ocsync-build/src/libocsync.dll
-- Could NOT find INOTIFY (missing:  INOTIFY_INCLUDE_DIR)
-- Could NOT find Sphinx (missing:  SPHINX_EXECUTABLE)
-- Could NOT find PdfLatex (missing:  PDFLATEX_EXECUTABLE)
-- Found QtKeyChain:
/usr/i686-w64-mingw32/sys-root/mingw/bin/libqtkeychain.dll
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:
    BIN_INSTALL_DIR
    INCLUDE_INSTALL_DIR
    LIB_INSTALL_DIR
    SHARE_INSTALL_DIR
    SHARE_INSTALL_PREFIX
-- Build files have been written to: /home/jtessier/win/mirall-build

Then I run make... :(

/home/jtessier/win/mirall/src/mirall/csyncthread.h:36:20: error:
'CSYNC_STATUS' was not declared in this scope
Q_DECLARE_METATYPE(CSYNC_STATUS)
/usr/i686-w64-mingw32/sys-root/mingw/include/QtCore/qmetatype.h:268:25:
note: in definition of macro 'Q_DECLARE_METATYPE'
struct QMetaTypeId< TYPE >
/usr/i686-w64-mingw32/sys-root/mingw/include/QtCore/qmetatype.h:268:30:
error: template argument 1 is invalid
struct QMetaTypeId< TYPE >
/home/jtessier/win/mirall/src/mirall/csyncthread.h:36:1: note: in
expansion of macro 'Q_DECLARE_METATYPE'
Q_DECLARE_METATYPE(CSYNC_STATUS)
In file included from /home/jtessier/win/mirall/src/mirall/folder.h:22:0,
    from /home/jtessier/win/mirall/src/mirall/folderman.h:23,
    from /home/jtessier/win/mirall/src/mirall/folderman.cpp:15:
/home/jtessier/win/mirall/src/mirall/csyncthread.h:59:40: error:
'CSYNC_STATUS' has not been declared
    static QString csyncErrorToString( CSYNC_STATUS);
make[2]: *** [src/CMakeFiles/owncloudsync.dir/mirall/folderman.cpp.obj] Error 1
make[2]: Leaving directory `/home/jtessier/win/mirall-build'
make[1]: *** [src/CMakeFiles/owncloudsync.dir/all] Error 2
make[1]: Leaving directory `/home/jtessier/win/mirall-build'
make: *** [all] Error 2

I'm not used to building stuff with cmake, but I know C++ errors when I see
them [image: :-1:]

I'm kinda stuck there, I really wanted to play around with the source and
see if I could make it do crazy things but being stuck on building the
thing is really hindering my progress, thanks in advance :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/owncloud/attachments/20131024/6641510c/attachment.html>


More information about the Owncloud mailing list