[ArchLinux] HowTo debug if menu entry does not show up

Create issue
Issue #28 resolved
Dominik Schrempf created an issue

Hello,

is there any standard way to debug textext when the menu entry does not show up? I use Inkscape 0.92, textext r289.3235507055c9-2.

pstoedit is installed, also pygtk.

Thanks, Dominik

Comments (16)

  1. Pit Garbe repo owner

    Hm, how did you install it? This is a commit on a feature branch that's not yet made it into a release. It's of course possible to install it manually.

    If the extension's many entry doesn't show up, it seems that the .inx file is missing or you perhaps copied the files to the wrong directory.

    What system are you running?

  2. Pit Garbe repo owner

    I don't know about Arch Linux, but the normal directory would be ~/.config/inkscape/extensions/.

  3. Dominik Schrempf reporter

    Thanks for your answer. The directory should be correct, it is in the system configuration folder, not the user configuration. I checked the inx file and it states a dependency that I might not have installed.

    <dependency type="executable" location="extensions">win_app_paths.py</dependency>
    

    Do you know of this dependency? Does it come with the usual textext installation?

    Thanks, Dominik

  4. Jan Winkler

    win_app_paths.py is a part of the textext package. It is only imprted on Windows systems.

    As Pit stated the exension should be usually installed into ~/.config/inkscape/extensions/. I just made a quick test on Ubuntu Linux by moving the extension from the user to the system configuration folder which made the menu entry to disappear. In fact i got the following error message when starting Inkscape from the bash:

    ** (inkscape:2155): CRITICAL **: Inkscape::Extension::Extension* Inkscape::Extension::
    build_from_reprdoc(Inkscape::XML::Document*, Inkscape::Extension::
    Implementation::Implementation*): assertion 'doc != NULL' failed
    
    ** (inkscape:2155): WARNING **: Unable to create extension 
    from definition file /usr/share/inkscape/extensions/textext.inx.
    

    Where do the other python files of the extension reside in your installation?

    As a test I recommend that you remove the AUR package and use the installer package TexText-Linux-0.6.1.tgz provided in our download section. Does the menu entry show up now?

  5. Jan Winkler

    To which user belongs textext.inx in the system config dir of your installation? root.root?

    What happens if you change the ownership to xyz.users where xyz is your login name (The inx file as well as the other files of the extension, i.e. asktext.py, latexlogparser.py, textext.py, win_app_paths.py, typesetter.py, default_packages.tex)?

  6. Pit Garbe repo owner

    Ah, maybe it goes wrong because the win_app_paths.py isn't included in the Linux package, but is listed as a dependency in the .inx file. My apologies, as I added that dependency, not realising it isn't in the Linux package in the first place.

    So, either we remove the dependency (as it would still work), and now that I think of it, the dependencies are probably merely there to check for other extensions' existence.

    Or, we include the file in the Linux package as well.

    Any arguments pro/contra either option?

  7. Jan Winkler

    Empirical observation (Kubuntu Linux 16.10):

    Extension files in ~/.config/inkscape/extensions --> TexText menu appears, extension is working

    Extension files in /usr/share/inkscape/extensions and ownership of the files is username.users --> TexText menu appears, extension is working

    Extension files in /usr/share/inkscape/extensions and ownership of the files is root.root (as of all other files in this directory) --> TexText menu DOES NOT appear

    Setting permissions of root.root textext extensions py files to 755 and of the inx file to 744 --> TexText menu appears, extension is working

    So @Fazky, please could you do a ls -la textext.* in your /usr/share/inkscape/extensions directory to test if there is a permission problem with the extension on your system?

  8. Dominik Schrempf reporter

    The output is:

    -rwxr-xr-x 1 root root   743 Mar 10 14:08 textext.inx
    -rwxr-xr-x 1 root root 35366 Mar 10 14:08 textext.py
    

    But I am missing the win_app_paths.py. Maybe that's the problem? Should it be part of the textext installation?

    Thanks for your work, Dominik

  9. Jan Winkler

    OK, I was able to reproduce the problem and @pitgarbe was right with his initial idea reagarding win_app_paths.py

    If I remove win_app_paths.py from /usr/share/inkscape/extensions no menu entry exists anymore.

    However, win_app_paths.py is part of our Linux packages since version 0.6. So from our side everything is fine. Since you told us that you have installed the extension via AUR package I conclude that it is missing in this ArchLinux package.

    There the error is in the PKGBUILD file where win_app_paths.py is missing in the for loop:

    package() {
      cd textext/
      install -d "$pkgdir"/usr/share/inkscape/extensions
      for _i in asktext.py default_packages.tex latexlogparser.py textext.{inx,py} typesetter.py
      do install ${_i} "$pkgdir"/usr/share/inkscape/extensions/$_i
      done
      install -d "$pkgdir"/usr/share/licenses/$pkgname
      install LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
    }
    

    @Fazky please could you update your requrest on AUR accordingly? Thank you!

    Meanwhile you can download the file from our repo and put into the extension directory.

  10. Jan Winkler

    @pitgarbe I think it is worth renaming this issue to "Arch Linux package problem" and mark as resolved.

  11. Pit Garbe repo owner

    It turns out, there was a file missing in the Arch Linux package. That needs to be fixed by the package maintainer, who isn't affiliated to us.

  12. Dominik Schrempf reporter

    Thank you for your help, I forwarded the issue to the package maintainer.

    Dominik

  13. Log in to comment