Bug 309652 - Qyoto: Could not find CMakeCSharpCompiler.cmake with cmake 2.8.10
Summary: Qyoto: Could not find CMakeCSharpCompiler.cmake with cmake 2.8.10
Status: RESOLVED FIXED
Alias: None
Product: bindings
Classification: Developer tools
Component: general (show other bugs)
Version: 4.9
Platform: Compiled Sources Linux
: NOR major
Target Milestone: ---
Assignee: kde-bindings
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-06 13:53 UTC by Andrea Scarpino
Modified: 2012-11-15 17:38 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
suggested fix from kde-packager/kde-buildsystem list (969 bytes, patch)
2012-11-06 21:54 UTC, Rex Dieter
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrea Scarpino 2012-11-06 13:53:14 UTC
I cannot build qyoto on my system after the update to cmake 2.8.10:

-- The C compiler identification is GNU 4.7.2
-- The CXX compiler identification is GNU 4.7.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
-- 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
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not 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 Qt4: /usr/bin/qmake (found version "4.8.3") 
-- Found SmokeQtCore: /usr/lib/libsmokeqtcore.so
-- Found SmokeQtGui: /usr/lib/libsmokeqtgui.so
-- Found SmokeQtXml: /usr/lib/libsmokeqtxml.so
-- Found SmokeQtOpenGl: /usr/lib/libsmokeqtopengl.so
-- Found SmokeQtSql: /usr/lib/libsmokeqtsql.so
-- Found SmokeQtNetwork: /usr/lib/libsmokeqtnetwork.so
-- Found SmokeQtDbus: /usr/lib/libsmokeqtdbus.so
-- Found SmokeQtSvg: /usr/lib/libsmokeqtsvg.so
-- Found SmokeQtScript: /usr/lib/libsmokeqtscript.so
-- Found SmokeQtTest: /usr/lib/libsmokeqttest.so
-- Found SmokeQtUiTools: /usr/lib/libsmokeqtuitools.so
-- Found SmokeQtWebKit: /usr/lib/libsmokeqtwebkit.so
-- Found SmokeQSci: /usr/lib/libsmokeqsci.so
-- Found SmokeQImageBlitz: /usr/lib/libsmokeqimageblitz.so
-- Found SmokePhonon: /usr/lib/libsmokephonon.so
-- Path of mono: /usr/bin/mono
-- Path of gmcs: /usr/bin/gmcs
-- Path of gacutil: /usr/bin/gacutil
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.27.1") 
-- checking for one of the modules 'mono-cecil'
-- checking for one of the modules 'cecil'
-- Using GAC dir: /usr/lib/mono
CMake Error: Could not find cmake module file:/build/src/build/CMakeFiles/2.8.10/CMakeCSharpCompiler.cmake
-- Found QScintilla2: /usr/lib/libqscintilla2.so
-- Found QImageBlitz: /usr/include/qimageblitz  
-- Phonon Version: 4.6.0
-- Found Phonon: /usr/lib/libphonon.so
-- Found Phonon Includes: /usr/include/KDE;/usr/include
-- hello /usr/lib
-- Build qyoto bindings: Phonon;QScintilla;QtScript;QtTest;QtUiTools;QtWebKit
-- Skip qyoto bindings: 

-----------------------------------------------------------------------------
-- The following external packages were located on your system.
-- This installation will have the extra features provided by these packages.
-----------------------------------------------------------------------------
   * C# compiler - Mono or the .NET framework
   * QScintilla2 - QScintilla2 libraries
   * QImageBlitz - QImageBlitz library
   * Phonon - Phonon multimedia framework

-----------------------------------------------------------------------------
-- Congratulations! All external packages have been found.
-----------------------------------------------------------------------------

-- Configuring incomplete, errors occurred!

Reproducible: Always

Steps to Reproduce:
1. clone the qyoto repo
2. update cmake to 2.8.10
3. try to build qyoto
Actual Results:  
The build fails

Expected Results:  
It builds

cmake 2.8.10
qyoto from git
Comment 1 Rex Dieter 2012-11-06 14:36:26 UTC
This seems to be some regression or behavior change in cmake.

Per our downstream report,
https://bugzilla.redhat.com/show_bug.cgi?id=872829

Kevin suggests... (yet untested):

CMakeCSharpCompiler.cmake is configured from CMakeCSharpCompiler.cmake.in by this command:
configure_file(${script_dir}/CMakeCSharpCompiler.cmake.in
  ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeCSharpCompiler.cmake IMMEDIATE @ONLY)
in cmake/CMakeDetermineCSharpCompiler.cmake.

It looks like the hardcoded destination path there needs to be adjusted for CMake 2.8.10, e.g.:
if (${CMAKE_VERSION} VERSION_LESS "2.8.10")
  set (COMPILER_SUPPORT_SUBDIRECTORY "")
else (${CMAKE_VERSION} VERSION_LESS "2.8.10")
  set (COMPILER_SUPPORT_SUBDIRECTORY "/${CMAKE_VERSION}")
endif (${CMAKE_VERSION} VERSION_LESS "2.8.10")
configure_file(${script_dir}/CMakeCSharpCompiler.cmake.in
  ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}${COMPILER_SUPPORT_SUBDIRECTORY}/CMakeCSharpCompiler.cmake IMMEDIATE @ONLY)
Comment 2 Dimitar Dobrev 2012-11-06 14:42:31 UTC
Thanks for the bug report. I reproduced it with 2.8.10 on Windows too. I can take a look later. In the mean time, as a workaround just copy CMakeCSharpCompiler.cmake from assemblygen/bin/CMakeFiles to assemblygen/bin/CMakeFiles/2.8.10 and it will work.
Comment 3 Rex Dieter 2012-11-06 21:54:19 UTC
Created attachment 75060 [details]
suggested fix from kde-packager/kde-buildsystem list

Works as advertised for me on fedora 18
Comment 4 Dimitar Dobrev 2012-11-06 22:21:20 UTC
Rex,

Thanks for the patch. However, you seem to have created it from https://projects.kde.org/projects/kde/kdebindings/csharp/qyoto. This repository is obsolete and should not be used. The only reason it is not deleted are KDE release policies. The new repository is https://projects.kde.org/projects/kde/kdebindings/csharp/assemblygen/repository. Please, apply the patch there and I'll commit it.
Comment 5 Arno Rehn 2012-11-06 22:24:07 UTC
Actually it needs to be applied in both repositories. 'qyoto' is still part of the released packages and has to build.
If this fixes the regression for everybody, I'll apply the patch there.
Comment 6 Albert Astals Cid 2012-11-06 23:59:46 UTC
Err, "This repository is obsolete and should not be used"??? WTF do you mean? this is the repository we are releasing, if this is not to be released i'd appreciate you guys dropped by the release-team list and coordinated a bit with the world. Because you can do the better stuff in the world but if it's not released, what is the point of doing it?
Comment 7 Arno Rehn 2012-11-07 00:05:31 UTC
Slightly off-topic: The "new" version is binary and source incompatible with the old qyoto. So simply replacing it is a no-go.

Assemblygen itself was only moved to KDE git about a week ago (was on gitorious before) and we haven't talked to the release team about it yet.
Personally, I'd prefer some cleanup and repo splitting before the 'new' Qyoto gets released regularly and packaged.
Comment 8 Albert Astals Cid 2012-11-07 00:07:58 UTC
ok, so it's a "in development" stuff, thanks for the clarification :-)
Comment 9 Albert Astals Cid 2012-11-15 11:38:22 UTC
Are you guys going to commit this or what? Today we are packaging 4.10 beta 1 and will have the same problem
Comment 10 Arno Rehn 2012-11-15 17:14:56 UTC
Fixed in master and 4.9. Sorry for the delay.
Comment 11 Dimitar Dobrev 2012-11-15 17:38:50 UTC
The patch doesn't work for the new Qyoto so I can't fix it right now. But it's not yet included in the build anyway,