You are not logged in.
Pages: 1
Hey everybody,
I'm trying to install tomahawk via yaourt and while trying to install the jreen 1.1.1 lib the installation fails, giving out
==> Beginne build()...
-- The C compiler identification is GNU 4.8.1
-- The CXX compiler identification is GNU 4.8.1
-- 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-qt4 (found suitable version "4.8.5", minimum required is "4.6.0")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28")
-- checking for module 'qca2'
-- found qca2, version 2.0.3
-- Found QCA2: /usr/lib64/libqca.so
-- checking for one of the modules 'speex'
-- Speex library is found.
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.8")
Using simple sasl auth instead cyrus sasl
CMake Error at cmake/jreenMacros.cmake:42 (QT4_CREATE_MOC_COMMAND):
QT4_CREATE_MOC_COMMAND Macro invoked with incorrect arguments for macro
named: QT4_CREATE_MOC_COMMAND
Call Stack (most recent call first):
CMakeLists.txt:138 (JREEN_WRAP_CPP)
CMake Error at cmake/jreenMacros.cmake:60 (QT4_CREATE_MOC_COMMAND):
QT4_CREATE_MOC_COMMAND Macro invoked with incorrect arguments for macro
named: QT4_CREATE_MOC_COMMAND
Call Stack (most recent call first):
CMakeLists.txt:138 (JREEN_WRAP_CPP)
CMake Error at cmake/jreenMacros.cmake:60 (QT4_CREATE_MOC_COMMAND):
QT4_CREATE_MOC_COMMAND Macro invoked with incorrect arguments for macro
named: QT4_CREATE_MOC_COMMAND
Call Stack (most recent call first):
CMakeLists.txt:138 (JREEN_WRAP_CPP)
CMake Error at cmake/jreenMacros.cmake:60 (QT4_CREATE_MOC_COMMAND):
QT4_CREATE_MOC_COMMAND Macro invoked with incorrect arguments for macro
named: QT4_CREATE_MOC_COMMAND
Call Stack (most recent call first):
CMakeLists.txt:138 (JREEN_WRAP_CPP)
CMake Error at cmake/jreenMacros.cmake:60 (QT4_CREATE_MOC_COMMAND):
QT4_CREATE_MOC_COMMAND Macro invoked with incorrect arguments for macro
named: QT4_CREATE_MOC_COMMAND
Call Stack (most recent call first):
CMakeLists.txt:138 (JREEN_WRAP_CPP)
CMake Error at cmake/jreenMacros.cmake:60 (QT4_CREATE_MOC_COMMAND):
QT4_CREATE_MOC_COMMAND Macro invoked with incorrect arguments for macro
named: QT4_CREATE_MOC_COMMAND
Call Stack (most recent call first):
CMakeLists.txt:138 (JREEN_WRAP_CPP)
-- Configuring incomplete, errors occurred!
See also "/tmp/yaourt-tmp-USER/aur-jreen/src/jreen-1.1.1-build/CMakeFiles/CMakeOutput.log".
See also "/tmp/yaourt-tmp-USER/aur-jreen/src/jreen-1.1.1-build/CMakeFiles/CMakeError.log".
Like suggested in the AUR comments of the jreen package I tried to install it manually from http://qutim.org/jreen which ended up in the same error message.
I really have no idea what's the problem here, so any kind of help would be very appreciated.
I can also post the CMake .logs if it would be helpful.
Thanks
EDIT: What I forgot: I'm running a Emachines E732ZG Laptop with linux 3.11.4 and gnome 3.10, pacman -Syu says everything is up to date.
Last edited by andgset (2013-10-13 18:46:04)
Offline
You can try to replace original JREEN_WRAP_CPP macros ( defined in cmake/jreenMacros.cmake) by this:
MACRO (JREEN_WRAP_CPP outfiles )
# get include dirs
QT4_GET_MOC_FLAGS(moc_flags)
#QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
QT4_EXTRACT_OPTIONS(moc_files moc_options moc_target ${ARGN})
FOREACH (it ${moc_files})
GET_FILENAME_COMPONENT(_abs_FILE ${it} ABSOLUTE)
GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH)
GET_FILENAME_COMPONENT(_basename ${it} NAME_WE)
SET(_HAS_MOC false)
IF(EXISTS ${_abs_PATH}/${_basename}.cpp)
SET(_header ${_abs_PATH}/${_basename}.cpp)
FILE(READ ${_header} _contents)
STRING(REGEX MATCHALL "# *include +[\">]moc_[^ ]+\\.cpp[\">]" _match "${_contents}")
STRING(REGEX MATCHALL "# *include +[^ ]+\\.moc[\">]" _match2 "${_contents}")
STRING(REGEX MATCHALL "Q_OBJECT" _match3 "${_contents}")
IF(_match)
SET(_HAS_MOC true)
FOREACH (_current_MOC_INC ${_match})
STRING(REGEX MATCH "moc_[^ <\"]+\\.cpp" _current_MOC "${_current_MOC_INC}")
SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
#QT4_CREATE_MOC_COMMAND(${_abs_FILE} ${_moc} "${_moc_INCS}" "")
QT4_CREATE_MOC_COMMAND(${_abs_FILE} ${_moc} "${moc_flags}" "${moc_options}" "${moc_target}")
MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
ENDFOREACH (_current_MOC_INC)
ENDIF()
IF(_match2)
FOREACH (_current_MOC_INC ${_match2})
STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
#QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "")
QT4_CREATE_MOC_COMMAND(${_abs_FILE} ${_moc} "${moc_flags}" "${moc_options}" "${moc_target}")
MACRO_ADD_FILE_DEPENDENCIES(${_header} ${_moc})
ENDFOREACH (_current_MOC_INC)
ENDIF()
ENDIF()
IF(NOT _HAS_MOC)
FILE(READ ${_abs_FILE} _contents)
STRING(REGEX MATCHALL "Q_OBJECT|Q_GADGET" _match2 "${_contents}")
IF(_match2)
QT4_MAKE_OUTPUT_FILE(${_abs_FILE} moc_ cpp outfile)
#QT4_CREATE_MOC_COMMAND(${_abs_FILE} ${outfile} "${moc_flags}" "${moc_options}")
QT4_CREATE_MOC_COMMAND(${_abs_FILE} ${outfile} "${moc_flags}" "${moc_options}" "${moc_target}")
SET(${outfiles} ${${outfiles}} ${outfile})
ENDIF()
ENDIF()
ENDFOREACH(it)
ENDMACRO (JREEN_WRAP_CPP)
Last edited by pavelgood (2013-10-14 08:25:54)
Offline
Thanks for the reply!
It seemed to work, but unfortunately I can't install it.
The package readme says
Compiling Jreen
---------------
$ mkdir build && cd build
$ cmake ..
$ make
but $ make install will install it in /usr/local/ , with should be /usr/ in Arch, right?
Wiki suggests to $ ./configure --prefix=/usr, but since there's no configure file in jreen I'm kinda helpless
Last edited by andgset (2013-10-14 15:29:51)
Offline
Jreen uses cmake build system and it not contains configure script. You can use makepkg utililty for build this package.
I slightly modified the PKGBUILD file:
pkgname=jreen
pkgver=1.1.1
pkgrel=3
pkgdesc="Free and Opensource Jabber library, written in C++ using cross-platform framework Qt."
arch=('i686' 'x86_64')
url="http://qutim.org/jreen"
license=('GPL2')
depends=('libidn' 'qca-ossl' 'zlib')
makedepends=('cmake')
provides=('jreen')
conflicts=('jreen-git')
source=("${pkgname}-${pkgver}.zip::http://github.com/euroelessar/${pkgname}/archive/v${pkgver}.zip")
md5sums=('07e64faaae4be7cf2c99eac07f80fb8f')
# Clean options array to strip pkg if release buildtype is chosen
if [[ ! ${_buildtype} == "Release" ]] && [[ ! ${_buildtype} == "release" ]]; then
options=(!strip)
fi
prepare() {
if [[ -e ${srcdir}/${pkgname}-${pkgver}-build ]]; then rm -rf ${srcdir}/${pkgname}-${pkgver}-build; fi
mkdir ${srcdir}/${pkgname}-${pkgver}-build
}
build() {
cd ${srcdir}/${pkgname}-${pkgver}
cp ../../jreenMacros.diff ./
patch -p1 -i jreenMacros.diff
cd ${srcdir}/${pkgname}-${pkgver}-build
cmake -DQT_QMAKE_EXECUTABLE=qmake-qt4 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=${_buildtype} \
../${pkgname}-${pkgver}
make
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}-build
make DESTDIR=${pkgdir} install
}
Use this patch to fix problem:
--- libjreen-1.1.1/cmake/jreenMacros.cmake 2013-01-06 19:49:31.000000000 +0400
+++ libjreen-1.1.1-fix/cmake/jreenMacros.cmake 2013-10-14 12:14:09.117863475 +0400
@@ -18,9 +18,10 @@
MACRO (JREEN_WRAP_CPP outfiles )
# get include dirs
QT4_GET_MOC_FLAGS(moc_flags)
- QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
+ #QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
+ QT4_EXTRACT_OPTIONS(moc_files moc_options moc_target ${ARGN})
FOREACH (it ${moc_files})
GET_FILENAME_COMPONENT(_abs_FILE ${it} ABSOLUTE)
GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH)
@@ -38,17 +39,19 @@
SET(_HAS_MOC true)
FOREACH (_current_MOC_INC ${_match})
STRING(REGEX MATCH "moc_[^ <\"]+\\.cpp" _current_MOC "${_current_MOC_INC}")
SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
- QT4_CREATE_MOC_COMMAND(${_abs_FILE} ${_moc} "${_moc_INCS}" "")
+ #QT4_CREATE_MOC_COMMAND(${_abs_FILE} ${_moc} "${_moc_INCS}" "")
+ QT4_CREATE_MOC_COMMAND(${_abs_FILE} ${_moc} "${_moc_INCS}" "${moc_options}" "${moc_target}")
MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
ENDFOREACH (_current_MOC_INC)
ENDIF()
IF(_match2)
FOREACH (_current_MOC_INC ${_match2})
STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
- QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "")
+ #QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "")
+ QT4_CREATE_MOC_COMMAND(${_abs_FILE} ${_moc} "${_moc_INCS}" "${moc_options}" "${moc_target}")
MACRO_ADD_FILE_DEPENDENCIES(${_header} ${_moc})
ENDFOREACH (_current_MOC_INC)
ENDIF()
ENDIF()
@@ -56,9 +59,10 @@
FILE(READ ${_abs_FILE} _contents)
STRING(REGEX MATCHALL "Q_OBJECT|Q_GADGET" _match2 "${_contents}")
IF(_match2)
QT4_MAKE_OUTPUT_FILE(${_abs_FILE} moc_ cpp outfile)
- QT4_CREATE_MOC_COMMAND(${_abs_FILE} ${outfile} "${moc_flags}" "${moc_options}")
+ #QT4_CREATE_MOC_COMMAND(${_abs_FILE} ${outfile} "${moc_flags}" "${moc_options}")
+ QT4_CREATE_MOC_COMMAND(${_abs_FILE} ${outfile} "${moc_flags}" "${moc_options}" "${moc_target}")
SET(${outfiles} ${${outfiles}} ${outfile})
ENDIF()
ENDIF()
ENDFOREACH(it)
So, create files (PKGBUILD and jreenMacros.diff) , put them into empty directory and build package:
$ ls
jreenMacros.diff PKGBUILD
$ makepkg
$ sudo pacman -U jreen-1.1.1-3-x86_64.pkg.tar.xz
Offline
Thank's for the detailed help! I finally installed it
Offline
Pages: 1