Skip to content

Tag 1.4.1 fails to build from source tarball #7355

@bassmadrigal

Description

@bassmadrigal

Before posting

Please follow the steps below and check the boxes with [x] once you did the step.

  • I checked the issue tracker for similar issues
  • I checked the changelog if the issue is already resolved
  • I tried the latest Clementine build from here

System information

Please provide information about your system and the version of Clementine used.

  • Operating System: Slackware64 15.0
  • Clementine version: 1.4.1 tag ( a809096)

Expected behaviour / actual behaviour

Expected: Tarballs tagged as a release version and downloaded via github tags should build without issue.

Actual: CMake configure fails when using the tagged 1.4.1 "release" due to forcing detecting a git revision in cmake/Version.cmake, tracing the breakage to commmit 5e5b888.

I could not find a build flag that allowed me to bypass the git revision detection (but I'm not super strong with cmake).

Steps to reproduce the problem (only for bugs)

Download the 1.4.1 tag source tarball
wget --content-disposition https://github.com/clementine-player/Clementine/archive/refs/tags/1.4.1/Clementine-1.4.1.tar.gz
Extract source
tar xvf Clementine-1.4.1.tar.gz
cd into source, create and cd to build/ dir and run cmake
cd Clementine-1.4.1; mkdir build; cd build; cmake ..

Build will fail with

fatal: not a git repository (or any of the parent directories): .git
CMake Error at cmake/Version.cmake:136 (message):
  git describe failed with code 128:
Call Stack (most recent call first):
  CMakeLists.txt:10 (include)


CMake Error at cmake/Version.cmake:141 (string):
  string sub-command REGEX, mode REPLACE needs at least 6 arguments total to
  command.
Call Stack (most recent call first):
  CMakeLists.txt:10 (include)


CMake Error at cmake/Version.cmake:145 (message):
  Failed to parse git revision string ''
Call Stack (most recent call first):
  CMakeLists.txt:10 (include)


-- Configuring incomplete, errors occurred!
See also "/tmp/SBo/Clementine-1.4.1/build/CMakeFiles/CMakeOutput.log".

I have an incoming PR that provides a way to bypass this, however, it requires changing the INCLUDE_GIT_REVISION variable within that file to OFF, which I was doing via a sed command in my build script.


Also, unrelated to this issue, the 1.4.1 tagged tarball (and the master branch) still have cmake/Version.cmake with versioned with 1.4.0rc2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions