Results 1 to 4 of 4
  1. #1
    Join Date
    Jul 2017
    Posts
    5

    Default How I installed BCompare on Mageia 6 (x86_64)

    $ sudo urpmi bcompare-4.2.2.22384.x86_64.rpm
    A requested package cannot be installed:
    bcompare-4.2.2-22384.x86_64 (due to unsatisfied qt-x11)

    Normally in a situation like this the urpmi utility would offer to install the missing dependency, but it did not. Apparently nothing in Mageia 6 fulfills something called "qt-x11", so it is left to me to resolve missing dependencies. Use of the tarball allows me to use tools that show which shared objects are missing:

    $ tar -xzf bcompare-4.2.2.22384.x86_64.tar.gz

    $ cd bcompare-4.2.2.22384

    $ ./BCompare
    ./BCompare: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory

    $ strace ./BCompare
    ...
    open("/usr/lib64/lib7z.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
    ...

    $ ls -l /usr/lib64/libbz2*
    lrwxrwxrwx 1 root root 15 Nov 24 2016 /usr/lib64/libbz2.so.1 -> libbz2.so.1.0.6*
    -rwxr-xr-x 1 root root 68232 Nov 24 2016 /usr/lib64/libbz2.so.1.0.6*

    $ sudo ln -s /usr/lib64/libbz2.so.1.0.6 /usr/lib64/libbz2.so.1.0

    $ ./BCompare
    ./BCompare: error while loading shared libraries: lib7z.so: cannot open shared object file: No such file or directory

    $ strace ./BCompare
    ...
    open("/usr/lib64/lib7z.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
    ...

    $ urpmq --fuzzy 7z
    j7z
    j7z-kde4
    j7z-plasma5
    p7zip

    $ urpmq -l p7zip
    ...
    /usr/lib64/p7zip/7z.so
    ...

    $ sudo urpmi p7zip
    Package p7zip-16.02-2.mga6.x86_64 is already installed
    Marking p7zip as manually installed, it won't be auto-orphaned
    writing /var/lib/rpm/installed-through-deps.list

    $ sudo ln -s /usr/lib64/p7zip/7z.so /usr/lib64/lib7z.so

    $ ./BCompare
    ./BCompare: error while loading shared libraries: libQt4Pas.so.5: cannot open shared object file: No such file or directory

    $ urpmq --fuzzy qt4
    ...
    qt4pas
    ...

    $ sudo urpmq -l qt4pas
    http://mirrors.kernel.org/mageia/dis...files.xml.lzma
    http://mirrors.kernel.org/mageia/dis...files.xml.lzma
    $MIRRORLIST: media/core/release/media_info/20170714-192548-files.xml.lzma
    /usr/lib64/libQt4Pas.so.5

    $ sudo urpmi qt4pas

    $ ./BCompare

    Success...

    It seems preferable to use the RPM, so attempt installation now that dependencies are resolved:

    $ sudo urpmi bcompare-4.2.2.22384.x86_64.rpm
    A requested package cannot be installed:
    bcompare-4.2.2-22384.x86_64 (due to unsatisfied qt-x11)

    Unfortunately, even though I resolved the dependencies, the bcompare RPM does not realize I have done so... It appears, then, that --allow-nodeps, is the most straight-forward workaround since I have proven I have all the required dependencies installed:

    $ sudo urpmi --allow-nodeps bcompare-4.2.2.22384.x86_64.rpm
    WARNING: --allow-nodeps option is in use. Some strange problems may happen


    warning: bcompare-4.2.2.22384.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 7f8840ce: NOKEY
    The following package has bad signature:
    bcompare-4.2.2.22384.x86_64.rpm: Invalid signature (NOT OK (no key): bcompare-4.2.2.22384.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 7f8840ce: NOKEY)
    Do you want to continue installation ? (y/N) Y
    installing bcompare-4.2.2.22384.x86_64.rpm
    Installation failed:
    qt-x11 is needed by bcompare-4.2.2-22384.x86_64
    Try installation without checking dependencies? (y/N) y
    Preparing... ################################################## ################
    1/1: bcompare ################################################## ################
    error: can't create transaction lock on /var/lib/rpm/__db.000 (Resource temporarily unavailable)
    error: /usr/lib64/beyondcompare/RPM-GPG-KEY-scootersoftware: key 1 import failed.

    Since error messages occurred, determine whether installation succeeded:

    $ rpm -qa | grep -i compare
    bcompare-4.2.2-22384

    Remove the expanded tarball because use of the RPM is preferred:

    $ cd ..
    $ rm -rf bcompare-4.2.2.22384

    Test the RPM installation...

    $ bcompare

    Success...
    Last edited by kbulgrien; 21-Jul-2017 at 09:55 AM. Reason: Annotate to show why --allow-nodeps was used/required. Explain better why the tarball is used.

  2. #2
    Join Date
    Oct 2007
    Location
    Madison, WI
    Posts
    11,618

    Default

    Hello,

    Mageia 6 is not one of our supported distributions, so we have not tested installation on it:
    http://www.scootersoftware.com/download.php?zz=kb_linux

    If it supports .rpm installers, I would recommend using that instead of the .tar.gz. That will help resolve dependencies. From the log above, you do need qt-x11. Why are you running the installer with --allow-nodeps? Any dependencies that Beyond Compare 4 asks for are not optional; they are required to run the program.
    Aaron P Scooter Software

  3. #3
    Join Date
    Jul 2017
    Posts
    5

    Default

    It was clear Mageia 6 was not supported, hence the post to help anyone else in the same predicament I found myself in.

    I have used Beyond Compare 4 on Mageia 5 / 5.1 successfully so I am not afraid of compatibility issues.

    From the original post, it is clear that the .rpm install was attempted first. It didn't work, and it only identified qt-x11 as a requirement - none of the other dependencies were listed. Normally in a situation like this the urpmi utility would have offered to install the missing dependency, but it did not. Apparently nothing in Mageia 6 fulfills something called "qt-x11", so it was left up to me to resolve missing dependencies. Also, as I'd far rather have all the dependencies resolved even if the RPM doesn't strictly require everything, using the tarball was how I determined every dependency whether they were literally fulfilled on the target machine or not. As you can see, I had some of the dependencies already installed, and had to manually create soft links to shared objects with slightly different names than BCompare expected, or to allow BCompare to find installed shared objects that were in different directories than it apparently expected to find them in.

    In the original post it is also clear that I removed the tarball and attempted install of the .rpm again. Unfortunately I forgot to show in the original post that even though I had met all the dependencies, the rpm refused to install due to "missing qt-x11" when in fact the required resource was not missing.

    $ sudo urpmi bcompare-4.2.2.22384.x86_64.rpm
    A requested package cannot be installed:
    bcompare-4.2.2-22384.x86_64 (due to unsatisfied qt-x11)

    To use the rpm I was forced to use --no-deps to install it because nothing in Mageia 6 satisfies qt-x11 even though a Mageia 6 package obviously does fulfill the underlying technical requirement. Whether this is a bug in some Magiea 6 package or not, I don't know. I had installed the Linux Standard Base requirements - which one would suppose should have improved chances of installing foreign RPMs.
    Last edited by kbulgrien; 21-Jul-2017 at 10:11 AM. Reason: Clarify requirement and benefits of using the tarball to resolve dependencies. Clarify "link" as soft links.

  4. #4
    Join Date
    Jul 2017
    Posts
    5

    Default

    I fixed the original post to make it more clear why --allow-nodeps was used/required, and to try to explain more clearly why the tarball was used.

    Even though this post is for Mageia 6, it describes a technique that could be used to get Beyond Compare 4 working on other "unsupported" distributions. This was the goal of posting to the forums. Maybe the thread title should change to more clearly indicate that fact?
    Last edited by kbulgrien; 21-Jul-2017 at 09:44 AM. Reason: Note that this thread was intended to show a way to install BC4 on an "unsupported" distribution.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •