Menu

Install prep: smb4k 2.0.0 on Ubuntu 16.04 LTS (latest) w/ Unity desktop ?

Help
cuchulainn
2017-03-28
2018-01-19
  • cuchulainn

    cuchulainn - 2017-03-28

    system: Ubuntu 16.04 LTS (latest) w/ Unity desktop.

    I examined the 2.0.0 README .... Have questions below.
    I've installed, or have, all the other requirements.

    1) I installed these...

    kdelibs5-dev version 4:4.14.16-0ubuntu3.1
    development files for the KDE Development Platform libraries
    Q: ... correct?

    kdebase-runtime version 4:15.12.3-0ubuntu1
    Transitional package for the KDE runtime components
    Q: Synaptic pkg mgr didn't list dev files. Is the above what's needed?

    2) "install all header files of the libraries Qt and KDE are depending on"
    ..... How to check & get if need be?
    There are a MYRIAD of Qt dev files. Is the following sufficient?...
    qtbase5-dev-tools ver 5.5.1+dfsg-16ubuntu7.2 (Qt 5 base development programs)
    From Synaptic:
    This package contains the development programs used for building Qt 5 applications,
    such as moc, qdbuscpp2xml, qdbusxml2cpp, qdoc, rcc, syncqt and uic.

    Thanks!
    background: I have >20 yrs as Unix/Linux user & some C/Python devel. but haven't compiled large apps/kernels.

     

    Last edit: cuchulainn 2017-03-28
    • Alexander Reinholdt

      Ooops, I just noticed that I did not update the README file before I released the source. Sorry! I have to do that as soon as possible.

      Version 2.0.0 of Smb4K depends on KF5. For an overview on how to compile and install the KF5 version, please have a look at the respective wiki page: [wiki:CompilationAndInstallation].

      For Ubuntu (and Debian) you can just run the following command to install all (development) packages that are needed:

      $ sudo apt install g++ gettext cmake extra-cmake-modules \
      qttools5-dev-tools libkf5auth-dev libkf5completion-dev \
      libkf5config-dev libkf5configwidgets-dev libkf5coreaddons-dev \
      libkf5dbusaddons-dev kdoctools-dev libkf5i18n-dev libkf5iconthemes-dev \
      libkf5jobwidgets-dev kio-dev libkf5notifications-dev libkf5parts-dev \
      libkf5solid-dev libkf5wallet-dev libkf5widgetsaddons-dev \
      libkf5windowsystem-dev libkf5xmlgui-dev libkf5plasma-dev
      

      If you run into any problems, please do not hesitate to ask again.

       

      Related

      Wiki: CompilationAndInstallation


      Last edit: Alexander Reinholdt 2017-03-30
      • cuchulainn

        cuchulainn - 2017-03-31

        Does your reply mean that your 'apt install' takes care of the KF5 dependency (as noted in the "Requirements" link at your wiki link you provided) ??

         
      • cuchulainn

        cuchulainn - 2017-03-31

        I just ran your 'apt install' and got instantly error, w/ no installs done apparently:

        ~$ sudo apt install g++ gettext cmake extra-cmake-modules qttools5-dev-tools libkf5auth-dev libkf5completion-dev libkf5config-dev libkf5configwidgets-dev libkf5coreaddons-dev libkf5dbusaddons-dev kdoctools-dev libkf5i18n-dev libkf5iconthemes-dev libkf5jobwidgets-dev kio-dev libkf5notifications-dev libkf5parts-dev libkf5solid-dev libkf5wallet-dev libkf5widgetsaddons-dev libkf5windowsystem-dev libkf5xmlgui-dev libkf5plasma-dev

        Reading package lists... Done
        Building dependency tree
        Reading state information... Done
        E: Unable to locate package libkf5plasma-dev

         
      • cuchulainn

        cuchulainn - 2017-03-31

        I searched & found this:
        https://packages.debian.org/sid/libkf5plasma-dev
        and, as advised at the amd64 download link, added the line to my /etc/apt/sources.list.
        For the both the ftp and http source lines, I got the same error on retrying:

        ~$ sudo apt install libkf5plasma-dev
        Reading package lists... Done
        Building dependency tree
        Reading state information... Done
        E: Unable to locate package libkf5plasma-dev

        Huh ????
        My sources.list lines are as listed for use:
        deb http://ftp.us.debian.org/debian sid main
        deb http://http.us.debian.org/debian sid main

         
      • cuchulainn

        cuchulainn - 2017-03-31

        Existing installation: smb4k ver: 1.1.2-1.
        Do I need to do some apt purge or anything, first?

         
      • cuchulainn

        cuchulainn - 2017-03-31

        With the updated sources.list in my prior post...
        Supposing I needed an apt update, and using the http site in sources.list, I got this:

        ~$ sudo apt-get update
        [... normal updates msgs ...]
        W: GPG error: http://http.us.debian.org/debian sid InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
        W: The repository 'http://http.us.debian.org/debian sid InRelease' is not signed.
        N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
        N: See apt-secure(8) manpage for repository creation and user configuration details.

        and then did install anyway & got this...
        Looks like dependencies unmet for libkf5plasma-dev (bold type):

        ~$ sudo apt install libkf5plasma-dev
        [sudo] password for john:
        Reading package lists... Done
        Building dependency tree
        Reading state information... Done
        Some packages could not be installed. This may mean that you have
        requested an impossible situation or if you are using the unstable
        distribution that some required packages have not yet been created
        or been moved out of Incoming.
        The following information may help to resolve the situation:

        The following packages have unmet dependencies:
        libkf5configcore5 : Breaks: kinit (< 5.28) but 5.18.0-0ubuntu1.1 is to be installed
        libkf5coreaddons5 : Breaks: kinit (< 5.28) but 5.18.0-0ubuntu1.1 is to be installed
        libkf5crash5 : Breaks: kinit (< 5.28) but 5.18.0-0ubuntu1.1 is to be installed
        libkf5i18n5 : Breaks: kinit (< 5.28) but 5.18.0-0ubuntu1.1 is to be installed
        libkf5kiocore5 : Breaks: kinit (< 5.28) but 5.18.0-0ubuntu1.1 is to be installed
        libkf5kiowidgets5 : Breaks: kinit (< 5.28) but 5.18.0-0ubuntu1.1 is to be installed
        libkf5plasma-dev : Depends: libkf5plasma5 (= 5.28.0-1) but it is not going to be installed
        Depends: libkf5plasmaquick5 (= 5.28.0-1) but it is not going to be installed
        Depends: plasma-framework (= 5.28.0-1) but it is not going to be installed
        libkf5service-bin : Breaks: kinit (< 5.28) but 5.18.0-0ubuntu1.1 is to be installed
        libkf5service5 : Breaks: kinit (< 5.28) but 5.18.0-0ubuntu1.1 is to be installed
        libkf5windowsystem5 : Breaks: kinit (< 5.28) but 5.18.0-0ubuntu1.1 is to be installed
        libvlc-bin : Breaks: vlc-nox (< 2.2.4-7~) but 2.2.2-5ubuntu0.16.04.1 is to be installed
        libvlccore8 : Breaks: vlc-nox (< 2.2.4-7~) but 2.2.2-5ubuntu0.16.04.1 is to be installed
        vlc-bin : Breaks: vlc-nox (< 2.2.4-7~) but 2.2.2-5ubuntu0.16.04.1 is to be installed
        E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

        ==========
        And using the ftp site in sources.list failed same as before.

         
        • Alexander Reinholdt

          First, I have to appologize. Since I use KDE neon, I gave you a wrong name of the plasma development package in the command above. Please see below for the (hopefully) correct apt command. But before, please remove the Debian sources again from your sources.list and check that the universe respository is enabled:

          deb http://us.archive.ubuntu.com/ubuntu/ xenial universe
          deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates universe
          deb http://security.ubuntu.com/ubuntu/ xenial-security universe 
          

          I assumed that you are using the US mirror. It might be that you are using a different one.

          Now, run apt update and install the development packages (Actually, Plasma is not really needed by Smb4K 2.0.0. So, you could also omit the plasma-framework-dev package for now.):

          $ sudo apt update
          $ sudo apt install g++ gettext cmake extra-cmake-modules \
          qttools5-dev-tools libkf5auth-dev libkf5completion-dev \
          libkf5config-dev libkf5configwidgets-dev libkf5coreaddons-dev \
          libkf5dbusaddons-dev kdoctools-dev libkf5i18n-dev libkf5iconthemes-dev \
          libkf5jobwidgets-dev kio-dev libkf5notifications-dev libkf5parts-dev \
          libkf5solid-dev libkf5wallet-dev libkf5widgetsaddons-dev \
          libkf5windowsystem-dev libkf5xmlgui-dev plasma-framework-dev
          

          If you have an earlier version of Smb4K installed, you should deinstall it at this point. Otherwise the installation using checkinstall will fail.

          $ sudo apt purge smb4k
          

          After that, please follow the guidelines given in the wiki [wiki:CompilationAndInstallation]. Please note that with Ubuntu you definitely have to use the cmake command with the -DKDE_INSTALL_PLUGINDIR=`qtpaths --plugin-dir` argument.

          Hope this helps. If you still experience problems, please just post them here again.

           

          Related

          Wiki: CompilationAndInstallation


          Last edit: Alexander Reinholdt 2017-03-31
          • cuchulainn

            cuchulainn - 2017-03-31

            Apology accepted ... this time. :-)
            I had those new sources.list lines already; the plasma name was the issue.
            I used the new install cmd you gave. All done. Purge done.
            Now build... with the xtra cmake arg. Will advise. Thx.

             
          • cuchulainn

            cuchulainn - 2017-04-01

            The cmake cannot find Qt5QmlConfig.cmake or other, as set by CMakeLists.txt (line 30).
            Terminal output showing that is below.

            Q: I've located a ver. of this file at this link. OK to use?
            If so, are the cmake output corrective instructions, at bottom here, intended for editing CMakeLists.txt (in src dir)?

            https://www.apt-browse.org/browse/ubuntu/trusty/main/amd64/qtdeclarative5-dev/5.2.1-3ubuntu15/file/usr/lib/x86_64-linux-gnu/cmake/Qt5Qml/Qt5QmlConfig.cmake

            ............ Terminal ..............
            /usr/src/smb4k-2.0.0/build$ sudo cmake -DCMAKE_INSTALL_PREFIX=qtpaths --install-prefix -DKDE_INSTALL_PLUGINDIR=qtpaths --plugin-dir -DCMAKE_BUILD_TYPE=Release ..

            -- The C compiler identification is GNU 5.4.0
            -- The CXX compiler identification is GNU 5.4.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
            -- Looking for GLIBC
            -- Looking for GLIBC - found
            -- Performing Test _OFFT_IS_64BIT
            -- Performing Test _OFFT_IS_64BIT - Success
            CMake Error at CMakeLists.txt:30 (find_package):
            By not providing "FindQt5Qml.cmake" in CMAKE_MODULE_PATH this project has
            asked CMake to find a package configuration file provided by "Qt5Qml", but
            CMake did not find one.

            Could not find a package configuration file provided by "Qt5Qml" (requested
            version 5.4.0) with any of the following names:

            Qt5QmlConfig.cmake
            qt5qml-config.cmake
            

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

            -- Configuring incomplete, errors occurred!
            See also "/usr/src/smb4k-2.0.0/build/CMakeFiles/CMakeOutput.log".

             
            • Alexander Reinholdt

              Yes, please install also the qtdeclarative5-dev package.

              $ sudo apt install qtdeclarative5-dev
              

              I wonder why this was not installed with the other ones, especially if you also installed the plasma-framework-dev package...

              I really hope that this is the last package I forgot or gave a wrong name of. It already feels really awkward ...

              Side note:

              I used the command

              $ sudo apt install libkf5*-dev
              

              to install all KF5 (and Qt5) development packages on my KDE neon system. Above, I tried to give you the minimal set of packages. This, obviously, rather failed in the first and second attempt.

               

              Last edit: Alexander Reinholdt 2017-04-02
              • cuchulainn

                cuchulainn - 2017-04-03

                Success on:
                $ sudo apt install qtdeclarative5-dev

                But ... cmake fails ..................

                $ sudo cmake -DCMAKE_INSTALL_PREFIX=qtpaths --install-prefix -DKDE_INSTALL_PLUGINDIR=qtpaths --plugin-dir -DCMAKE_BUILD_TYPE=Release ..
                -- Found Gettext: /usr/bin/msgmerge (found version "0.19.7")
                -- Found PythonInterp: /usr/bin/python (found version "2.7.12")
                -- Not installing core header files (-DINSTALL_HEADER_FILES=true to enable)
                --
                -- The following RUNTIME packages have been found:

                • KF5Plasma (required version >= 5.9.0)

                -- The following REQUIRED packages have been found:

                • Qt5Core (required version >= 5.4.0)
                • Qt5Gui (required version >= 5.4.0)
                • Qt5Network (required version >= 5.4.0)
                • Qt5PrintSupport (required version >= 5.4.0)
                • Qt5Qml (required version >= 5.4.0)
                • Qt5Test (required version >= 5.4.0)
                • Qt5Widgets (required version >= 5.4.0)
                • KF5Auth (required version >= 5.9.0)
                • KF5Completion (required version >= 5.9.0)
                • KF5Config (required version >= 5.9.0)
                • KF5ConfigWidgets (required version >= 5.9.0)
                • KF5CoreAddons (required version >= 5.9.0)
                • KF5DBusAddons (required version >= 5.9.0)
                • KF5DocTools (required version >= 5.9.0)
                • Gettext
                • PythonInterp
                • KF5I18n (required version >= 5.9.0)
                • KF5IconThemes (required version >= 5.9.0)
                • KF5JobWidgets (required version >= 5.9.0)
                • KF5KIO (required version >= 5.9.0)
                • KF5Notifications (required version >= 5.9.0)
                • KF5Parts (required version >= 5.9.0)
                • KF5Solid (required version >= 5.9.0)
                • KF5Wallet (required version >= 5.9.0)
                • KF5WidgetsAddons (required version >= 5.9.0)
                • KF5WindowSystem (required version >= 5.9.0)
                • KF5XmlGui (required version >= 5.9.0)
                • ECM (required version >= 0.0.9)

                CMake Error at /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:143 (add_custom_target):
                add_custom_target cannot create target "po-es-docs-smb4k-index-cache-bz2"
                because another target with the same name already exists. The existing
                target is a custom target created in source directory
                "/usr/src/smb4k-2.0.0". See documentation for policy CMP0002 for more
                details.
                Call Stack (most recent call first):
                /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:231 (kdoctools_create_handbook)
                CMakeLists.txt:111 (kdoctools_install)

                CMake Error at /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:143 (add_custom_target):
                add_custom_target cannot create target "po-uk-docs-smb4k-index-cache-bz2"
                because another target with the same name already exists. The existing
                target is a custom target created in source directory
                "/usr/src/smb4k-2.0.0". See documentation for policy CMP0002 for more
                details.
                Call Stack (most recent call first):
                /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:231 (kdoctools_create_handbook)
                CMakeLists.txt:111 (kdoctools_install)

                CMake Error at /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:143 (add_custom_target):
                add_custom_target cannot create target "po-nl-docs-smb4k-index-cache-bz2"
                because another target with the same name already exists. The existing
                target is a custom target created in source directory
                "/usr/src/smb4k-2.0.0". See documentation for policy CMP0002 for more
                details.
                Call Stack (most recent call first):
                /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:231 (kdoctools_create_handbook)
                CMakeLists.txt:111 (kdoctools_install)

                CMake Error at /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:143 (add_custom_target):
                add_custom_target cannot create target
                "po-pt-BR-docs-smb4k-index-cache-bz2" because another target with the same
                name already exists. The existing target is a custom target created in
                source directory "/usr/src/smb4k-2.0.0". See documentation for policy
                CMP0002 for more details.
                Call Stack (most recent call first):
                /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:231 (kdoctools_create_handbook)
                CMakeLists.txt:111 (kdoctools_install)

                CMake Error at /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:143 (add_custom_target):
                add_custom_target cannot create target "po-sv-docs-smb4k-index-cache-bz2"
                because another target with the same name already exists. The existing
                target is a custom target created in source directory
                "/usr/src/smb4k-2.0.0". See documentation for policy CMP0002 for more
                details.
                Call Stack (most recent call first):
                /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:231 (kdoctools_create_handbook)
                CMakeLists.txt:111 (kdoctools_install)

                CMake Error at /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:143 (add_custom_target):
                add_custom_target cannot create target "po-de-docs-smb4k-index-cache-bz2"
                because another target with the same name already exists. The existing
                target is a custom target created in source directory
                "/usr/src/smb4k-2.0.0". See documentation for policy CMP0002 for more
                details.
                Call Stack (most recent call first):
                /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:231 (kdoctools_create_handbook)
                CMakeLists.txt:111 (kdoctools_install)

                CMake Error at /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:143 (add_custom_target):
                add_custom_target cannot create target "po-et-docs-smb4k-index-cache-bz2"
                because another target with the same name already exists. The existing
                target is a custom target created in source directory
                "/usr/src/smb4k-2.0.0". See documentation for policy CMP0002 for more
                details.
                Call Stack (most recent call first):
                /usr/lib/x86_64-linux-gnu/cmake/KF5DocTools/KF5DocToolsMacros.cmake:231 (kdoctools_create_handbook)
                CMakeLists.txt:111 (kdoctools_install)

                -- Configuring incomplete, errors occurred!
                $

                 
                • Alexander Reinholdt

                  I just also ran into this error. It turns out that the script I used to create the tarball and that is provided by the KDE team, introduced four extra lines to the end of the root CMakeLists.txt file that do not get along with other entries in that file. Please comment those four lines out, and everything should work as expected:

                  ########### install files ###############
                  
                  feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
                  #find_package(KF5I18n CONFIG REQUIRED)
                  #ki18n_install(po)
                  #find_package(KF5DocTools CONFIG REQUIRED)
                  #kdoctools_install(po)
                  

                  I need to fix this and reupload the tarball asap...

                   

                  Last edit: Alexander Reinholdt 2017-04-05
                  • cuchulainn

                    cuchulainn - 2017-04-06

                    SUCCESS for the above cmake !
                    SUCCESS for the make !
                    .............................................................
                    However...
                    1) Since I didn't know about checkinstall & didn't have it, I did this ...
                    /usr/src/smb4k-2.0.0/build$ sudo make && sudo checkinstall

                    and then saw "checkinstall not found" and did ...
                    /usr/src/smb4k-2.0.0/build$ sudo make install

                    AFTER WHICH, nothing was put in proper places in some "bin" dir, but rather in my
                    /usr/src/smb4k-2.0.0/build and not made known to Ubuntu. .... Huh???

                    2) I just installed checkinstall. ...
                    $ sudo apt-get update && sudo apt-get install checkinstall
                    Q: OK to do "make uninstall"? It will be clean & then just do checkinstall?
                    Then will that cp all required files to proper ..bin location?

                     

                    Last edit: cuchulainn 2017-04-06
                    • Alexander Reinholdt

                      Sorry for answering late.

                      Yes, please run

                      $ sudo make uninstall
                      

                      It is strange that the installation didn't copy the files into the right places. The only thing I can think of why this did not work is that maybe the evaluation of the qtpaths commands did not work... Please make sure that the backticks (encapsulating the qtpaths commands) in the following command are present when configuring the sources:

                      $ cd build
                      $ cmake -DCMAKE_INSTALL_PREFIX=`qtpaths --install-prefix` \
                      -DKDE_INSTALL_PLUGINDIR=`qtpaths --plugin-dir` -DCMAKE_BUILD_TYPE=Release ..
                      

                      If the configuration fails again, please install the cmake-curses-gui package

                      $ sudo apt install cmake-curses-gui
                      

                      and run ccmake in the build directory:

                      $ ccmake .
                      

                      Look for the entry for the install prefix. Is it empty or what is written there?

                       

                      Last edit: Alexander Reinholdt 2017-04-11
                      • cuchulainn

                        cuchulainn - 2017-04-10
                        1. Did the uninstall. OK.
                        2. I see in $history that the backticks were missing. Don't know why; did copy-paste then. And same now & they're in.
                        3. Did correct cmake w/ backticks. OK.
                        4. Did make and checkinstall...
                          /usr/src/smb4k-2.0.0/build$ sudo make && sudo checkinstall

                        /usr/src/smb4k-2.0.0/build$ which smb4k
                        /usr/bin/smb4k
                        and Unity 'search' tool finds it. Runs ok.
                        ALL DONE. Thanks for the support.

                         

                        Last edit: cuchulainn 2017-04-10
  • cuchulainn

    cuchulainn - 2017-03-31
     

    Last edit: cuchulainn 2017-03-31
  • cuchulainn

    cuchulainn - 2017-03-31
     

    Last edit: cuchulainn 2017-03-31
  • Bob Arnold

    Bob Arnold - 2018-01-18

    Hi, unfortunately I'm somewhat of a new linux user and I have been trying to install Version 2. Is there any correct installation instructions anywhere that I could follow:
    I attempted to use that there was on github but i ran into problems with the cmake extras calling for version 5.25 and was returned with this error
    CMake Error at CMakeLists.txt:15 (find_package):
    Could not find a configuration file for package "ECM" that is compatible
    with requested version "5.25.0".

    The following configuration files were considered but not accepted:

    /usr/share/ECM/cmake/ECMConfig.cmake, version: 5.18.0
    

    I have tried to follow this thread but quite honestly, it is confusing because of the numerous errors in your instructions.

    Thanks for any help.

     
  • Bob Arnold

    Bob Arnold - 2018-01-18
     
    • Alexander Reinholdt

      Hi,
      the instructions are correct for the stable versions 2.0.0, 2.0.1 and 2.0.2. However, for the development snapshots, i.e. 2.0.70 - 2.0.80, you need KF5 version 5.25 and above.

      If you are using Kubuntu 16.04, the standard installation is not supported. But you can upgrade to KF5 version 5.36 and Plasma 5.8 via kubuntu-backports. Then, compilation and installation should work.

       

      Last edit: Alexander Reinholdt 2018-01-19

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.