Приложение KDE не устанавливается после «make install» - PullRequest
0 голосов
/ 27 декабря 2011

Я только начал пробовать разработку небольшого приложения KDE в качестве теста для себя, и у меня возникли некоторые проблемы, связанные с использованием cmake, которые я в основном преодолел. В настоящее время мое приложение работает нормально (например, cmake && заставляет работать без ошибок). Однако при выполнении 'make install' выдается следующая ошибка:

    kemra102@kaon:~/projects/kquickformat/build> make install
[  0%] Built target kquickformat_automoc
Scanning dependencies of target kquickformat
[ 50%] Building CXX object src/CMakeFiles/kquickformat.dir/kquickformat_automoc.o             
Linking CXX executable kquickformat                                                           
[100%] Built target kquickformat                                                              
Linking CXX executable CMakeFiles/CMakeRelink.dir/kquickformat
Install the project...                                                                        
-- Install configuration: ""                                                                  
-- Installing: /usr/local/bin/kquickformat
CMake Error at src/cmake_install.cmake:38 (FILE):
  file INSTALL cannot copy file
  "/home/kemra102/projects/kquickformat/build/src/CMakeFiles/CMakeRelink.dir/kquickformat"
  to "/usr/local/bin/kquickformat".
Call Stack (most recent call first):
  cmake_install.cmake:37 (INCLUDE)


make: *** [install] Error 1

Какие-нибудь идеи, которые для меня ничем не кажутся очевидными?

Ответы [ 2 ]

3 голосов
/ 27 декабря 2011

Для установки в каталоги по умолчанию обычно требуются права суперпользователя. Поэтому используйте либо sudo make install, либо повторите cmake, указав префикс установки, для которого у вас есть разрешение на запись. Например, я использую:

cmake -DCMAKE_INSTALL_PREFIX=$HOME/install/

Если вы сделаете это, не забудьте также установить все переменные среды, связанные с Qt и KDE, иначе установленное вами приложение не будет работать должным образом или вообще не работать. Я обычно вызываю функцию оболочки, которая делает что-то вроде:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/install/lib
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/install/lib/pkgconfig
export KDEDIR=$HOME/install
export KDEDIRS=$KDEDIR
export XDG_DATA_DIRS=$XDG_DATA_DIRS:$HOME/install
export QT_PLUGIN_PATH=$QT_PLUGIN_PATH:$HOME/install/plugins
3 голосов
/ 27 декабря 2011

Ваша учетная запись пользователя (по крайней мере, не должна нет) не имеет права на запись в /usr/local/bin. Попробуйте sudo make install.

...