Arch 64 bit - numerous errors and problems

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • rbellamy
    Visitor
    • Sep 2013
    • 6

    Arch 64 bit - numerous errors and problems

    I'm a long time BC user.

    One of my biggest reasons for using BC is that it's about as cross-platform as you can get...

    The requirement to run under qt3 has made this almost impossible. The last time I tried installing BC on my Linux box, I was able to do so, but only after jumping through some serious hoops making sure BC used the qt3 32 bit libs.

    Today I spent several hours trying to get BC running on my new load 64 bit Arch, and I'm at the point where the benefit is starting to outweigh the cost.

    I'm happy to tinker and help troubleshoot. My favorite choice is to have BC "just work."
  • Aaron
    Team Scooter
    • Oct 2007
    • 16002

    #2
    Which version of Linux and version number are you currently running?

    BC3 is a 32bit application and requires backwards compatibility to run on any OS. Some Linux distributions are more accommodating with their 32bit libraries than others. Improving this install process or using newer versions of these libraries is something we work on, but sometimes a distro will remove a library we were previous reliant on for years. QT3 is one of the reasons we are able to support as wide a variety of platforms as we can. Switching dependencies is always a large task, and not something we can flip a switch for.

    In particularly tricky distros, I've found that they sometimes disable the ability to auto-resolve dependencies. When you see the error message about failing to get a specific dependency, try to install or apt-get it specifically. Sometimes, that too, will fail with another specific dependency. If you go down a couple more levels, however, this will usually eventually work, at which point you can go back up (3-5 levels), installing each one as you work your way back, and eventually BC3 again.
    Aaron P Scooter Software

    Comment

    • rbellamy
      Visitor
      • Sep 2013
      • 6

      #3
      @Aaron - thanks for the quick reply.

      Regarding the ability to "flip the switch" on a core dependency, I understand the risks and work involved, and respect the challenges you face in making a choice whether to move or not.

      Arch is a rolling-release of linux, so there really isn't a version, though lsb_release says there is. Arch package management therefore is very sophisticated in its ability to resolve dependencies, though this also means that it can quickly leave behind packages that aren't being kept up-to-date with respect to most current versions of libs. In this case it's the dendency on Qt3, which after all is two major versions back, with Qt4 being released in 2005. That's not a dig, that's just to put the timeline into perspective.

      ➜ ~ uname -a
      Linux uruk 3.10.7-1-ARCH #1 SMP PREEMPT Mon Aug 19 05:17:15 UTC 2013 x86_64 GNU/Linux

      ➜ ~ lsb_release -a
      LSB Version: 1.4
      Distributor ID: arch
      Description: Arch Linux
      Release: rolling
      Codename: n/a

      ➜ ~ pacman -Qii bcompare
      Name : bcompare
      Version : 3.3.8.16340-1
      Description : Beyond Compare 3: Compare, sync, and merge files and folders
      Architecture : x86_64
      URL : http://www.scootersoftware.com
      Licenses : custom
      Groups : utility

      Comment

      • David
        Team Scooter
        • Oct 2009
        • 124

        #4
        The needed qt libraries are included with bcompare (located with the BCompare executable in /usr/lib/beyondcompare). The key is to make sure that the start script (/usr/bin/bcompare) sets LD_LIBRARY_PATH to /usr/lib/beyondcompare so that libqt-mt-so.3 and libqtc.so.1 are found.

        Which qt libraries are you having to include?

        Here is a list of the required i386 libraries that are not included (from the .deb package):
        libc6,
        libfontconfig1 (>= 2.4.0),
        libfreetype6,
        libgcc1 (>= 1:4.1.1),
        libice6 (>= 1:1.0.0),
        libsm6,
        libstdc++6 (>= 4.1.1),
        libx11-6,
        libxcursor1 (>> 1.1.2),
        libxext6,
        libxft2 (>> 2.1.1),
        libxi6,
        libxinerama1,
        libxrandr2,
        libxrender1,
        libxt6,
        zlib1g (>= 1:1.1.4),
        fontconfig"

        Is your version of Arch using the new MultiArch spec similar to Debian and Ubuntu (for installing i386 and amd64 libraries at the same time)? If so we have found that just installing the i386 packages of beyondcompare works fine (the package managers install the i386 dependencies in lib/i386-linux-gnu).

        If not multiarch then there might be a descrepancy between which lib directory things are set up in. I.e. are 32bit libs in /lib, /usr/lib or /lib32, /usr/lib32.

        And as a note: we are just as tired of qt3 as you are. We are busy looking for options to replace our current linux Delphi Pascal toolset.
        David J Scooter Software

        Comment

        • rbellamy
          Visitor
          • Sep 2013
          • 6

          #5
          The Arch MultiLib method is very similar to Debian's: https://wiki.archlinux.org/index.php/Multilib

          The script points $LD_LIBRARY_PATH to /usr/lib32/beyondcompare as you suggest it should [1].

          The lib32 directory does contain the files [2].

          I'll check and make sure I have the other dependencies and report back. Thanks again for your help.

          [1]
          BC_LIB=/usr/lib32/beyondcompare
          export BC_LIB

          BC_PACKAGE_TYPE=archive
          export BC_PACKAGE_TYPE

          EXEC=$BC_LIB/BCompare

          if [ -n "$LD_LIBRARY_PATH" ]; then
          export LD_LIBRARY_PATH="$BC_LIB:$LD_LIBRARY_PATH"
          else
          export LD_LIBRARY_PATH="$BC_LIB"
          fi
          [2]
          ➜ ~ ls -alh /usr/lib32/beyondcompare
          total 21M
          drwxr-xr-x 2 root root 4.0K Sep 12 17:08 .
          drwxr-xr-x 20 root root 20K Sep 18 15:49 ..
          -rwxr-xr-x 1 root root 7.7M Sep 12 17:08 BCompare
          -rwxr-xr-x 1 root root 8.2M Sep 12 17:08 libqt-mt.so.3
          -rwxr-xr-x 1 root root 5.2M Sep 12 17:08 libqtc.so.1
          -rw-r--r-- 1 root root 708 Sep 12 17:08 qtrc

          Comment

          • mecompared
            Visitor
            • Jun 2012
            • 4

            #6
            I use 'beyond compare' on my Arch X86_64. The bcompare package is available in AUR Repository. If you use any AUR helper then its damn easy.. or you can build the package yourself after downloading the tar.gz format of the bcompare.

            It works just fine with qt4. No issues here.

            Comment

            Working...