Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing .pro files #285

Open
ghostnation66 opened this issue Feb 25, 2025 · 8 comments
Open

Missing .pro files #285

ghostnation66 opened this issue Feb 25, 2025 · 8 comments
Assignees
Labels

Comments

@ghostnation66
Copy link

Image

Hi all, in the image above, when I attempt to run dvisvgm on a .dvi file, I get the following errors:


[hang___man@hangman blender]$ dvisvgm test.dvi
pre-processing DVI file (format version 2)
WARNING: PostScript header file tex.pro not found
WARNING: PostScript header file texps.pro not found
WARNING: PostScript header file special.pro not found
WARNING: PostScript header file color.pro not found

Can anyone help me fix this issue? The pro files are discoverable with kpsewhich, so why can't the dvisvgm program render a .dvi file?

@mgieseki
Copy link
Owner

Maybe kpsewhich and dvisvgm use a different version of libkpathsea. That's the TeX library used to search files in the TeX directory tree.
You can check this with ldd `which kpsewhich`|grep libkpathsea and ldd `which dvisvgm`|grep libkpathsea.

@mgieseki mgieseki self-assigned this Feb 25, 2025
@ghostnation66
Copy link
Author

ghostnation66 commented Feb 25, 2025

Thanks for looking into this @mgieseki! I went ahead an performed the shared object check, here is what I got:

Image

Do you think this is a problem with the way the arch maintainer of the dvisvgm package is maintaining the binary? I can try to open a vm with Ubuntu on it and attempt the same function on test.dvi to see if it works if you recommend that. Would building dvisvgm from source also fix any lingering issues like this? Thanks!

@ghostnation66
Copy link
Author

Also, @mgieseki I thought you might be interested in reviewing this repository of a python based dvi to svg converter: https://github.com/WojciechMula/pydvi2svg/tree/master

It uses python 2.54, which I built separately and was able to get it to work on converting dvi files over to svg. I have no idea of it's limitations on modern formats but it was able to do something for me that I have been attempting for weeks!

@mgieseki
Copy link
Owner

The output of ldd looks fine. I have no idea, why it doesn't work on Arch Linux. It works correctly on Fedora and Ubuntu. For some reason, the kpathsea library linked to your dvisvgm binary behaves differently. I guess, some Arch maintainer needed to have a look why that's the case.

The Python-based converter is pretty old and only supports simple DVI files. If it works for your needs, that's great of course.

@ghostnation66
Copy link
Author

ghostnation66 commented Feb 25, 2025

Thanks for getting back to me @mgieseki. Is there a way I can manually put the .pro files into a directory so they can be found? I built dvisvgm from source and am running version 3.4.3, but when I attempt to run it on a dvi file, it shows the same error. I feel like I can just copy the .pro files over? They are all located in one specific dvips directory:

Image

@ghostnation66
Copy link
Author

Just confirmed that this works perfectly in ubuntu after spending 2 hours working in the VM. On one hand, we confirmed our issue, but on the other hand, this is pretty sad because it means there actually is a problem with the texlive arch package and I don't know how to fix it AT ALL:

Image

@mgieseki
Copy link
Owner

Maybe you should create a bug report in the Arch issue tracker. The problem really needs to be investigated by Arch maintainers as there's not much I can do about it without further information on the Arch specific flaw.

Is there a way I can manually put the .pro files into a directory so they can be found?

Your .pro files are actually located in the correct folder and kpathsea should find them there. dvisvgm doesn't perform any file lookup outside the working directory on its own but relies on a proper working kpathsea library. You could try to copy the files to the working directory where the .dvi files are located and check if it works. But that would only be a weak workaround because depending on the DVI input, there might be other required files that can't be found either.

Alternatively, you could also remove the TeX Live Arch packages and install the TeX Live distribution provided by the TeX Live team via their installer. However, I don't know how well they work together with other packages requiring TeX components as a dependency.

@ghostnation66
Copy link
Author

I just tried this morning with fresh eyes and look what I got:

[hang___man@hangman pydvi2svg]$ dvisvgm test.dvi
pre-processing DVI file (format version 2)
processing page 1
  graphic size: 345.139128pt x 539.999972pt (343.849691bp x 537.982538bp)
  output written to test.svg
1 of 1 page converted in 0.427441 seconds

It just started to...work? I changed nothing for my setup, just did it after a new booth of my machine. I'll do some further testing to make sure everything is ok, so we might want to keep this thread open for some time

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants