Announcement

Collapse
No announcement yet.

BC4 not starting at all unter Kubuntu 12.04 (64 bit)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    There are three locations that are checked

    $LIBDIR
    $BC_LIB
    ~/.qt

    They are checked in that order and settings in successive qtrc files will override values in previous qtrc files. So ~/.qt/qtrc will override everything.

    $BC_LIB is set in the bcompare script as already discussed. $LIBDIR is set at compile time to /usr/lib/beyondcompare. On a 32 bit system $LIBDIR and $BC_LIB will be the same.
    David J Scooter Software

    Comment


    • #17
      I don't understand these qtrc files. Even if I remove them all completely, BCompare still crashes.

      It's odd to me, and I think maybe this isn't the cause...

      Comment


      • #18
        The hope for the qtrc file was that you could use it to change from the default font to one that /usr/lib/i386-linux-gnu/libfreetype.so.6 and /lib/i386-linux-gnu/libc.so.6 didn't crash on. So I agree that qtrc is not the problem but we had hoped it could be the solution. I am not surprised that removing it entirely didn't make a difference as this would just run the default font - which definitely isn't working.
        David J Scooter Software

        Comment


        • #19
          As stated in the qtrc shipped with BCompare the default font would be "Sans Serif".

          Code:
          fc-match "Sans Serif"
          LiberationSans-Regular.ttf: "Helvetica Neue" "Regular"
          This should be the font selected by fontconfig. But with this font I have no issues.

          If I run qtconfig I can specify any font I want, and I tried some very different font, but BCompare keeps crashing.

          Do you know some other app which is compiled similar to BCompare, in particular: bringing it's own qt3 lib files?

          Comment


          • #20
            Hello,

            The key is to determine why your root user is able to launch and find the configured font, while your normal user cannot. We haven't had any other reports of this type of error, and on our own fresh test systems, a standard user works as expected.

            I'm not immediately aware of another qt3 based application, but I suspect it would either also crash or use a different font configuration method. I'm not sure how much extra information this would help provide.

            Did you get a chance to change the qtrc in the other 2 locations? As David mentions, they progressively override each other (when working as intended), so if a file is present in either other location it could cause problems. Are these files accessible by your current user account? Do they have the same configuration as the one included in the BCompare folder?

            If there is a file in your ~/.qt folder, this could explain it, as this file would be used instead of the BCompare version, while root would not use this file and would likely be using the BCompare folder version.
            Aaron P Scooter Software

            Comment


            • #21
              Another easy thing to try is to create another normal, non-privileged user account, and see if BC can be run by that user. That's just to eliminate the possibility that your current user account has something odd in its configuration.

              Comment


              • #22
                Excellent idea, Dave. Thanks!
                Aaron P Scooter Software

                Comment


                • #23
                  Originally posted by Dave_L View Post
                  Another easy thing to try is to create another normal, non-privileged user account, and see if BC can be run by that user. That's just to eliminate the possibility that your current user account has something odd in its configuration.
                  I didn't look if I already mentioned this, but with another (fresh) account it's the same issue.

                  Comment


                  • #24
                    Ok, I was able to pinpoint the cause.

                    I have installed the Infinality font patches, which improve the renderings of freetype engine. There are some options to select from predefined rendering profiles. In particular this means that you can change font rendering to behave like Windows 7, Windows 98, Mac OS X or like Linux.

                    If I set font rendering to "Windows 98" - which is very ugly because it doesn't use any subpixel rendering - I can successfully start Beyond Compare!

                    I recreated my qtrc file with qtconfig after successful run and it will be used. Some fonts aren't loved by BC (or Qt?) and let it crash, but it's changeable.

                    I would like to contact the author of the Infinality patches, unfortunately he's manually activating registrations to his board and I'm already waiting for some days. Maybe it's possible to pass specific rendering settings to BC.

                    / EDIT: Sorry, I should've added additional infos on this.

                    You can find a PPA for Ubuntu distros here: https://launchpad.net/~no1wantdthisn...ive/ubuntu/ppa
                    And here is the main page: http://www.infinality.net/
                    Last edited by armakuni; 31-Aug-2014, 09:58 AM. Reason: Added additional infos

                    Comment


                    • #25
                      Another thing: Maybe I was a bit so fast with my positive news. If I try to open the options screen, BCompare crashes with a Runtime Error 231. I can see this if invoking bcompare from a terminal screen

                      Comment


                      • #26
                        Ok guys,

                        I definitely found out that this issue is caused by the Infinality font rendering engine. I provided already links for you to read and test this package, if you want.

                        As I am still waiting for my account approval at the Infinality board, I decided yesterday to drop the Infinality package and replace it with the Ubuntu default freetype rendering engine, short: I removed the PPA and all associated packaged to it and reverted to the default version

                        Code:
                        [DOWNGRADE] libfreetype6:amd64 2.4.12-0ubuntu0ppa1infinality20130515 -> 2.4.8-1ubuntu2.1
                        [DOWNGRADE] libfreetype6:i386 2.4.12-0ubuntu0ppa1infinality20130515 -> 2.4.8-1ubuntu2.1
                        After a restart I tried BC4 and it runs smooth so far (I didn't try everything yet, only starting and invoking the Option screen). It used my ~/.qt/qtrc file correctly which was created with qtconfig. Normally, I don't need qtconfig with KDE, because KDE has it's own settings for desktop visual style, which has a option to copy these settings for KDE3 or pure Qt3 Apps. In this case KDE creates an approbiate ~/.qt/qtrc file with the chosen style settings.

                        I tried this too and BC4 is running fine.

                        We can say now that BC3 and BC4 (or maybe the Qt3 components from it) doesn't work well with Infinality font patches. I'm a bit wondering about this, because with some particular settings it worked. But I don't have the time to test every Infinality setting for the cause, and as long as I don't have contact to the Infinality developer this probably doesn't make much sense.

                        Maybe you can find something here causing this, but actually it looks like I am the only one who ran into this issue, therefore it's probably no need for further investigation into this.

                        I'm very thankful for your help and patience.

                        Now I can begin my trial period with BC4 ;-)

                        Comment


                        • #27
                          Hi,

                          today I got a hint from the maintainer of the Infinality PPA package. If some application run into problems with Infinality font patch, it's possible to use the regular libfreetype6.so file:

                          Basically you just need to download the regular freetype6 deb and unpack the libfreetype6.so to some directory.

                          Then I just prefer that directory with LD_LIBRARY_PATH.

                          E.G.

                          whatever_fixed.sh:

                          ```
                          #!/bin/sh
                          export LD_LIBRARY_PATH=$HOME/.local/opt/goodfreetype/
                          whatever "$@"
                          ```
                          I already uninstalled Infinality from my machine. I could test this in the next days (or weeks) on a second machine where Infinality actually remains installed. Otherweise I would set up a virtual machine for this for testing. But maybe you can test it too, if you already have an approbiate test machine for this.

                          Comment


                          • #28
                            Thanks. Looking into that project, it is a sufficiently a complicated setup and non-standard that we cannot support it. The crash is within an area that is no longer our code, so whatever is happening is not within Beyond Compare but based around a modification this package has likely performed. I would recommend the maintainers suggestion and set Beyond Compare to use the regular libraries if that is an option.
                            Aaron P Scooter Software

                            Comment


                            • #29
                              Aaron, I fully agree with your description.

                              As already mentioned, I try the maintainers suggestion in the next time and give feedback if it helps.

                              Comment


                              • #30
                                Keep in mind that to allow Beyond Compare to find our versions of the Qt libraries (libqtc.so & libqt-mt.so) we set LD_LIBRARY_PATH=/usr/lib/beyondcompare in the /usr/bin/bcompare startup script (or where ever it was place on your distro). So you could place the libfreetype6.so in the same location as the libqtc.so and libqt-mt.so (i.e. /usr/lib/beyondcompare). Or if in another location then both locations need to be in LD_LIBRARY_PATH.

                                LD_LIBRARY_PATH=/usr/lib/beyondcompare:$HOME/.local/opt/goodfreetype/
                                David J Scooter Software

                                Comment

                                Working...
                                X