Bug 386745 - kservice ails to compile due to missing file called "fakeplugin.desktop"
Summary: kservice ails to compile due to missing file called "fakeplugin.desktop"
Status: RESOLVED NOT A BUG
Alias: None
Product: frameworks-kservice
Classification: Frameworks and Libraries
Component: general (other bugs)
Version First Reported In: 5.40.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: David Faure
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-11-11 12:15 UTC by shevegen
Modified: 2018-06-15 00:31 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description shevegen 2017-11-11 12:15:39 UTC
I am trying to compile kservice-5.40.0

The other KDE 5.40.0 packages compiled without a problem so far (I still have that strange
/usr/s/cmake/ error I reported elsewhere, but I simply put a symlink from /usr/s/ towards
/usr/lib/ and that seems to have worked for now; I investigate that error at a later time,
for now, this is solely about kservice-5.40.0).

Now, in the extracted directory "/Depot/jj/kservice-5.40.0/" I do:

  cmake -DCMAKE_INSTALL_PREFIX=/usr .; make; make install

But I get an early error:


cmake -DCMAKE_INSTALL_PREFIX=/usr .                                                                                                                                         


-- The C compiler identification is GNU 7.2.0                                                                                                                               
-- The CXX compiler identification is GNU 7.2.0                                                                                                                             
-- Check for working C compiler: /System/Index/bin/cc                                                                                                                       
-- Check for working C compiler: /System/Index/bin/cc -- works                                                                                                              
-- Detecting C compiler ABI info                                                                                                                                            
-- Detecting C compiler ABI info - done                                                                                                                                     
-- Detecting C compile features                                                                                                                                             
-- Detecting C compile features - done                                                                                                                                      
-- Check for working CXX compiler: /System/Index/bin/c++                                                                                                                    
-- Check for working CXX compiler: /System/Index/bin/c++ -- works                                                                                                           
-- Detecting CXX compiler ABI info                                                                                                                                          
-- Detecting CXX compiler ABI info - done                                                                                                                                   
-- Detecting CXX compile features                                                                                                                                           
-- Detecting CXX compile features - done                                                                                                                                    
--                                                                                                                                                                          

-- Installing in the same prefix as Qt, adopting their path scheme.                                                                                                         
-- Looking for __GLIBC__                                                                                                                                                    
-- Looking for __GLIBC__ - found                                                                                                                                            
-- Performing Test _OFFT_IS_64BIT                                                                                                                                           
-- Performing Test _OFFT_IS_64BIT - Success                                                                                                                                 
-- Performing Test HAVE_DATE_TIME                                                                                                                                           
-- Performing Test HAVE_DATE_TIME - Success                                                                                                                                 
-- Could not set up the appstream test. appstreamcli is missing.                                                                                                            
-- Found Gettext: /System/Index/bin/msgmerge (found version "0.19.8.1")                                                                                                     
-- Found PythonInterp: /System/Index/bin/python (found version "2.7.14")                                                                                                    
-- Found FLEX: /usr/bin/flex (found version "2.6.4")                                                                                                                        
-- Found BISON: /System/Index/bin/bison (found version "3.0.4")                                                                                                             
-- Looking for mmap                                                                                                                                                         
-- Looking for mmap - found                                                                                                                                                 
-- Looking for posix_madvise                                                                                                                                                
-- Looking for posix_madvise - found                                                                                                                                        
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY                                                                                                                           
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success                                                                                                                 
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY                                                                                                                    
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success                                                                                                          
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR                                                                                                                             

-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success   
CMake Error at autotests/CMakeLists.txt:47 (file):          
  file COPY cannot find         
  "/Depot/jj/kservice-5.40.0/autotests/fakeplugin.desktop".  


CMake Error at autotests/CMakeLists.txt:48 (file):          
  file RENAME failed to rename  

    /Depot/jj/kservice-5.40.0/autotests/fakeplugin.desktop

  to

    /Depot/jj/kservice-5.40.0/autotests/fakeplugin_json_new.desktop

  because: No such file or directory



-- The following OPTIONAL packages have been found:

 * KF5DocTools (required version >= 5.40.0)

-- The following REQUIRED packages have been found:

 * ECM (required version >= 5.40.0), Extra CMake Modules., <https://projects.kde.org/projects/kdesupport/extra-cmake-modules>
 * Qt5DBus
 * Qt5Xml
 * KF5Config (required version >= 5.40.0)
 * KF5CoreAddons (required version >= 5.40.0)
 * KF5Crash (required version >= 5.40.0)
 * KF5DBusAddons (required version >= 5.40.0)
 * Gettext
 * PythonInterp
 * KF5I18n (required version >= 5.40.0)
 * FLEX, Fast Lexical Analyzer, <http://flex.sourceforge.net>
   Required for the Trader parser
 * BISON, general-purpose parser generator, <http://www.gnu.org/software/bison>
   Required for the Trader parser
 * Qt5Concurrent
 * Qt5Test
 * Qt5 (required version >= 5.7.0)

-- The following features have been disabled:

 * QCH, API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)

-- Configuring incomplete, errors occurred!
See also "/Depot/jj/kservice-5.40.0/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target 'install'.  Stop.

-------------------------------------------------

The part that confuses me is the rename-action above.


-> 

failed to rename  

    /Depot/jj/kservice-5.40.0/autotests/fakeplugin.desktop

To the best of my knowledge, I have not touched anything at the autotests/ directory.

(It's also a bit weird that kservice wants to run stuff under autotests/, do
downstream users who want to compile kservice, really require this directory in
the first place?)

If you look above, the required packages all seem to be there on my system, yet
cmake failed because it failed with a rename-action.

I know way too little about cmake + kde to really give any advice as to what
to do instead of the above. But I think I can still reason semi-logically about
what could be made different there.

1) Firstly, I think that either the file-rename action is very important, in
which case rather than show a "-- Configuring incomplete, errors occurred!",
it should display the specific error instead (not even sure what this error
is, but this is the general behaviour when you get a "missing required 
package" normally; such error messages are to me, more useful than the
strange failed rename file action).

2) Second, if the rename-action is not important at all then I would not
use it during normal compile-runs anyway.

3) The file should exist ... but it is not existing. I did updatedb, then
locate everything under / for any file called "fakeplugin.desktop" but
I could not find it anywhere. Perhaps it is automatically generated by
some script? Either way, as kservice complains, and I can not compile
kservice as a result, it may be helpful to make that file available,
even if it is only a dummy. I assume that this file can not be that
important anyway, since it is just a .desktop file, so I'd rather be
able to continue to compile, than depend on a file that I may not even
need (I actually mostly just compile the whole KDE stack in order to use
some awesome programs, such as okular, kde konsole etc... so I don't even
need the full kde desktop. When compilation fails, though, then I can not
even continue. KDE + cmake finally appears to have gotten better, since
I was able to compile KDE konsole from source a few months ago, but now
I struggle again a bit, which is ... weird. Heisenbug regressions ... :P).
Comment 1 Christoph Feck 2018-06-15 00:31:32 UTC
Same as bug 394711.