albertlauncher / albert

A fast and flexible keyboard launcher
https://albertlauncher.github.io
Other
7.26k stars 305 forks source link

Linking error : cannot find -lPRIVATE #353

Closed mukhal closed 7 years ago

mukhal commented 7 years ago

getting this error when running $make install Linking CXX shared library ../../../lib/libxdg.so /usr/bin/ld: cannot find -lPRIVATE collect2: error: ld returned 1 exit status make[2]: [lib/libxdg.so] Error 1 make[1]: [src/lib/xdg/CMakeFiles/xdg.dir/all] Error 2 make: *** [all] Error 2

Environent
ManuelSchneid3r commented 7 years ago

More info plz. Cant reproduce. Run this and post pastebin of the ouptut.

cmake ../albert  -DCMAKE_BUILD_TYPE=Debug
make
mukhal commented 7 years ago

Okay here it is :

Building CXX object src/lib/xdg/CMakeFiles/xdg.dir/xdg_automoc.cpp.o cd /home/muhammad/Repositories/alb/albert/src/lib/xdg && /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DXDG -Dxdg_EXPORTS -std=c++11 -Wall -Wextra -pedantic -g -O0 -fPIC -I/home/muhammad/Repositories/alb/albert/src/lib/xdg -I/home/muhammad/Repositories/alb/albert/src/lib/xdg/include -I/home/muhammad/Repositories/alb/albert/src/lib/xdg/src -I/usr/include/qt5 -I/usr/include/qt5/QtCore -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I/usr/include/qt5/QtGui -o CMakeFiles/xdg.dir/xdg_automoc.cpp.o -c /home/muhammad/Repositories/alb/albert/src/lib/xdg/xdg_automoc.cpp Linking CXX shared library ../../../lib/libxdg.so cd /home/muhammad/Repositories/alb/albert/src/lib/xdg && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/xdg.dir/link.txt --verbose=1 /usr/bin/c++ -fPIC -std=c++11 -Wall -Wextra -pedantic -g -O0 -shared -Wl,-soname,libxdg.so -o ../../../lib/libxdg.so CMakeFiles/xdg.dir/src/themefileparser.cpp.o CMakeFiles/xdg.dir/src/xdgiconlookup.cpp.o CMakeFiles/xdg.dir/xdg_automoc.cpp.o -lPRIVATE /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1 /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.2.1 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1 /usr/bin/ld: cannot find -lPRIVATE collect2: error: ld returned 1 exit status make[2]: [lib/libxdg.so] Error 1 make[2]: Leaving directory `/home/muhammad/Repositories/alb/albert' make[1]: [src/lib/xdg/CMakeFiles/xdg.dir/all] Error 2 make[1]: Leaving directory `/home/muhammad/Repositories/alb/albert' make: *** [all] Error 2

ManuelSchneid3r commented 7 years ago

This is not a debug build. Restart cmake with the options I provided and please use pastebin for large texts. Have you read this?

mukhal commented 7 years ago

Yes I read the manual. Here's the pastepin of the output : [http://pastebin.com/Znc6pYs5]

ManuelSchneid3r commented 7 years ago

http://pastebin.com/raw/kv0RXEeE

This is what the debug make output should look like. I need to see the command that fails. Please start a complete new checkout.

git clone https://github.com/albertlauncher/albert.git
mkdir albert-build
cd albert-build
cmake ../albert -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug
make | tee pastebin.txt
mukhal commented 7 years ago

Done that. Here it 's http://pastebin.com/kDAPQZhN

It seems the error occurs when building xdg_automoc.cpp.o

ManuelSchneid3r commented 7 years ago

This is not a new checkout and not a new rebuild. I dont know what you are linking, but we do not import that libPRIVATE. I will close this one since it is not reproducible on the target system. Just use the ppas in the docu.

Do you use a special verison of Qt, cmake or a particular c++ compiler? Whats your cmake version? This seems related to the cmake link_private stuff.

ManuelSchneid3r commented 7 years ago

The privat link interface was introduced in 2.8.12 . If you have <2.8.12 and this was your problem albert should not compile anymore on your machine. (7ecc7a235423116eece23d6115ed0d8894bb149a)

mukhal commented 7 years ago

cmake 2.8.11 g++ 4.8.4

I'll update cmake and see what happens

mukhal commented 7 years ago

Fixed by completely removing and reinstalling cmake