Ticket #799 (closed defect: fixed)

Opened 6 years ago

Last modified 4 years ago

kdepim_sync.o stops while running make

Reported by: diehorsti Owned by: ehabkost
Priority: high Milestone: 0.37
Component: Plugin: kdepim Version: 0.36
Severity: blocker Keywords:
Cc: bricks

Description (last modified by felixmoeller) (diff)

1)

cmake -DCMAKE_INSTALL_PREFIX=/usr/ ../

-- Found KDE3 include dir: /opt/kde3/include                               
-- Found KDE3 library dir: /opt/kde3/lib                                   
-- Found KDE3 dcopidl preprocessor: /opt/kde3/bin/dcopidl                  
-- Found KDE3 dcopidl2cpp preprocessor: /opt/kde3/bin/dcopidl2cpp          
-- Found KDE3 kconfig_compiler preprocessor: /opt/kde3/bin/kconfig_compiler
-- Found KDE PIM 3: /opt/kde3/lib/libkabc.so /opt/kde3/lib/libkcal.so      
CMake Warning (dev) at src/CMakeLists.txt:18 (ADD_DEFINITIONS):            
  Policy CMP0005 is not set: Preprocessor definition values are now escaped
  automatically.  Run "cmake --help-policy CMP0005" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
CMake Warning (dev) at /share/libopensync1/cmake/modules/OpenSyncPlugin.cmake:5 (ADD_LIBRARY):
  Policy CMP0003 should be set before this line.  Add code such as

    if(COMMAND cmake_policy)
      cmake_policy(SET CMP0003 NEW)
    endif(COMMAND cmake_policy)

  as early as possible but after the most recent call to
  cmake_minimum_required or cmake_policy(VERSION).  This warning appears
  because target "kdepim-sync" links to some libraries for which the linker
  must search:

    opensync, dl, -lpthread

  and other libraries with known full path:

    /opt/kde3/lib/libkabc.so
    /usr/lib/qt3/lib/libqassistantclient.a

  CMake is adding directories in the second list to the linker search path in
  case they are needed to find libraries from the first list (for backwards
  compatibility with CMake 2.4).  Set policy CMP0003 to OLD or NEW to enable
  or disable this behavior explicitly.  Run "cmake --help-policy CMP0003" for
  more information.
Call Stack (most recent call first):
  src/CMakeLists.txt:22 (OPENSYNC_PLUGIN_ADD)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done

2)

make

/kdepim/src/kdepim_sync.cpp: In function ‘void* kde_initialize(OSyncPlugin*, OSyncPluginInfo*, OSyncError**)’:
/kdepim/src/kdepim_sync.cpp:52: error: expected primary-expression before ‘/’ token
/kdepim/src/kdepim_sync.cpp:52: error: ‘lib’ was not declared in this scope
/kdepim/src/kdepim_sync.cpp:52: error: ‘libopensync1’ was not declared in this scope
/kdepim/src/kdepim_sync.cpp:52: error: ‘plugins’ was not declared in this scope
/kdepim/src/kdepim_sync.cpp:55: error: expected primary-expression before ‘/’ token
make[2]: *** [src/CMakeFiles/kdepim-sync.dir/kdepim_sync.o] Fehler 1
make[1]: *** [src/CMakeFiles/kdepim-sync.dir/all] Fehler 2
make: *** [all] Fehler 2

Change History

comment:1 Changed 6 years ago by felixmoeller

  • Description modified (diff)

comment:2 Changed 6 years ago by felixmoeller

  • Cc bricks added

I can reproduce this on openSUSE 11.1 factory with current SVN.

# rpm -q cmake kdepim3-devel libopensync-devel
cmake-2.6.1-22
kdepim3-devel-3.5.9-80
libopensync-devel-0.36_SVN3473-1.1

bricks could you comment on the cmake issues?

comment:3 follow-up: ↓ 5 Changed 6 years ago by felixmoeller

svn diff ..
Index: ../src/CMakeLists.txt
===================================================================
--- ../src/CMakeLists.txt       (Revision 3522)
+++ ../src/CMakeLists.txt       (Arbeitskopie)
@@ -15,7 +15,7 @@
 knotes.cpp
 )

-ADD_DEFINITIONS( -DKDEPIM_LIBDIR="${OPENSYNC_PLUGINDIR}" )
+ADD_DEFINITIONS( -DKDEPIM_LIBDIR="\\\"${OPENSYNC_PLUGINDIR}\\\"" )

 KDE3_ADD_DCOP_STUBS( kdepim_module_LIB_SRCS KNotesIface.h )

This fixes the above problem for me. Now I have

/opt/kde3/include/kresources/manager.h:59: warning: 'class KRES::ManagerNotifier' has virtual functions and accessible non-virtual destructor
/home/fm/system/plugins/kdepim/src/kaddrbook.cpp: In member function 'bool KContactDataSource::initialize(OSyncPlugin*, OSyncPluginInfo*, OSyncError**)':
/home/fm/system/plugins/kdepim/src/kaddrbook.cpp:43: error: 'osync_objtype_sink_add_objformat_with_config' was not declared in this scope
/home/fm/system/plugins/kdepim/src/kaddrbook.cpp: In member function 'virtual void KContactDataSource::get_changes(OSyncPluginInfo*, OSyncContext*)':
/home/fm/system/plugins/kdepim/src/kaddrbook.cpp:144: error: 'osync_objformat_set_config' was not declared in this scope
make[2]: *** [src/CMakeFiles/kdepim_lib.dir/kaddrbook.o] Error 1
make[1]: *** [src/CMakeFiles/kdepim_lib.dir/all] Error 2
make: *** [all] Error 2

comment:4 Changed 6 years ago by felixmoeller

this would make this a duplicate of ticket #792

comment:5 in reply to: ↑ 3 Changed 6 years ago by bricks

Felix could you please try

Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(Revision 3522)
+++ CMakeLists.txt	(Arbeitskopie)
@@ -8,6 +8,11 @@
 
 CMAKE_MINIMUM_REQUIRED( VERSION 2.4.4 )
 
+IF(COMMAND cmake_policy)
+	cmake_policy(SET CMP0003 NEW)
+	cmake_policy(SET CMP0005 NEW)
+ENDIF(COMMAND cmake_policy)
+
 FIND_PACKAGE( OpenSync REQUIRED )
 FIND_PACKAGE( Qt3 REQUIRED )
 FIND_PACKAGE( KDEPIM3 REQUIRED )

I don't have installed any kde libraries. So I can't try it. Currently I don't know if cmake_policy(SET CMP0005 NEW) works. If not please try cmake_policy(SET CMP0005 OLD).

Please don't escape the characters by your self. The cmake docu gives a warning about it: "If a value does not seem to be escaped correctly, do not attempt to work-around the problem by adding escape sequences to the value."

Replying to felixmoeller:

svn diff ..
Index: ../src/CMakeLists.txt
===================================================================
--- ../src/CMakeLists.txt       (Revision 3522)
+++ ../src/CMakeLists.txt       (Arbeitskopie)
@@ -15,7 +15,7 @@
 knotes.cpp
 )

-ADD_DEFINITIONS( -DKDEPIM_LIBDIR="${OPENSYNC_PLUGINDIR}" )
+ADD_DEFINITIONS( -DKDEPIM_LIBDIR="\\\"${OPENSYNC_PLUGINDIR}\\\"" )

 KDE3_ADD_DCOP_STUBS( kdepim_module_LIB_SRCS KNotesIface.h )

This fixes the above problem for me. Now I have

/opt/kde3/include/kresources/manager.h:59: warning: 'class KRES::ManagerNotifier' has virtual functions and accessible non-virtual destructor
/home/fm/system/plugins/kdepim/src/kaddrbook.cpp: In member function 'bool KContactDataSource::initialize(OSyncPlugin*, OSyncPluginInfo*, OSyncError**)':
/home/fm/system/plugins/kdepim/src/kaddrbook.cpp:43: error: 'osync_objtype_sink_add_objformat_with_config' was not declared in this scope
/home/fm/system/plugins/kdepim/src/kaddrbook.cpp: In member function 'virtual void KContactDataSource::get_changes(OSyncPluginInfo*, OSyncContext*)':
/home/fm/system/plugins/kdepim/src/kaddrbook.cpp:144: error: 'osync_objformat_set_config' was not declared in this scope
make[2]: *** [src/CMakeFiles/kdepim_lib.dir/kaddrbook.o] Error 1
make[1]: *** [src/CMakeFiles/kdepim_lib.dir/all] Error 2
make: *** [all] Error 2

comment:6 Changed 6 years ago by felixmoeller

yes your patch solves it too. ;)

-- Found KDE3 include dir: /opt/kde3/include
-- Found KDE3 library dir: /opt/kde3/lib
-- Found KDE3 dcopidl preprocessor: /opt/kde3/bin/dcopidl
-- Found KDE3 dcopidl2cpp preprocessor: /opt/kde3/bin/dcopidl2cpp
-- Found KDE3 kconfig_compiler preprocessor: /opt/kde3/bin/kconfig_compiler
The end of a CMakeLists file was reached with an IF statement that was not closed properly.
Within the directory: /home/fm/system/plugins/kdepim
The arguments are: "${out}" MATCHES "2.9[56]"
-- Found KDE PIM 3: /usr/lib/libkabc.so /usr/lib/libkcal.so
The end of a CMakeLists file was reached with an IF statement that was not closed properly.
Within the directory: /home/fm/system/plugins/kdepim
The arguments are: "${out}" MATCHES "2.9[56]"
The end of a CMakeLists file was reached with an IF statement that was not closed properly.
Within the directory: /home/fm/system/plugins/kdepim
The arguments are: "${out}" MATCHES "2.9[56]"
-- Configuring done
-- Generating done
-- Build files have been written to: /home/fm/system/plugins/kdepim/build

Building still stops at

/opt/kde3/include/kresources/manager.h: At global scope:
/opt/kde3/include/kresources/manager.h:59: warning: ‘class KRES::ManagerNotifier’ has virtual functions and accessible non-virtual destructor
/home/fm/system/plugins/kdepim/src/kaddrbook.cpp: In member function ‘bool KContactDataSource::initialize(OSyncPlugin*, OSyncPluginInfo*, OSyncError**)’:
/home/fm/system/plugins/kdepim/src/kaddrbook.cpp:43: error: ‘osync_objtype_sink_add_objformat_with_config’ was not declared in this scope
/home/fm/system/plugins/kdepim/src/kaddrbook.cpp: In member function ‘virtual void KContactDataSource::get_changes(OSyncPluginInfo*, OSyncContext*)’:
/home/fm/system/plugins/kdepim/src/kaddrbook.cpp:144: error: ‘osync_objformat_set_config’ was not declared in this scope
make[2]: *** [src/CMakeFiles/kdepim_lib.dir/kaddrbook.o] Fehler 1
make[1]: *** [src/CMakeFiles/kdepim_lib.dir/all] Fehler 2
make: *** [all] Fehler 2

comment:7 Changed 6 years ago by bricks

  • Status changed from new to closed
  • Resolution set to fixed

Cmake warnings are fixed in r3524

comment:8 Changed 6 years ago by diehorsti

  • Status changed from closed to reopened
  • Resolution fixed deleted

I checked out the latest version with change cmakelists.txt --> error is now different:

1) cmake -DCMAKE_INSTALL_PREFIX=/usr/ ../ -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- 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 -- checking for one of the modules 'libopensync;>=0.36' -- found libopensync, version 0.37-r3471 -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber? in ICE -- Looking for IceConnectionNumber? in ICE - found -- Found X11: /usr/lib/libX11.so -- Looking for include files CMAKE_HAVE_PTHREAD_H -- Looking for include files CMAKE_HAVE_PTHREAD_H - found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found KDE3 include dir: /opt/kde3/include -- Found KDE3 library dir: /opt/kde3/lib -- Found KDE3 dcopidl preprocessor: /opt/kde3/bin/dcopidl -- Found KDE3 dcopidl2cpp preprocessor: /opt/kde3/bin/dcopidl2cpp -- Found KDE3 kconfig_compiler preprocessor: /opt/kde3/bin/kconfig_compiler -- Found KDE PIM 3: /opt/kde3/lib/libkabc.so /opt/kde3/lib/libkcal.so -- Configuring done -- Generating done

2) [ 55%] Building CXX object src/CMakeFiles/kdepim_lib.dir/kaddrbook.o ... ... In file included from /opt/kde3/include/kabc/addressbook.h:27,

from /opt/kde3/include/kabc/stdaddressbook.h:24, from /home/diehorsti/kdepim/src/kaddrbook.h:26, from /home/diehorsti/kdepim/src/kaddrbook.cpp:29:

/opt/kde3/include/kresources/manager.h: At global scope: /opt/kde3/include/kresources/manager.h:59: warning: ‘class KRES::ManagerNotifier? ’ has virtual functions and accessible non-virtual destructor /home/diehorsti/kdepim/src/kaddrbook.cpp: In member function ‘bool KContactDataS ource::initialize(OSyncPlugin*, OSyncPluginInfo*, OSyncError)’: /home/diehorsti/kdepim/src/kaddrbook.cpp:43: error: ‘osync_objtype_sink_add_objf ormat_with_config’ was not declared in this scope /home/diehorsti/kdepim/src/kaddrbook.cpp: In member function ‘virtual void KCont actDataSource::get_changes(OSyncPluginInfo*, OSyncContext*)’: /home/diehorsti/kdepim/src/kaddrbook.cpp:144: error: ‘osync_objformat_set_config ’ was not declared in this scope make[2]: * [src/CMakeFiles/kdepim_lib.dir/kaddrbook.o] Fehler 1 make[1]: * [src/CMakeFiles/kdepim_lib.dir/all] Fehler 2 make: * [all] Fehler 2

comment:9 Changed 6 years ago by bricks

  • Status changed from reopened to closed
  • Resolution set to fixed

That's because kdepim plugin isn't ported to current trunk yet. See ticket #792.

comment:10 Changed 4 years ago by sim

decoration Changed 1 year ago by admin

bathtub Changed 1 year ago by admin

solar system Changed 1 year ago by admin

stair parts Changed 1 year ago by admin

solar supply Changed 1 year ago by admin

Note: See TracTickets for help on using tickets.