clementine-player / Clementine

:tangerine: Clementine Music Player
https://www.clementine-player.org/
GNU General Public License v3.0
3.72k stars 671 forks source link

Developer builds don't run on Windows due to missing libwinpthread-1.dll #6270

Closed thoni56 closed 4 years ago

thoni56 commented 5 years ago

Before posting

Please follow the steps below and check the boxes with [x] once you did the step.

System information

Please provide information about your system and the version of Clementine used.

Expected behaviour / actual behaviour

bild

Steps to reproduce the problem (only for bugs)

Just run Clementine Windows developer build.

chucku commented 5 years ago

I have found the same problem...

mkserge commented 5 years ago

Same problem here.

GATOQSECOMIO commented 5 years ago

same problem here

jjberry314 commented 4 years ago

Same here.

Doing a little googling on this and it suggests this is a MinGW runtime lib (MinGW is the compiler used to compile Clementine under Windows).

Update: This issue isn't confined to just Clementine.

The advice from a similar issue on a different project (ref: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/1723) was:

  1. Go to: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.0/threads-posix/seh/
  2. Download and extract: x86_64-4.9.0-release-posix-seh-rt_v3-rev1.7z
  3. Go to mingw64\bin directory
  4. Extract the libwinpthread-1.dll file

Unfortunately, once I had copied this into the Clementine install directory, it then failed to start with error 0xc000007b

Venryx commented 4 years ago

Same problem here. This is an important issue because it means the latest Windows builds are unusable, forcing us to go all the way back to the 2016 official release! (which doesn't support Opus files 😞)

jamesbroadhead commented 4 years ago

I worked my way back to find a working development build

So:

https://builds.clementine-player.org/win32/debug/

mkserge commented 4 years ago

Same problem here. This is an important issue because it means the latest Windows builds are unusable, forcing us to go all the way back to the 2016 official release! (which doesn't support Opus files 😞)

Not ideal but you can manually copy-paste the missing lib from the working installation. Basically install an earlier version of Clementine, copy libwinthread, uninstall then install the latest version of Clementine and finally copy the library back into the main directory.

hatstand commented 4 years ago

If someone actually wants to work towards fixing this, a good start would be moving more builds onto travis instead of our self-hosted, flaky build infrastructure.

chucku commented 4 years ago

1.3.1-388-gf1b767f is last version I got to work...

Regards, Chuck

Unknown-Zombie commented 4 years ago

The developer builds work fine on my computer, and they have done so for a long time. I found out that I'm able to run them because I have TDM-GCC-64 installed on my computer.

This should be addressed in a proper manner, but a workaround until then for layman users would be to install TDM-GCC.

JulianVolodia commented 4 years ago

If someone actually wants to work towards fixing this, a good start would be moving more builds onto travis instead of our self-hosted, flaky build infrastructure.

@hatstand I will do this integration in following week.

JulianVolodia commented 4 years ago

@hatstand as I don't saw any issue/thread I will create new one before sending PR. If I missed that issue, please tell me about it.

JulianVolodia commented 4 years ago

Dear @hatstand I have a questions to you as you are guru to me.

Will we drop version with qt4 at all?

Shall I work on merge (integrate CI and merge changes) from branch qt5-mac to qt5?

I will need feedback about that integration from you. So, are you more fluent with Circle, Travis if need tips? Or whatever? You said about CircleCI, but first I will try to make working build on TravisCI because of:

hatstand commented 4 years ago

qt5-mac is merged into qt5 already IIRC.

We're already successfully doing Linux & Mac builds for qt5 on CircleCI so it's just windows left. You're welcome to do it on travis if you like and I can port it afterwards but the windows build is hard.

I think it's likely that I'll just merge the qt5 branch to master soon and then we can figure out reliable builds just for qt5.

JulianVolodia commented 4 years ago

qt5-mac is merged into qt5 already IIRC.

Yes, that was my one big mistake cause qt5-mac is in qt5. Sorry.

windows build is hard.

I remember. I done it one time. Have some ice breaking tips for Windows? On which version of MS product you build it? I will try do as similar to your workflow.

JulianVolodia commented 4 years ago

And last but not least, which other old builder platforms you want to move to new one? Maybe I could work on it also (as for dessert after Win).

hatstand commented 4 years ago

I started hacking away at it here: https://github.com/clementine-player/Clementine/compare/circleci-mingw

Every other platform is sorted on circleci I think including mac, ubuntu, debian and fedora.

JulianVolodia commented 4 years ago

BTW. I checked Clementine-qt5 AUR package also (I use Arch Linux, Debian and Windows as workstations).

What you think about checking against Arch Linux also. There are some ppl out there using it, and also could be interesing step for their community to support us. They probably more likely to provide faster and good feedback because of more advanced distro used.

hatstand commented 4 years ago

I don't know much about Arch but you're welcome to setup builds for it.

JulianVolodia commented 4 years ago

I started hacking away at it here: https://github.com/clementine-player/Clementine/compare/circleci-mingw

Thanks for info about that. 👍

I don't know much about Arch but you're welcome to setup builds for it.

Great! :)

TL;DR there is 2 repositories, one similar to Debian's - then using pacman as apt. And second, AUR, from where you acquire package with some metadata (PKGBUILD file included) and run makepkg. AUR package clementine-qt5 is depend on qt5 branch so if something will break they will have fast feedback about it.

JulianVolodia commented 4 years ago

Unfortunately, once I had copied this into the Clementine install directory, it then failed to start with error 0xc000007b

https://social.msdn.microsoft.com/Forums/vstudio/en-US/fba7d3c0-b595-42be-8e17-7fd0468565ca/the-application-was-unable-to-start-correctly-0xc000007b-click-ok-to-close-the-application?forum=vsdebug

@jjberry314 have you tried to do sth with it? Are you programmer? Did you overcome problem?

JulianVolodia commented 4 years ago

1.3.1-388-gf1b767f is last version I got to work...

@chucku could you tell more about system version and your configuration?

jjberry314 commented 4 years ago

@jjberry314 have you tried to do sth with it? Are you programmer? Did you overcome problem?

Hi. No, I have not had a chance to return to this. Currently I am just listening to di.fm via their website player rather than with Clementine.

JulianVolodia commented 4 years ago

Hi @hatstand so next step is to refactor Windows version build to support Qt5?

JulianVolodia commented 4 years ago

@jjberry314 I'm sorry, I hope you will be happy with that. Share the best music you like there or on my email. I looking for new tastes.

JulianVolodia commented 4 years ago

I don't know much about Arch but you're welcome to setup builds for it.

I didn't know that @Chocobozzz is the Maintainer of clementine-qt5-git @ AUR ;D @Chocobozzz , what you think about this idea of CircleCI builds for Arch Linux against master? Probably clementine-git should be overtaken by clementine-qt5-git now.

hatstand commented 4 years ago

https://builds.clementine-player.org/windows/

chucku commented 4 years ago

That seems to work fine! Thank you very much :)