-
Notifications
You must be signed in to change notification settings - Fork 91
Windows Build Still Broken #107
Comments
Is this the same issue? chaot@PC MSYS ~/butterflow/packages/windows/mingw-w64-opencv2 Packages (5) mingw-w64-x86_64-freeglut-3.0.0-4 Total Download Size: 5.97 MiB :: Proceed with installation? [Y/n] Y Packages (1) mingw-w64-x86_64-eigen3-3.3.4-1 Total Download Size: 0.81 MiB :: Proceed with installation? [Y/n] Y |
@ChaoticBlankness Yes, I get the same issue. What causes it, I'm unsure. |
It's odd, thought maybe build on Windows was the issue however butterflow-0.2.4.dev portable returns: butterflow -d Latest Radeon driver, clinfo reports FULL_PROFILE and with correct Max Work Group Size Max Work Item Size. Fiji/FuryX |
Correct. It seems to be some kind of issue with newer nVidia drivers paired with the older version of OpenCL that butterflow relies on. I was hoping the latest commit had fixed it, but it has not. I'm not sure what to do at this point. |
Not to revive an old post... but since it's still open and I'm also getting this error... Did anyone ever find a fix for this? |
@alset333 Sadly I think butterflow has fallen into disrepair and is more or less abandoned right now. I can find no way to contact the original developer. I think the best bet is for someone to fork it and maintain a new branch. I toyed with the idea, but I'm not a C++ developer and to feel comfortable at all I'd have to rewrite the whole thing in C# to be able to sustainably maintain it. As to your other question, I do not know of an alternative for butterflow. I think Adobe Premier or After Effects has an interpolation feature but I'm not aware of it being anywhere near as sophisticated as butterflow, not to mention it being costly and proprietary (whichever of those matter to you). |
Personal workaround for Radeon (at least) has been to maintain an Ubuntu 16.04 partition. Was hoping Windows might get a fix soon, but looking grim unless some of us can step up. Props to dthpham for pushing any updates this year. I'm sure it's life taking priority over the project. |
Personal workaround with Windows 10: linux subsystem for Windows. Tried and working (it works on my machine ;) )! |
Oh well, thanks for letting me know. |
@ChaoticBlankness I just tried using BF after not using it for a long time but 0.2.4.dev0 portable with the latest NVIDIA drivers (430.39) works for me. What you're experiencing is probably a driver issue and since I don't have a Radeon GPU I can't provide any meaningful support for people with AMD cards until I get my hands on one myself. I mean I want to debug & get that RuntimeError you're getting fixed with the portable version, but am I really going to to buy and build a machine with a Radeon card just to test BF on? Probably not anytime soon. I'm going to specifically look into the build issue right now and maybe a newer build will fix what you're experiencing on Windows. Anyways thanks for being patient. I'll give an update on my findings soon. |
@dthpham I'm very grateful. 👍 Understandable about the Radeon driver, though this seems to happen identically on my Windows 10 Intel HD 620 using current drivers as well. If that might be easier for you to test and would perhaps resolve problems for both Intel/AMD. @wagesj45 You're Nvidia if I recall. Is all well for you using 430.39? Retried 0.2.4.dev0 portable and still no luck. :( |
About the build issue on Windows: The problem is MSYS2 upgraded the FFMPEG 3 package to 4 and because of API changes OpenCV 2 is referencing definitions that are no longer in FFMPEG library headers resulting in compiler errors. One example is CODEC_FLAG_GLOBAL_HEADER was renamed to AV_CODEC_FLAG_GLOBAL_HEADER in FFMPEG 4. Another is AVFMT_RAWPICTURE which was removed completely (or I can't find the equivalent definition) in FFMPEG 4. There's three things off the top of my head I can do to get this fixed:
Each has it's downsides and upsides and difficulty to implement a fix. (1) means everybody will have the latest FFMPEG but not OpenCV, (2) means everybody can use the latest OpenCV and FFMPEG, (3) means FFMPEG and OpenCV will be the older versions. There's also other options like a full rewrite where I could bundle or port the Farneback algorithm and write my own video reader-writer thingy. That way OpenCV would no longer be a dependency & BF would be less prone to breakages on FFMPEG updates. The best option today is to downgrade to FFMPEG 3 because it's easy and is going to work (I'm pretty sure). I will be implementing some kind of fix in the next few days. After that I will be researching and weighing the other options as well to see if they are worth it or more optimal. @ChaoticBlankness Thanks I'll try testing the portable version with Intel after I get build fixes in. |
@dthpham Given the three possible solutions, I think solution 3 will be the quickest way to get a working build out. Long term, solution 2 would probably be best for performance. This assumes, of course, that OpenCV 4 has improved utilization of hardware and improved optical flow efficiency. In regards to the rewrite idea: That being said, if you were to rewrite butterflow to get rid of the current OpenCV dependency, I may be able to use your implementation of Farneback and reimplement it in something like ILGPU. This could let me "take over" the project in so much as the project would just migrate to a .Net version with cross platform support. This is, of course, assuming that 1) you are interested in handing the project off to someone else for maintenance and 2) I am smart enough to figure out ILGPU and how to implement the optical flow algorithm using it. |
For reference, my issues were while running with a GTX-1060-3G on 430.39, so I don't think it's the AMD vs NVIDIA problem nor a driver issue. Though it might be a slightly different problem than some are having. |
I saw that there was some movement on this and some changes were checked in. Has this resulted in a working build that can be packaged as a release? |
Builds are working again on the latest commit, at least on my end. Install instructions have been simplified. A new release can be packaged but the current one is still working so I don't see the need to publish a new one. |
I followed the updated instructions from your latest check in but was unable to produce a build. I still received errors. I have another project that depends on a Windows executable and I wouldn't mind building myself to include it, but I just can't currently get it to work, which is why I was hoping for a released version if you can get the build to work. |
@wagesj45 What errors are you getting? If you elaborate, maybe I can fix them so everybody can benefit. |
@dthpham The current release was put out on Feb 27th, with 3 commits since its release. It does not currently work with nVidia hardware. As for the error I had in building, I will share the trailing output from the MSYS2 shell.
It then exits to the command line. I searched in a MINGW64 window but could find no butterflow files. I'm guessing I might need to correct something in the script given in your build instructions, but I'm not sure what. |
Has there been any movement on this? I'd like to package my project with butterflow. I don't mind building or using a prepackaged release. |
Hi. I have this problem. Traceback (most recent call last): How i can fix? |
Even after the newest commit with "Build fixes for Windows" opencl fails to build under MSYS2.
The text was updated successfully, but these errors were encountered: