Kozea / WeasyPrint

The awesome document factory
https://weasyprint.org
BSD 3-Clause "New" or "Revised" License
7.22k stars 686 forks source link

v63.0 weasyprint.exe - Entry Point Not Found #2289

Open braggpeaks opened 2 weeks ago

braggpeaks commented 2 weeks ago

Hi all,

after updating to v63.0 using Windows weasyprint.exe I get 4 error popups: The procedure entry point g_bookmark_file_copy could not be located in the dynamic link library C:\Users\<..>\AppData\Local\Temp_MEI351522\libgobject-2.0-0.dll click OK The procedure entry point g_once_init_enter_pointer could not be located in the dynamic link library C:\Users\<..>\AppData\Local\Temp_MEI351522\libpango-1.0-0.dll click OK The procedure entry point DllMain could not be located in the dynamic link library C:\Users\<..>\AppData\Local\Temp_MEI351522\libharfbuzz-0.dll

Still the PDF is being generated. I get this also for weasyprint.exe call w/o arguments.

Thanks, Daniel

liZe commented 2 weeks ago

Hi!

The CI test doesn’t show this problem.

Here’s a couple of questions for you: 😄

braggpeaks commented 1 week ago

Hi Guillaume, yes, I have GTK3 runtime installed that apparently has some pango dlls installed AND is part of my PATH environment variable. I did not add this manually. As far as I can tell this was installed and configured by either GIMP, Inkscape or Spyder (Python framework).

Ideally weasyprint would prioritize the dlls it is supposed to use. Do I understand correctly weasyprint.exe extracts the dll's to a temporary directory?

C:\Program Files\GTK3-Runtime Win64\bin\libpangowin32-1.0-0.dll C:\Program Files\GTK3-Runtime Win64\bin\libpangowin32-1.0-0.dll C:\Program Files\GTK3-Runtime Win64\bin\libpangomm-1.4-1.dll C:\Program Files\GTK3-Runtime Win64\bin\libpangomm-1.4-1.dll C:\Program Files\GTK3-Runtime Win64\bin\libpangoft2-1.0-0.dll C:\Program Files\GTK3-Runtime Win64\bin\libpangoft2-1.0-0.dll C:\Program Files\GTK3-Runtime Win64\bin\libpangocairo-1.0-0.dll C:\Program Files\GTK3-Runtime Win64\bin\libpangocairo-1.0-0.dll C:\Program Files\GTK3-Runtime Win64\bin\libpango-1.0-0.dll C:\Program Files\GTK3-Runtime Win64\bin\libpango-1.0-0.dll

liZe commented 1 week ago

Ideally weasyprint would prioritize the dlls it is supposed to use.

DLLs are already included in the executable file, they’re the ones that should be used instead of the ones installed on the system.

Do I understand correctly weasyprint.exe extracts the dll's to a temporary directory?

I have no idea.

Do you have the same problem with older versions of the executable? If you don’t, the problem may be related to #2238.

braggpeaks commented 1 week ago

The weasyprint executable seems to extract the dependent dlls to a temporary directory.

Image

Running older versions including v62.3 do not cause these problems. Not sure if #2238 is identical. Windows seems to mix up which dll's are to be used and the dll versions in my PATH are different and not compatible to the ones weasyprint is supposed to use.