Synergy-core: Latest version Synergy does not build on Raspberry Pi / Raspbian from tarball

Created on 8 Nov 2017  路  7Comments  路  Source: symless/synergy-core

Operating Systems

Operating system: Raspbian
Version: Raspbian 8 (Jessie)
Cmake version: 3.6.2

Synergy Version

Version: 2.0.0
Commit hash: 0bd448d

Issue

Build fails on Raspbian 8 Jessie with error at line 53:cmake/Version.cmake:

CMake Error at cmake/Version.cmake:53 (string): string sub-command LENGTH requires two arguments.

Dependency packages installed

(debian/raspbian 8)
build-essential
cmake
libavahi-compat-libdnssd-dev
libcurl4-openssl-dev
libssl-dev
python
qt4-dev-tools
xorg-dev

Steps to reproduce error: ###

$ wget https://github.com/symless/synergy-core/archive/master.zip
$ sudo apt-get install build-essential cmake libavahi-compat-libdnssd-dev libcurl4-openssl-dev libssl-dev python qt4-dev-tools xorg-dev
$ unzip ./master.zip
$ cd synergy-core-master
$ mkdir build
$ cd build
$ cmake ..

Stack trace ###

~/synergy-core-master/cmake $ cd ..
~/synergy-core-master $ mkdir build
~/synergy-core-master $ cd build
~/synergy-core-master/build $ cmake ..
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- 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: /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 Warning at cmake/Version.cmake:27 (message):
  Synergy version wasn't set.  Set to 2.0.0
Call Stack (most recent call first):
  CMakeLists.txt:35 (include)


fatal: Not a git repository (or any of the parent directories): .git
CMake Error at cmake/Version.cmake:53 (string):
  string sub-command LENGTH requires two arguments.
Call Stack (most recent call first):
  CMakeLists.txt:35 (include)


CMake Error at cmake/Version.cmake:55 (message):
  SYNERGY_REVISION ('') should be a short commit hash
Call Stack (most recent call first):
  CMakeLists.txt:35 (include)


-- Configuring incomplete, errors occurred!

Most helpful comment

The build starts when passing -DSYNERGY_VERSION_STAGE=stable to cmake.

All 7 comments

Instead of wget, try using git clone . The latest version of Synergy uses the git commit hash to create the build version string, so it has to be built in a git repository.

which is really suboptimal, it should contain a fallback way to build from tarballs. you can also export tag names and commit hashes via .gitattributes which is then used by git export (which f.e. github uses)
@fieldse you can probably rename this issue to "2.0.0 doesn't build from tarball"

The build starts when passing -DSYNERGY_VERSION_STAGE=stable to cmake.

@newbluemoon seems to do the trick, thx

@newbluemoon Build starts with this, thanks for the help

To confirm for future users with this issue:
The code required to build from tarball on raspbian:

mkdir build
cd build
cmake -DSYNERGY_VERSION_STAGE=stable .. 

@anthraxx I agree with this, there isn't much information in the documentation (ie: almost none) about building from source for Raspbian users.

@alexvanyo Alex, could something be added to the README / documentation on steps for building from source?

For future reference, since it appears that this still hasn't made it into the README / documentation, the necessary variable / setting to change is now SYNERGY_REVISION (not SYNERGY_VERSION_STAGE). Also, the value needs to be the first 8 characters of the commit hash.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jenelcohen picture jenelcohen  路  4Comments

nbolton picture nbolton  路  5Comments

jasonfisherjlf picture jasonfisherjlf  路  4Comments

martindale picture martindale  路  5Comments

legonigel picture legonigel  路  4Comments