haskell / ThreadScope

A graphical tool for profiling parallel Haskell programs

Home Page:http://www.haskell.org/haskellwiki/ThreadScope

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Windows archive is missing DLLs needed for ThreadScope to start

varosi opened this issue · comments

Auto-built binaries for Windows are missing DLLs that are needed for it to start:
https://github.com/haskell/ThreadScope/releases/tag/v0.2.9

List of DLLs from original archive include:
Mode LastWriteTime Length Name


-a---- 22.3.2017 г. 13:56 134706 libatk-1.0-0.dll
-a---- 15.1.2017 г. 15:37 74400 libbz2-1.dll
-a---- 13.1.2017 г. 11:43 991720 libcairo-2.dll
-a---- 13.1.2017 г. 11:43 37921 libcairo-gobject-2.dll
-a---- 13.1.2017 г. 11:43 166805 libcairo-script-interpreter-2.dll
-a---- 30.11.2016 г. 11:31 160467 libexpat-1.dll
-a---- 21.7.2016 г. 10:42 34176 libffi-6.dll
-a---- 28.11.2016 г. 9:55 318375 libfontconfig-1.dll
-a---- 13.1.2017 г. 11:12 656700 libfreetype-6.dll
-a---- 26.2.2017 г. 22:42 83230 libgcc_s_seh-1.dll
-a---- 18.1.2017 г. 11:35 767188 libgdk-win32-2.0-0.dll
-a---- 27.3.2017 г. 11:01 163266 libgdk_pixbuf-2.0-0.dll
-a---- 22.3.2017 г. 12:49 1430787 libgio-2.0-0.dll
-a---- 22.3.2017 г. 12:49 1126997 libglib-2.0-0.dll
-a---- 22.3.2017 г. 12:49 27379 libgmodule-2.0-0.dll
-a---- 22.3.2017 г. 12:49 304578 libgobject-2.0-0.dll
-a---- 14.11.2016 г. 8:59 225567 libgraphite2.dll
-a---- 22.3.2017 г. 12:49 19380 libgthread-2.0-0.dll
-a---- 18.1.2017 г. 11:35 3937545 libgtk-win32-2.0-0.dll
-a---- 13.3.2017 г. 14:00 606158 libharfbuzz-0.dll
-a---- 6.3.2017 г. 7:30 1056753 libiconv-2.dll
-a---- 21.2.2017 г. 10:26 133779 libintl-8.dll
-a---- 23.9.2016 г. 10:50 252033 libpango-1.0-0.dll
-a---- 23.9.2016 г. 10:50 65951 libpangocairo-1.0-0.dll
-a---- 23.9.2016 г. 10:50 89597 libpangoft2-1.0-0.dll
-a---- 23.9.2016 г. 10:50 96927 libpangowin32-1.0-0.dll
-a---- 17.1.2017 г. 8:15 281871 libpcre-1.dll
-a---- 6.9.2016 г. 14:07 682872 libpixman-1-0.dll
-a---- 22.3.2017 г. 9:18 231607 libpng16-16.dll
-a---- 26.2.2017 г. 22:42 1422948 libstdc++-6.dll
-a---- 20.3.2017 г. 7:08 56978 libwinpthread-1.dll
-a---- 28.11.2016 г. 6:53 1317300 libxml2-2.dll
-a---- 17.1.2017 г. 8:09 93830 zlib1.dll

You need to install gtk2 using MSYS2 or something like that in order to use the Windows binary on GitHub releases. Can you try the last snippet from https://github.com/haskell/ThreadScope/blob/90947984a1a570b3c6ec409b0d62b7b6b3b5c61f/README.md?

hm, this should be well documented. Before it was running out of the box, because archives were including everything needed to run on clean machine.

Some time ago I also tried this ready exe. You tap Enter a few times and gtk is installed on Windows: https://sourceforge.net/projects/gtk-win/

I any case, let me know if I can edit the wiki with some proper info.

The documentation could be improved.

I'm opposed to include GTK+ dependencies (DLLs) into the release artifacts because those deps tend to be out-of-date and need to be updated regularly.

As for the gtk-win project, it seems to be deprecated and not maintained any more. The official GTK+ project recommends MSYS2.

I'll extend README later.

^ Updated README.

I think we can close this now. Feel free to reopen if there are any other comments.

I installed msys2 and used pacman to install 64-bit gtk2 but I still get an error when running ThreadScope (from within msys2):

/threadscope.exe: error while loading shared libraries: libpangocairo-1.0-0.dll: cannot open shared object file: No such file or directory

I'm using the latest Windows binary 0.2.11.

That library does exist at /mingw64/bin/libpangocairo-1.0.0-dll. So I wonder why threadscope can't find it? Maybe I need some env var set for it to find the lib?

I'm not familiar with Windows environment at all but is there libpangocairo-1.0-0.dll available in your %PATH%?

Well, I'll be darned, that did it, thanks! I added /mingw64/bin to my $PATH. I would think that MSYS2 would automatically put that in my path, but... now it works.