Nitrux/nx-software-center

Install Errors Debian

asddsaz opened this issue · 28 comments

Log:

usr@LINUX:~$ git clone https://github.com/Nitrux/nx-software-center.git
Cloning into 'nx-software-center'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 3573 (delta 1), reused 3 (delta 1), pack-reused 3567
Receiving objects: 100% (3573/3573), 21.58 MiB | 8.14 MiB/s, done.
Resolving deltas: 100% (2559/2559), done.
usr@LINUX:~$ mkdir build
usr@LINUX:~$ cd build
usr@LINUX:~/build$ cmake ../nx-software-center -DCMAKE_BUILD_PREFIX=Release -DCMAKE_INSTALL_PREFIX=/usr
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- 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
-- Detecting C compile features
-- Detecting C compile features - 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
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:21 (find_package):
  Could not find a package configuration file provided by "ECM" (requested
  version 0.0.11) with any of the following names:

    ECMConfig.cmake
    ecm-config.cmake

  Add the installation prefix of "ECM" to CMAKE_PREFIX_PATH or set "ECM_DIR"
  to a directory containing one of the above files.  If "ECM" provides a
  separate development package or SDK, be sure it has been installed.


-- Configuring incomplete, errors occurred!
See also "/home/usr/build/CMakeFiles/CMakeOutput.log".
usr@LINUX:~/build$ make
make: *** No targets specified and no makefile found.  Stop.
usr@LINUX:~/build$ sudo make
make: *** No targets specified and no makefile found.  Stop.
usr@LINUX:~/build$ 

Use the development branch. Clone the project then cd into the folder and do git submodule update --init --recursive

@UriHerrera Sorry for my noobish-ness but, how do I clone the development branch? I'm only aware of how to git-clone master branches.

lslvr commented

@asddsaz cd into the folder of the cloned repository and use git checkout development to switch to the development branch.

I did this:

usr@LINUX:~$ git clone -b development --single-branch  https://github.com/Nitrux/nx-software-center.git
Cloning into 'nx-software-center'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 3573 (delta 1), reused 3 (delta 1), pack-reused 3567
Receiving objects: 100% (3573/3573), 21.58 MiB | 13.23 MiB/s, done.
Resolving deltas: 100% (2559/2559), done.
usr@LINUX:~$ cd nx-software-center
usr@LINUX:~/nx-software-center$ git submodule update --init --recursiveSubmodule 'lib/AppImageInfo' (https://github.com/azubieta/AppImageInfo.git) registered for path 'lib/AppImageInfo'
Cloning into '/home/usr/nx-software-center/lib/AppImageInfo'...
Submodule path 'lib/AppImageInfo': checked out 'c324177598cc0c3b23aa59f67afb70c99e57579e'
Submodule 'thirdparty/googletest' (https://github.com/google/googletest.git) registered for path 'lib/AppImageInfo/thirdparty/googletest'
Cloning into '/home/usr/nx-software-center/lib/AppImageInfo/thirdparty/googletest'...
Submodule path 'lib/AppImageInfo/thirdparty/googletest': checked out 'd1c1aac78160ae31353d9fe1bb1171353986a4f1'
usr@LINUX:~/nx-software-center$ 

the git clone portion appeared to work. However, I had to rename the first clone.

I executed "git submodule update --init --recursive" in both directories.

Do I re-execute the other commands?

Try to build it now. Make sure that you have the build dependencies sorted first.

I did this:

usr@LINUX:~$ git clone -b development --single-branch  https://github.com/Nitrux/nx-software-center.git
Cloning into 'nx-software-center'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 3573 (delta 1), reused 3 (delta 1), pack-reused 3567
Receiving objects: 100% (3573/3573), 21.58 MiB | 13.23 MiB/s, done.
Resolving deltas: 100% (2559/2559), done.
usr@LINUX:~$ cd nx-software-center
usr@LINUX:~/nx-software-center$ git submodule update --init --recursiveSubmodule 'lib/AppImageInfo' (https://github.com/azubieta/AppImageInfo.git) registered for path 'lib/AppImageInfo'
Cloning into '/home/usr/nx-software-center/lib/AppImageInfo'...
Submodule path 'lib/AppImageInfo': checked out 'c324177598cc0c3b23aa59f67afb70c99e57579e'
Submodule 'thirdparty/googletest' (https://github.com/google/googletest.git) registered for path 'lib/AppImageInfo/thirdparty/googletest'
Cloning into '/home/usr/nx-software-center/lib/AppImageInfo/thirdparty/googletest'...
Submodule path 'lib/AppImageInfo/thirdparty/googletest': checked out 'd1c1aac78160ae31353d9fe1bb1171353986a4f1'
usr@LINUX:~/nx-software-center$ 

the git clone portion appeared to work. However, I had to rename the first clone.

I executed "git submodule update --init --recursive" in both directories.

Do I re-execute the other commands?

I'm running the newest version available for Debian. Is there an alternative way to update?

I had to go a bit off the instructions like the cmake ../nx-software-center -DCMAKE_BUILD_PREFIX=Release -DCMAKE_INSTALL_PREFIX=/usr didn't work. So I had to change directories.

I deleted the old one and re-tried:

usr@LINUX:~$ sudo apt install cmake qt-sdk libkf5plasma-dev libkf5plasma5   
Reading package lists... Done
Building dependency tree       
Reading state information... Done
cmake is already the newest version (3.7.2-1).
libkf5plasma-dev is already the newest version (5.28.0-2).
libkf5plasma5 is already the newest version (5.28.0-2).
libkf5plasma5 set to manually installed.
qt-sdk is already the newest version (2).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
usr@LINUX:~$ sudo apt install cmake qt-sdk libkf5plasma-dev libkf5plasma5 qt
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package qt
usr@LINUX:~$ git clone https://github.com/Nitrux/nx-software-center.git
Cloning into 'nx-software-center'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 3573 (delta 1), reused 3 (delta 1), pack-reused 3567
Receiving objects: 100% (3573/3573), 21.58 MiB | 11.19 MiB/s, done.
Resolving deltas: 100% (2559/2559), done.
usr@LINUX:~$ cd nx-software-center
usr@LINUX:~/nx-software-center$ git checkout development
Branch development set up to track remote branch development from origin.
Switched to a new branch 'development'
usr@LINUX:~/nx-software-center$ git submodule update --init --recursive
Submodule 'lib/AppImageInfo' (https://github.com/azubieta/AppImageInfo.git) registered for path 'lib/AppImageInfo'
Cloning into '/home/usr/nx-software-center/lib/AppImageInfo'...
Submodule path 'lib/AppImageInfo': checked out 'c324177598cc0c3b23aa59f67afb70c99e57579e'
Submodule 'thirdparty/googletest' (https://github.com/google/googletest.git) registered for path 'lib/AppImageInfo/thirdparty/googletest'
Cloning into '/home/usr/nx-software-center/lib/AppImageInfo/thirdparty/googletest'...
Submodule path 'lib/AppImageInfo/thirdparty/googletest': checked out 'd1c1aac78160ae31353d9fe1bb1171353986a4f1'
usr@LINUX:~/nx-software-center$ cd
usr@LINUX:~$ mkdir build
mkdir: cannot create directory ‘build’: File exists
usr@LINUX:~$ cd nx-software-center
usr@LINUX:~/nx-software-center$ mkdir build
usr@LINUX:~/nx-software-center$ sudo mkdir build
mkdir: cannot create directory ‘build’: File exists
usr@LINUX:~/nx-software-center$ cd build
usr@LINUX:~/nx-software-center/build$ cmake ../nx-software-center -DCMAKE_BUILD_PREFIX=Release -DCMAKE_INSTALL_PREFIX=/usr
CMake Error: The source directory "/home/usr/nx-software-center/nx-software-center" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
usr@LINUX:~/nx-software-center/build$ cmake /nx-software-center -DCMAKE_BUILD_PREFIX=Release -DCMAKE_INSTALL_PREFIX=/usr
CMake Error: The source directory "/nx-software-center" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
usr@LINUX:~/nx-software-center/build$ cmake ./nx-software-center -DCMAKE_BUILD_PREFIX=Release -DCMAKE_INSTALL_PREFIX=/usr
CMake Error: The source directory "/home/usr/nx-software-center/build/nx-software-center" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
usr@LINUX:~/nx-software-center/build$ cd
usr@LINUX:~$ cmake ../nx-software-center -DCMAKE_BUILD_PREFIX=Release -DCMAKE_INSTALL_PREFIX=/usr
CMake Error: The source directory "/home/nx-software-center" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
usr@LINUX:~$ cd nx-software-center
usr@LINUX:~/nx-software-center$ cmake ../nx-software-center -DCMAKE_BUILD_PREFIX=Release -DCMAKE_INSTALL_PREFIX=/usr
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- 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
-- Detecting C compile features
-- Detecting C compile features - 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
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Downloading and building libappimage
CMake Error at lib/AppImageInfo/CMakeLists.txt:1 (cmake_minimum_required):
  CMake 3.8 or higher is required.  You are running version 3.7.2


-- Configuring incomplete, errors occurred!
See also "/home/usr/nx-software-center/CMakeFiles/CMakeOutput.log".
usr@LINUX:~/nx-software-center$ make
make: *** No targets specified and no makefile found.  Stop.
usr@LINUX:~/nx-software-center$ 

The list of packages is in the README.

Requirements

  • cmake
  • build-essential
  • xxd
  • libtool
  • automake
  • qt5-default
  • binutils-multiarch-dev
  • libboost-filesystem-dev
  • libxml2-dev
  • libssl-dev
  • libboost-program-options-dev
  • qt5declarative-dev
  • libqt5xmlpattern5-dev
  • autotools-dev
  • libcairo2-dev
  • libfuse-dev

This list is for Ubuntu so you would have to find the appropriate Debian package.

  1. Install the build dependencies first.
  2. Create a folder where you will clone this repository and cd into it.
  3. Then switch to the development branch.
  4. Then do git submodule update --init --recursive
  5. Then create the folder build and cd into it.
  6. Then do cmake .. -DCMAKE_BUILD_PREFIX=Release -DCMAKE_INSTALL_PREFIX=/usr
  7. Then use make
  8. Then you can either use make install or use checkinstall to create a Debian package.

Here

usr@LINUX:~$ sudo apt install cmake qt-sdk libkf5plasma-dev libkf5plasma5   
Reading package lists... Done
Building dependency tree       
Reading state information... Done
cmake is already the newest version (3.7.2-1).
libkf5plasma-dev is already the newest version (5.28.0-2).
libkf5plasma5 is already the newest version (5.28.0-2).
libkf5plasma5 set to manually installed.
qt-sdk is already the newest version (2).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
usr@LINUX:~$ sudo apt install cmake qt-sdk libkf5plasma-dev libkf5plasma5 qt
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package qt

You are missing build dependencies.

Here CMake is telling you that you need a higher CMake version, 3.8 and you have 3.7.2

usr@LINUX:~/nx-software-center$ cmake ../nx-software-center -DCMAKE_BUILD_PREFIX=Release -DCMAKE_INSTALL_PREFIX=/usr
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- 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
-- Detecting C compile features
-- Detecting C compile features - 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
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Downloading and building libappimage
CMake Error at lib/AppImageInfo/CMakeLists.txt:1 (cmake_minimum_required):
  CMake 3.8 or higher is required.  You are running version 3.7.2


-- Configuring incomplete, errors occurred!
See also "/home/usr/nx-software-center/CMakeFiles/CMakeOutput.log".

@UriHerrera

cmake is already the newest version (3.7.2-1).

Sorry, I meant to say that 3.8 of CMake isn't yet packaged for Debian. Is there another way to install it?

Edit:
I couldn't find these two packages qt5declarative-dev libqt5xmlpattern5-dev

However I do have qt-sdk

Edit 2:
CMake doesn't have 3.8 on their website "https://cmake.org/download/" 1 2.

The Source Code has 3.13: https://gitlab.kitware.com/cmake/cmake/branches

Here's qt5declarative-dev 5.11.2 in Sid and 5.7.1 in Stretch.

And here's libqt5xmlpatterns5-dev version 5.7.1 in Stretch and 5.11.2 in Sid.

CMake 3.9.5 is available in Stretch backports, and there are newer versions available.

Okay, so the dependency installation is:
Verify that you have stretch-backports then do:

$ apt-get remove cmake
$ apt-get -t stretch-backports install cmake
$ apt-get install git build-essential xxd libtool automake qt5-default binutils-multiarch-dev libboost-filesystem-dev libxml2-dev libssl-dev libboost-program-options-dev qt-sdk autotools-dev libcairo2-dev libfuse-dev libqt5xmlpatterns5-dev qtdeclarative5-dev

Then do:

$ git clone https://github.com/Nitrux/nx-software-center.git
$ cd nx-software-center
$ git checkout development
$ git submodule update --init --recursive
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_BUILD_PREFIX=Release -DCMAKE_INSTALL_PREFIX=/usr
$ make
$ make install

Edit:
I would like to note a warning I received:

CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_BUILD_PREFIX

After doing: cmake .. -DCMAKE_BUILD_PREFIX=Release -DCMAKE_INSTALL_PREFIX=/usr

It currently won't launch

@UriHerrera

What is the command/name to launch this app via terminal?

It currently won't launch

Did it compile?. If it did type nx_software_center to start it.

@UriHerrera
Log:

usr@LINUX:~$ nx_software_center
nx_software_center: error while loading shared libraries: libappimageinfo.so.1: cannot open shared object file: No such file or directory
usr@LINUX:~$ 

Hi @asddsaz, please make sure you have libappimageinfo installed.

@azubieta Can you plz send a link to the Debian package/install?

I installed all the dependencies: #61 (comment) , #61 (comment)

@azubieta @UriHerrera Does Ubuntu have a package for libappimageinfo?

No, but I created one.

No, but I created one.

@UriHerrera Ok, now I receive this error:

usr@USR:~$ nx_software_center
nx_software_center: error while loading shared libraries: libbfd-2.31.1-multiarch.so: cannot open shared object file: No such file or directory
usr@USR:~$ 

You can use apt-file find $filename to have APT look for the package that has the file that you're looking for. Install binutils-multiarch.

You can use apt-file find $filename to have APT look for the package that has the file that you're looking for. Install binutils-multiarch.

@UriHerrera I did:


USR@LINUX:~$ su
Password: 
root@USR:/home/USR# apt-get install binutils-multiarch
Reading package lists... Done
Building dependency tree       
Reading state information... Done
binutils-multiarch is already the newest version (2.28-5).
binutils-multiarch set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
root@USR:/home/USR# apt-file find
bash: apt-file: command not found
root@USR:/home/USR# nx-software-center
bash: nx-software-center: command not found
root@USR:/home/USR# nx_software_center
nx_software_center: error while loading shared libraries: libbfd-2.31.1-multiarch.so: cannot open shared object file: No such file or directory
root@USR:/home/USR# apt-file find libbfd-2.31.1-multiarch.so
bash: apt-file: command not found
root@USR:/home/USR# 

Do I need to re-install?

You can use apt-file find $filename to have APT look for the package that has the file that you're looking for. Install binutils-multiarch.

@UriHerrera I did:


USR@LINUX:~$ su
Password: 
root@USR:/home/USR# apt-get install binutils-multiarch
Reading package lists... Done
Building dependency tree       
Reading state information... Done
binutils-multiarch is already the newest version (2.28-5).
binutils-multiarch set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
root@USR:/home/USR# apt-file find
bash: apt-file: command not found
root@USR:/home/USR# nx-software-center
bash: nx-software-center: command not found
root@USR:/home/USR# nx_software_center
nx_software_center: error while loading shared libraries: libbfd-2.31.1-multiarch.so: cannot open shared object file: No such file or directory
root@USR:/home/USR# apt-file find libbfd-2.31.1-multiarch.so
bash: apt-file: command not found
root@USR:/home/USR# 

Do I need to re-install?

Since you are using an older version of binutils (2.28) and the software center is requesting a newer version (2.31.1) what you can do is create a symlink for the file ln -sv /usr/lib/x86_64-linux-gnu/libbfd-2.28-multiarch.so /usr/lib/x86_64-linux-gnu/libbfd-2.31.1-multiarch.so, this is a workaround.

@UriHerrera Ok, I now get this error:

usr@USR:~$ nx_software_center
nx_software_center: error while loading shared libraries: libboost_filesystem.so.1.67.0: cannot open shared object file: No such file or directory
usr@USR:~$ 

@UriHerrera Thanks so much for helping me, however I now get this error:

usr@USR:~$ nx_software_center
nx_software_center: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.27' not found (required by /usr/lib/libappimage.so)
usr@USR:~$ 

But, I already have the newest version of libc6.
libc6 is already the newest version (2.24-11+deb9u3).

@asddsaz You need libc6 (2.28-2).

@asddsaz You need libc6 (2.28-2).

@UriHerrera This is the issue, I don't know how to upgrade. This is the newest version Debian has for Stretch.

@asddsaz You probably need to update Debian to buster. I mean you could try to install the newer version of libc6, but I don't know if doing that will break something else.

@UriHerrera Ok, I updated to buster.
I got this error during make

-- Configuring incomplete, errors occurred!
See also "/home/usr/nx-software-center/build/libappimage_project-prefix/src/libappimage_project-build/CMakeFiles/CMakeOutput.log".
make[2]: *** [CMakeFiles/libappimage_project.dir/build.make:106: libappimage_project-prefix/src/libappimage_project-stamp/libappimage_project-configure] Error 1
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/libappimage_project.dir/all] Error 2
make: *** [Makefile:152: all] Error 2

Also, qt-sdk isn't available for buster but, I installed qt5-default.

Edit:
During make install

-- Checking for program desktop-file-validate
CMake Error at cmake/tools.cmake:37 (message):
  Could not find required program desktop-file-validate.
Call Stack (most recent call first):
  cmake/tools.cmake:55 (check_program)
  CMakeLists.txt:15 (include)


-- Configuring incomplete, errors occurred!
See also "/home/usr/nx-software-center/build/libappimage_project-prefix/src/libappimage_project-build/CMakeFiles/CMakeOutput.log".
make[2]: *** [CMakeFiles/libappimage_project.dir/build.make:106: libappimage_project-prefix/src/libappimage_project-stamp/libappimage_project-configure] Error 1
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/libappimage_project.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
root@USR:/home/usr/nx-software-center/build# 

I also get:

root@USR:/home/usr# ln -sv /usr/lib/x86_64-linux-gnu/libbfd-2.28-multiarch.so /usr/lib/x86_64-linux-gnu/libbfd-2.31.1-multiarch.so
ln: failed to create symbolic link '/usr/lib/x86_64-linux-gnu/libbfd-2.31.1-multiarch.so': File exists
root@USR:/home/usr# 

Closing due to focus in the new version. See #62.