Home > ownCloud > CSync and Mirall Development Setup

CSync and Mirall Development Setup

A KDE bagger

Build it!


people were asking how to set up a development setup for the syncing client we are working on to sync local files to ownCloud and vice versa currently, work title mirall. While a website about it is not yet finished, I try to summarize it here. There are some hacks here and there but that’s how I do it today. It will improve over time. Note that this is about a real development setup, not for a production build.

Linux and Windows development should go in parallel as easy as possible.

Edit: Please also refer to the official build documentation.

Building CSync

To build mirall, csync must be built first. CSync is hosted in its upstream git repo and there is also my development branch which holds the latest changes.

Overview of Build Directory setup.Clone the csync branch into a directory. In parallel to the cloned csync dir, create a new directory buildcsync as a cmake build dir. Change into buildcsync and call cmake like this:

cmake -DCMAKE_BUILD_TYPE="Debug" ../csync

and watch its output. You probably have to fulfill some dependencies, make sure to install all the needed devel packages. You will need log4c, iniparser, sqlite3 and for the modules libssh, libsmbclient and neon for the ownCloud module. Once cmake succeeds, call make to build it. So far relaxed for Linux.

To build csync for Windows, there are a couple of possibilities. The one I chose was to cross compile with mingw under openSUSE. That way I can build for all on one devel machine under my prefered system.

For that, I installed the cross compile and mingw32 packages from the openSUSE Build Service, which really demonstrates power here. I used the mingw repository. Kudos at this point to Dominik Schmidt, a Tomahawk developer, who helped me a lot to set all up and to all people who work in OBS to maintain the mingw repo.

Basically the cross compiler and libs (eg. packages mingw32-cross-gcc, mingw32-gcc-c++ and mingw32-cross-cpp) and the dependencies for the software to build have to be installed from the mingw repo. An action item is left to dig which in detail.

After installation you should have some mingw32-tools such as mingw32-cmake which should be used to build for win.

Now create a directory win and within that again buildcsync. In there, start cmake with

mingw32-cmake -DCMAKE_BUILD_TYPE="Debug" -DWITH_LOG4C=OFF ../../csync

That should do it. I did not find log4c for Win32, so I disabled it in the cmake call.
Now build it with mingw32-make and see if it creates a dll in the src subdir and csync.exe in the client dir.

Building mirall

For mirall, it works similar. Mirall uses Qt and is C++, so again a lot of packages to install. Make again sure to have the mingw32-qt packages, for example mingw32-libqt4-devel and more.

However, there are two caveats with mirall:

  • the current development state of mirall needs the latest devel version of csync which
    we just built. I tweaked the CMakefile that way that if the mirall- and csync and build*
    folders are in the same directory, the csync is found by mirall cmake in the parallel dir.
    So I do not have to install the devel version of csync in my system.
  • to build mirall for windows, it must be made sure that cmake finds the mingw32 Qt tools like moc. Since there is also the Linux moc in the system, this can confuse.
    Domme pointed me to a script that sets some variables correct values to prevent mixing:

    cat ../docmake.sh
    # %_mingw32_qt4_platform win32-g++-cross

    export QT_BINDIR=/usr/bin
    export BIN_PRE=i686-w64-mingw32

    /usr/bin/mingw32-cmake \
    -DCMAKE_BUILD_TYPE="Debug" \
    -DQMAKESPEC=win32-g++-cross \
    -DQT_MKSPECS_DIR:PATH=/usr/i686-w64-mingw32/sys-root/mingw/share/qt4/mkspecs \
    -DQT_QT_INCLUDE_DIR=/usr/i686-w64-mingw32/sys-root/mingw/include \
    -DQT_PLUGINS_DIR=/usr/i686-w64-mingw32/sys-root/mingw/lib/qt4/plugins \
    -DQT_QMAKE_EXECUTABLE=${QT_BINDIR}/${BIN_PRE}-qmake \
    -DQT_MOC_EXECUTABLE=${QT_BINDIR}/${BIN_PRE}-moc \
    -DQT_RCC_EXECUTABLE=${QT_BINDIR}/${BIN_PRE}-rcc \
    -DQT_UIC_EXECUTABLE=${QT_BINDIR}/${BIN_PRE}-uic \
    -DQT_DBUSXML2CPP_EXECUTABLE=${QT_BINDIR}/qdbusxml2cpp \
    -DQT_DBUSCPP2XML_EXECUTABLE=${QT_BINDIR}/qdbuscpp2xml ../../mirall

With that setup I can build both the Linux and Windows version quite easily. There is still a lot to be solved, such as automatted packaging and such. CMake as usual is a great help.

  1. etampl
    March 22, 2012 at 23:18

    In packages mingw32-libqt4-filesystem there is an rpm macro %{_mingw32_cmake_qt4}, which is almost identical to your ../docmake.sh script. It also uses %{_mingw32_cmake} instead of just /usr/bin/mingw32-cmake, which adds some more windows-specific environment variables like CFLAGS and LDFLAGS. I think you might be interested šŸ™‚

  2. Florian Reinhard
    March 28, 2012 at 20:29

    Hi!

    thx for the howto!

    both, the mingw_cmake_qt4 rmp script and the docmake script miss the following line:
    -DQT_LRELEASE_EXECUTABLE=${QT_BINDIR}/${BIN_PRE}-lrelease \

    since the commit of translations the cross-compile fails or requires manual manipulation of the Makefile cmake produces.

  3. April 7, 2012 at 12:40

    Hi Dragotin,

    I’ve tried both upstream repo and your dev repo but I can’t get csync to build in either case – it fails during make with:

    [ 34%] Building C object src/CMakeFiles/csync.dir/csync_config.c.o
    /tmp/csync-0.0.0-src-1/src/csync_config.c: In function ‘csync_config_load’:
    /tmp/csync-0.0.0-src-1/src/csync_config.c:55:3: error: passing argument 1 of ‘iniparser_load’ discards ‘const’ qualifier from pointer target type
    In file included from /tmp/csync-0.0.0-src-1/src/csync_config.c:23:0:
    /usr/include/iniparser.h:258:14: note: expected ‘char *’ but argument is of type ‘const char *’
    /tmp/csync-0.0.0-src-1/src/csync_config.c:60:3: error: passing argument 2 of ‘iniparser_getint’ discards ‘const’ qualifier from pointer target type
    In file included from /tmp/csync-0.0.0-src-1/src/csync_config.c:23:0:
    /usr/include/iniparser.h:150:5: note: expected ‘char *’ but argument is of type ‘const char *’
    /tmp/csync-0.0.0-src-1/src/csync_config.c:65:7: error: passing argument 2 of ‘iniparser_getint’ discards ‘const’ qualifier from pointer target type
    In file included from /tmp/csync-0.0.0-src-1/src/csync_config.c:23:0:
    /usr/include/iniparser.h:150:5: note: expected ‘char *’ but argument is of type ‘const char *’
    /tmp/csync-0.0.0-src-1/src/csync_config.c:70:7: error: passing argument 2 of ‘iniparser_getboolean’ discards ‘const’ qualifier from pointer target type
    In file included from /tmp/csync-0.0.0-src-1/src/csync_config.c:23:0:
    /usr/include/iniparser.h:199:5: note: expected ‘char *’ but argument is of type ‘const char *’
    make[2]: *** [src/CMakeFiles/csync.dir/csync_config.c.o] Error 1
    make[1]: *** [src/CMakeFiles/csync.dir/all] Error 2
    make: *** [all] Error 2
    ERROR! Compiling source code has failed.
    This usually happens because of missing libraries, or
    badly written Makefiles or configure scripts.
    Sorry! No Dependency or Requirements information found.

    Any ideas?

    Regards, Robby

    • April 7, 2012 at 13:59

      Hi Dragotin,

      I’ve managed to compile csync now by editing /usr/include/iniparser.h and changing ‘char’ to ‘const char’ at the locations mentioned above. However, mirall refuses to build now – I get the following error during make phase:

      [ 18%] Generating mirall/moc_csyncfolder.cxx
      [ 19%] Generating qrc_mirall.cxx
      Scanning dependencies of target mirall_static
      [ 20%] Building CXX object src/CMakeFiles/mirall_static.dir/mirall/application.cpp.o
      In file included from /src2pkg/src2pkg.scripts.desktop/owncloud-sync-client/src/mirall/mirall/src/mirall/owncloudfolder.h:24:0,
      from /src2pkg/src2pkg.scripts.desktop/owncloud-sync-client/src/mirall/mirall/src/mirall/application.cpp:29:
      /src2pkg/src2pkg.scripts.desktop/owncloud-sync-client/src/mirall/mirall/src/mirall/csyncthread.h:66:34: error: ‘TREE_WALK_FILE’ has not been declared
      make[2]: *** [src/CMakeFiles/mirall_static.dir/mirall/application.cpp.o] Error 1
      make[1]: *** [src/CMakeFiles/mirall_static.dir/all] Error 2
      make: *** [all] Error 2

      Any ideas?

      Kind Regards, Robby

    • dragotin
      April 9, 2012 at 21:13

      Hi, this bug was caused to a problem with libiniparser v. 3.0. Meanwhile the upstream author has released a new version which works seamlessly. Please update, see http://ndevilla.free.fr/iniparser

      Klaas

  4. Ronald
    April 8, 2012 at 16:54

    I failed horribly on this. I tried to get it built on debian but I feel this is way over my head. I think I fulfilled all the depedencies and I downloaded Iniparser and compiled it etc.. All went fine and it found the library but it still complains.

    CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
    Please set them or make sure they are set and tested correctly in the CMake files:
    INIPARSER_INCLUDE_DIR
    used as include directory in directory /home/ronald/Downloads/csync-0.50.4/src

    I got the windows client and server side working beautifully, no complaints about that but I do work with linux as well (It may not seem like it from my clumsiness above but I do) and thats just to get csync working, I havent even started on mirall yet šŸ™‚

    Will this be made easier in the future?

    • dragotin
      April 9, 2012 at 21:18

      The error means that libiniparser was not found. Have you performed make install?
      Will it made easier in the future? Well, not sure… Yes, if all csync patches went upstream and csync is available from your distro as packages, but from my experience: When it comes to development setups you always have to dig around….

  5. April 10, 2012 at 15:08

    Hi Dragotin,

    I’ve successfull compiled mirall against 0.50.4 source ball. How do I get csync ‘dav’ branch? I normally just do:

    git clone git://git.csync.org/projects/csync.git
    or
    git clone git://git.csync.org/users/freitag/csync.git

    What is the diff between dav branch and the 2 above? Also, re. iniparser, I already ahve the latest 3.0 release so the problem with char/const char remains there unless it has been fixed in their git repo.

    Regards, Robby

  6. zahnoh
    April 13, 2012 at 13:50

    Hi,

    I successfully compiled csync and mirall on debian linux. Installation went ok, but when I launch /usr/local/bin/owncloud, the client crashes as soon as I click on the ‘configure’ Option right-clicking on the tray icon.
    The following messages I got on the command line:


    zahnoh@aptosidbox:~$ owncloud
    QMetaObject::connectSlotsByName: No matching signal for on_checkBoxOnlyOnline_toggled()
    Creating static NetworkAccessManager
    * Network is online
    ==> load folder icon “folder-grey-48.png”
    Network Location: “”
    00 client update check to “http://download.owncloud.com/clientupdater.php?version=1.0.1&platform=linux”
    Client is on latest version!
    Returning configured owncloud url: “”
    Current Wizard page changed to 0
    Page_install is 4
    Segmentation fault

    Do you have any idea?
    Many thanks!
    Hans-Peter

  7. zahnoh
    April 13, 2012 at 14:09

    Hi,

    I successfully compiled and installed csync + mirall on debian (aptosid).
    When I launch the client, it asks me to configure the client by righ-clicking on the tray icon and choose ‘configure’. When doing that it crashes šŸ˜¦

    I get the following output on the commandline:

    zahnoh@aptosidbox:~$ owncloud
    QMetaObject::connectSlotsByName: No matching signal for on_checkBoxOnlyOnline_toggled()
    Creating static NetworkAccessManager
    * Network is online
    ==> load folder icon “folder-grey-48.png”
    Network Location: “”
    00 client update check to “http://download.owncloud.com/clientupdater.php?version=1.0.1&platform=linux”
    Client is on latest version!
    Returning configured owncloud url: “”
    Current Wizard page changed to 0
    Page_install is 4
    Segmentation fault

    Does anybody have an idea?

    Many thanks!
    Hans-Peter

    • dragotin
      April 13, 2012 at 16:17

      Hi Hans-Peter,

      thanks for the bug report. Yet its a bit hard to tell whats going wrong, I can’t reproduce it. It would be helpful if you build with debug info and provide a backtrace.
      To get that you can call cmake -DCMAKE_BUILD_TYPE=Debug and rebuild. Than you could run the ownCloud client in gdb and after it crashed type bt for backtrace…

      I would appreciate if you add the backtrace to the bugtracker at http://bugs.owncloud.org, together which the information which versions you tried.

      Thanks!

    • May 11, 2012 at 07:43

      Hi, I seem to have the same problem. I notice that the bugpost you filed is marked as closed and solved, but I can’t find the resolution, I am probably missing something in the post. Could you please tell me?
      Thanks,
      MNatiello

  8. israphel
    April 13, 2012 at 21:49

    I have a question. I’ve got a working owncloud 3.0 server on my webhosting. Also, a computer and a notebook with KDE. I want them to have always the same files (documents and spreadsheets).

    Like:

    PC uploads to owncloud
    Notebook downloads from owncloud
    PC deletes a file; file is deleted from owncloud and the notebook.

    does Mirall do that?

    • May 11, 2012 at 07:40

      Hi, The bugpost is marked as solved & closed but I fail to find the solution. It seems to be
      my problem as well… Could you please indicate me what to do?

      • May 11, 2012 at 07:42

        Sorry, the above message was posted in the wrong tree…

        M Natiello

  9. April 17, 2012 at 09:05

    Hi Dragotin, I’m a bit confused about which csync repo I should be using. I’ve checked out your git branch today for example and when I do a ‘csync -V’ I get 0.49.9 which appears to be less than the 0.50.4 that’s available on the owncloud site. Does 0.50.4 have newer functions than your git branch? Which should I be using to track daily updates to csync.

    • dragotin
      April 17, 2012 at 09:40

      Hi, please make sure to checkout the dav branch http://git.csync.org/users/freitag/csync.git/log/?h=dav . That is the current development branch. But you’re right, versions were confusingly wrong, I just fixed it. Should be 0.50.5 now.

      • April 17, 2012 at 10:36

        Thanks Dragotin, can you make this available on the owncloud.com/download page? The file listed there is still 0.50.4 .. Regards

  10. April 17, 2012 at 09:45

    Hi Dragotin, do you know if there is a forum for csync and mirall clients? I’m sure you don’t want everyone posting dev-related problems here on your blog.

    Besides the csync branch issue above, the latest git clone of mirall results in an error when compiling:

    CMake Error at CMakeLists.txt:7 (include):
    include could not find load file:

    GNUInstallDirs

    CMake Error at CMakeLists.txt:68 (install):
    install FILES given no DESTINATION!

    Any ideas? Thanks you, Robby

    • April 18, 2012 at 11:29

      Hi Dragotin, it appears there is a missing GNUInstallDirs.cmake file missing ( in ./cmake/modules/ ) from the master.tar.gz checkout on gitorius. I’ve downloaded a generic one off the internet and compile proceeds now. Errors happen though with ‘csync not declared’ items and I assume this is just because I’m running 0.50.4 csync …

  11. Tom
    April 17, 2012 at 18:29

    Hi, would it be possible to use OwnCloud with csync, but not mirall (and maybe add csync as a cron-job, or something). In that case, does anyone know what to put in the csync config-file (and the name of it)? Perhaps someone who has it working could just paste their config with passwords blanked out, would be really helpful!

    Also, is csync what is provided by the Debian csync2 package?

    • zahnoh
      April 27, 2012 at 07:25

      Hi Tom, the Debian csync2 package is not the same, see http://oss.linbit.com/csync2/

      • Tom
        April 27, 2012 at 07:54

        Thanks, okay, I kind of realized at some point.

        Since others may be interested, it seems that its mirall that handling most of the settings, and that it’s making call to the csync library with those. From the repositories (that now are up for Debian as well), it is possible to install the csync command to use the csync library manually; however, when trying to sync with just csync I get error messages. (but with mirall it works, not sure why)

        Also, see this for alternatives to csync/mirall
        http://forum.owncloud.org/viewtopic.php?f=3&t=2245

  12. April 17, 2012 at 22:22

    Can I sync 2 PCs with this? I’ve my owncloud server and two distant pcs running kde. I want the same files on both of them.

    thanks!

  13. May 3, 2012 at 08:17

    Hi
    I have a problem. Construction of mirall according to the instructions above does
    work. I’m under ubuntu 11.04 on a x86-64 machine running kernel 3.0.0-17-generic.
    Howeer, the program crashes:

    $ mirall&
    [1] 23289
    QMetaObject::connectSlotsByName: No matching signal for on_checkBoxOnlyOnline_toggled()
    “sni-qt/23289” WARN 09:13:05.967 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE
    * Network is online
    (+) Watcher: “/usr/matematik/mario/.local/share/data//Mirall”
    `-> and 1 subdirectories
    * Pending events for “/usr/matematik/mario/.local/share/data//Mirall” will be processed after events stop for 3 seconds ( “09:13:08” ). 0 events until now )
    * Setup folders from “/usr/matematik/mario/.local/share/data//Mirall/folders”
    Network Location: “”
    * Processing of event queue for “/usr/matematik/mario/.local/share/data//Mirall”
    * Notify 0 changed items for “/usr/matematik/mario/.local/share/data//Mirall”
    * Setup folders from “/usr/matematik/mario/.local/share/data//Mirall/folders”
    Returning configured owncloud url: “”

    At this point, the mirall icon shows up in the system tray. Whatever right-click I do
    with the mouse on this icon, the program writes the following two lines and crashes:
    Current Wizard page changed to 0
    Page_install is 4

    Any suggestion?
    Thanks,

    Mario

    • May 7, 2012 at 10:44

      Hi, Addendum to previous message:
      The problem subsists, it seems similar to the one reported before by zahnoh on april 16.
      I run master branch of mirall (1.0.1) with csync 0.50.5
      The program compiles and runs under ubuntu, but breaks down with segmentation fault
      upon any mouse click:

      $ mirall
      QMetaObject::connectSlotsByName: No matching signal for on_checkBoxOnlyOnline_toggled()
      “sni-qt/24765” WARN 11:43:21.948 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE
      * Network is online
      (+) Watcher: “/usr/matematik/mario/.local/share/data//Mirall”
      `-> and 1 subdirectories
      * Pending events for “/usr/matematik/mario/.local/share/data//Mirall” will be processed after events stop for 3 seconds ( “11:43:24” ). 0 events until now )
      * Setup folders from “/usr/matematik/mario/.local/share/data//Mirall/folders”
      Network Location: “”
      * Processing of event queue for “/usr/matematik/mario/.local/share/data//Mirall”
      * Notify 0 changed items for “/usr/matematik/mario/.local/share/data//Mirall”
      * Setup folders from “/usr/matematik/mario/.local/share/data//Mirall/folders”
      Returning configured owncloud url: “”
      Current Wizard page changed to 0
      Page_install is 4
      Segmentation fault

      Thanks for any help.

  14. markus
    June 8, 2012 at 10:59

    Hi,

    can someone point me in the right direction?
    I want to build the csync for windows.
    The mingw32-cmake seems to have worked fine.
    But when I try the mingw32-make I get some errors about some include files.

    /usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:84:18: fatal error: dlgs.h: No such file or directory

    So I think I’m missing a package.
    Does someone know which one and where to find?
    I tried several possibilities, but up to now nothing worked.
    I tried the official way to install mingw and also the opensuse repository, but still …

    Thx for any help,
    Markus

    • dragotin
      June 8, 2012 at 11:15

      Markus,

      dlgs.h is in the package mingw32-headers in openSUSE.

  15. markus
    June 8, 2012 at 13:11

    mingw32-headers is installed.
    Still get the error.
    Any other idea

    • markus
      June 10, 2012 at 09:18

      Hi,

      problem solved. But don’t ask me how.
      I installed OpenSuse again in a new VM and installed all packages from scratch.
      After that everything worked fine.

      Markus

  16. June 16, 2012 at 18:53

    Hi dragotin, I have successfully built csync from the stable branch
    git clone git://git.csync.org/projects/csync.git

    I am also able to build mirall (stable branch doing: git clone https://git.gitorious.org/owncloud/mirall.git) However when I try to compile with “make –debug” I get this error message:

    This program built for x86_64-pc-linux-gnu
    Reading makefiles…
    Updating goal targets….
    File `default_target’ does not exist.
    File `all’ does not exist.
    File `cmake_check_build_system’ does not exist.
    Must remake target `cmake_check_build_system’.
    Successfully remade target file `cmake_check_build_system’.
    Must remake target `all’.
    GNU Make 3.81
    Copyright (C) 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
    PARTICULAR PURPOSE.

    This program built for x86_64-pc-linux-gnu
    Reading makefiles…
    Updating goal targets….
    File `all’ does not exist.
    File `src/CMakeFiles/mirall.dir/all’ does not exist.
    File `src/CMakeFiles/mirall_static.dir/all’ does not exist.
    Must remake target `src/CMakeFiles/mirall_static.dir/all’.
    GNU Make 3.81
    Copyright (C) 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
    PARTICULAR PURPOSE.

    This program built for x86_64-pc-linux-gnu
    Reading makefiles…
    Updating goal targets….
    File `src/CMakeFiles/mirall_static.dir/depend’ does not exist.
    Must remake target `src/CMakeFiles/mirall_static.dir/depend’.
    Successfully remade target file `src/CMakeFiles/mirall_static.dir/depend’.
    GNU Make 3.81
    Copyright (C) 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
    PARTICULAR PURPOSE.

    This program built for x86_64-pc-linux-gnu
    Reading makefiles…
    Updating goal targets….
    File `src/CMakeFiles/mirall_static.dir/build’ does not exist.
    File `src/libmirall_static.a’ does not exist.
    File `src/CMakeFiles/mirall_static.dir/mirall/application.cpp.o’ does not exist.
    Must remake target `src/CMakeFiles/mirall_static.dir/mirall/application.cpp.o’.
    [ 1%] Building CXX object src/CMakeFiles/mirall_static.dir/mirall/application.cpp.o
    /usr/local/src/mirall/src/mirall/application.cpp: In member function ā€˜void Mirall::Application::setupLogBrowser()ā€™:
    /usr/local/src/mirall/src/mirall/application.cpp:342:45: error: ā€˜csync_set_log_callbackā€™ was not declared in this scope
    make[2]: *** [src/CMakeFiles/mirall_static.dir/mirall/application.cpp.o] Error 1
    make[1]: *** [src/CMakeFiles/mirall_static.dir/all] Error 2
    make: *** [all] Error 2

    could you give me a hand? It seems like I am pretty close to getting it installed!!!

    • dragotin
      June 17, 2012 at 07:00

      You probably forgot to instruct csync to log to a callback, that was added recently. Call cmake with the -DLOG_TO_CALLBACK=ON parameter as outlined at http://owncloud.org/dev/sync-clients/linux-build/

      • June 18, 2012 at 09:02

        Thanks for the tip. I could finally build and compile both csync and mirall tools following this procedure:

        git clone git://git.csync.org/users/freitag/csync.git
        cd csync
        git checkout dav
        git pull
        cd ..
        mkdir buildcsync
        cd buildcsync/
        cmake -DCMAKE_BUILD_TYPE=”Debug” -DLOG_TO_CALLBACK=ON -DUSE_INOTIFY=ON ../csync
        make
        cd ..
        git clone https://git.gitorious.org/owncloud/mirall.git
        mkdir buildmirall
        cd buildmirall/
        cmake -DCMAKE_BUILD_TYPE=”Debug” -DUSE_INOTIFY=ON ../mirall
        make
        lh bin/
        cp bin/* /usr/local/bin/

        My main goal when building the tools instead of using the owncloud package for Ubuntu/Mint was to enable INOTIFY so I could get rid of the performance issues reported here http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-713

        However I am afraid it did not happen and after building the client with the -DUSE_INOTIFY=ON I keep getting the same problems: 100% cpu usage, 100% network bandwidth and in short an unusable client for Linux.

        I really appreciate ownCloud efforts to develop this great tool, but I must say that it is not ready for production environments just yet.

  17. Edwin Hurtado
    June 18, 2012 at 06:07

    Hi dragotin. I tried to buil the client, but gives the error:

    In file included from /home/user/csync/src/std/c_private.h:31,
    from /home/user/csync/src/std/c_dir.c:9:
    /opt/cross/lib/gcc/i386-mingw32msvc/3.4.5/../../../../i386-mingw32msvc/include/winbase.h:1367: error: syntax error before “va_list”
    /opt/cross/lib/gcc/i386-mingw32msvc/3.4.5/../../../../i386-mingw32msvc/include/winbase.h:1368: error: syntax error before “va_list”
    make[2]: *** [src/std/CMakeFiles/cstdlib.dir/c_dir.c.obj] Error 1
    make[1]: *** [src/std/CMakeFiles/cstdlib.dir/all] Error 2

  18. Edwin Hurtado
    June 18, 2012 at 06:08

    I appreciate your help. Thank you

  19. Andrii
    August 21, 2012 at 09:17

    Hello, dragotin
    Can you make VM image(opensuse based) with working cross-compiler?
    If you made this – everybody wiil be able easy compile project.
    Thanks

  20. brliv
    October 9, 2012 at 18:10

    Hi,
    i have installed the following packages (mingw32-cross-gcc, mingw32-gcc-c++ and mingw32-cross-cpp) on ubuntu 11.04, but still can not find mingw-cmake or mingw32-make.

    Please help

  21. October 20, 2012 at 07:37

    I use debian squeeze, compilation for gnu/linux is all Ok! but i can’t cross compiling to windos . I not have mingw32-cmake command..

  22. October 30, 2012 at 14:26

    Dragotin, wich opensuse version used in this tutorial?

    • dragotin
      November 2, 2012 at 17:41

      I used 12.1, but that should not matter as long the mingw32 repository builds packages for it.

  23. lewis
    November 2, 2012 at 06:51

    I am very glad I found this, though I wish I did before I burned an evening trying to get it working šŸ˜‰

    Is there any chance you can put a link to this post in the mirall github readme?

    • dragotin
      November 2, 2012 at 17:42

      Yes, will do.

  24. Andrii
    November 2, 2012 at 17:43

    Hello, dragotin
    Can you make VM image(opensuse based) with working cross-compiler?
    If you made this ā€“ everybody wiil be able easy compile project.
    Thanks

  25. November 3, 2012 at 04:56

    Yes, dragotin. I think the same Andrii

  26. November 15, 2012 at 00:29

    Im generating to windows from opensuse 12.2 but i get the error:
    [ 11%] Generating ownCloud.ico, ownCloud.rc
    …..
    ../win/buildmirall/src/ownCloud.rc: No such file or directory
    Help me please !!!

  27. November 27, 2012 at 11:55

    Hi, I wrote here some time ago about a CPU problem (owncloud-client eats up 100% CPU of one of the cores), the problem seems to be fixed according to http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-713#comment_1_715_6731, however I just installed the latest repo version of the client for Linux Mint (owncloud-client 1.1.2-3, csync 0.60.2-1, etc.) and the issue is still there.

    Is there anyway I can bypass this problem? by compiling some dev version maybe?

    Thanks in advance!

  28. Olivier
    May 1, 2013 at 23:01

    Hi, I hope you still read theese comments… I’m trying to compile the owncloud-csync client for win32, but it doesn’t find inotify (indeed, it’s not installed). How can I manage to install it ? I tried to compile mirall without it, but files are not synced up (only down). I found no one with se same problem, therefore I post here… Thx.
    Olivier

  29. November 9, 2014 at 04:32

    dude first i have to thanq for this post….i have done as u said…once i run this cmake -DCMAKE_BUILD_TYPE=”Debug” ../csync command…i got stuck error that cmake compiler not found..so pls help how to set up the environment…

  1. No trackbacks yet.

Leave a reply to markus Cancel reply