FS#52501 - [glm] 0.9.8.3-1 break cmake package in x86_64

Attached to Project: Community Packages
Opened by Guillaume Racicot (gracicot) - Wednesday, 11 January 2017, 22:29 GMT
Last edited by Sven-Hendrik Haase (Svenstaro) - Wednesday, 19 April 2017, 19:41 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sven-Hendrik Haase (Svenstaro)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
A recent upgrade to glm has broken cmake package discovery. CMake does not accept it because it says it's a 32bit package.

Additional info:
* package version(s) glm-0.9.8.3-1
* config and/or log files etc. N/A


Steps to reproduce:
sudo pacman -S glm
mkdir cmake_glm
cd cmake_glm
echo "find_package(glm REQUIRED)" >> CMakeLists.txt
cmake .

The following steps should make cmake output this error:

CMake Error at CMakeLists.txt:1 (find_package):
Could not find a configuration file for package "glm" that is compatible
with requested version "".

The following configuration files were considered but not accepted:

/usr/lib64/cmake/glm/glmConfig.cmake, version: 0.9.8 (32bit)
/usr/lib/cmake/glm/glmConfig.cmake, version: 0.9.8 (32bit)
/lib64/cmake/glm/glmConfig.cmake, version: 0.9.8 (32bit)
/lib/cmake/glm/glmConfig.cmake, version: 0.9.8 (32bit)


You'll see that even though cmake find the package, it has been built with a 32bit compiler and will not accept the package. Even if it's a header only library, cmake will save the compiler version and target in the glmConfig.cmake.
This task depends upon

Closed by  Sven-Hendrik Haase (Svenstaro)
Wednesday, 19 April 2017, 19:41 GMT
Reason for closing:  Fixed
Comment by Guillaume Racicot (gracicot) - Wednesday, 11 January 2017, 22:30 GMT
Here's the complete cmake log
Comment by Guillaume Racicot (gracicot) - Sunday, 05 February 2017, 05:05 GMT
  • Field changed: Percent Complete (100% → 0%)
Since a recent update, the exact same problem came back; even if the library is header only, cmake saves the compiler id and target architecture. The package is not found because cmake thinks it's 32 bit. Steps to reproduce are the same and the output is the same.

Loading...