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

Won't build, binaries available? #2

Open
callanrocks opened this issue Nov 23, 2023 · 8 comments
Open

Won't build, binaries available? #2

callanrocks opened this issue Nov 23, 2023 · 8 comments

Comments

@callanrocks
Copy link

A few of us having been trying to give this a go, but we've been unable to get it to build for many strange reason we've been unable to get it to successfully build.

Would it be possible for you to release binaries? Thank you.

@callanrocks
Copy link
Author

We got it built! But it's just throwing segfaults.

@MaxReimann
Copy link
Owner

Great, what errors did you encounter previously while building and which OS are you on? If you can provide a stacktrace that would be very helpful, I'll try to find time to look into the issue

@callanrocks
Copy link
Author

We've been building across WSL, Ubuntu and a docker environment that we found worked. Which was pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel.

The one who got furthest building before switching to docker thought it might be related to the ffmpeg version from this error.

[ 34%] Building CXX object CMakeFiles/FlowVideoConsistency.dir/src/decoding/ffmpeg.cpp.o /usr/bin/c++ -DD_NMP_ASSET_DIR="R\"(models)\"" -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -I/home/user/Schreibtisch/video-stream-consistency/build -I/home/user/Schreibtisch/video-stream-consistency -I/home/user/Schreibtisch/video-stream-consistency/build/FlowVideoConsistency_autogen/include -I/home/user/Schreibtisch/video-stream-consistency/src -I/home/user/Schreibtisch/video-stream-consistency/src/ort_custom_ops/include -isystem /home/user/Schreibtisch/video-stream-consistency/build/dependencies/onnxruntime/include -isystem /usr/include/qt -isystem /usr/include/qt/QtCore -isystem /usr/lib/qt/mkspecs/linux-g++ -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -std=gnu++20 -fPIC -MD -MT CMakeFiles/FlowVideoConsistency.dir/src/decoding/ffmpeg.cpp.o -MF CMakeFiles/FlowVideoConsistency.dir/src/decoding/ffmpeg.cpp.o.d -o CMakeFiles/FlowVideoConsistency.dir/src/decoding/ffmpeg.cpp.o -c /home/user/Schreibtisch/video-stream-consistency/src/decoding/ffmpeg.cpp In Datei, eingebunden von /usr/include/libavutil/avutil.h:301, von /home/user/Schreibtisch/video-stream-consistency/src/decoding/ffmpeg.h:9, von /home/user/Schreibtisch/video-stream-consistency/src/decoding/ffmpeg.cpp:4: /usr/include/libavutil/common.h:30:2: Fehler: #error missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS 30 | #error missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS | ^~~~~ make[2]: *** [CMakeFiles/FlowVideoConsistency.dir/build.make:266: CMakeFiles/FlowVideoConsistency.dir/src/decoding/ffmpeg.cpp.o] Fehler 1

I'm having a go at building it on windows, here's hoping!

@MaxReimann
Copy link
Owner

MaxReimann commented Nov 24, 2023

For the build error you are posting I assume this is on Ubuntu? I've built mine one Ubuntu 18.04. Could you try adding set(CMAKE_CXX_FLAGS "-D__STDC_CONSTANT_MACROS") to the cmakelists after the set(cmake_Cxx_standard) ?

It could be related to the libav version as well, on my Ubuntu system I am using these package versions (output from apt list):

libavcodec-extra/bionic-updates,bionic-updates,bionic-security,bionic-security 7:3.4.11-0ubuntu0.1 all
libavcodec-extra57/bionic-updates,bionic-security 7:3.4.11-0ubuntu0.1 amd64
libavcodec57/bionic-updates,bionic-security,now 7:3.4.11-0ubuntu0.1 amd64 [installed,automatic]
libavdevice-dev/bionic-updates,bionic-security,now 7:3.4.11-0ubuntu0.1 amd64 [installed]
libavdevice57/bionic-updates,bionic-security,now 7:3.4.11-0ubuntu0.1 amd64 [installed,automatic]
libavfilter-dev/bionic-updates,bionic-security,now 7:3.4.11-0ubuntu0.1 amd64 [installed]
libavfilter-extra/bionic-updates,bionic-updates,bionic-security,bionic-security 7:3.4.11-0ubuntu0.1 all
libavfilter-extra6/bionic-updates,bionic-security 7:3.4.11-0ubuntu0.1 amd64
libavfilter6/bionic-updates,bionic-security,now 7:3.4.11-0ubuntu0.1 amd64 [installed,automatic]
libavformat-dev/bionic-updates,bionic-security,now 7:3.4.11-0ubuntu0.1 amd64 [installed,automatic]
libavformat57/bionic-updates,bionic-security,now 7:3.4.11-0ubuntu0.1 amd64 [installed,automatic]

My expectation would be that building in ubuntu and docker should both work equally well and I'd suggest trying those first, windows I tested with an early version long time ago but I don't have a test setup for that at the moment, and WSL I haven't tested at all.

@callanrocks
Copy link
Author

I got it to build in windows! Not sure if it was that extra line in the cmake file or some more fiddling I did. Ubuntu still wasn't playing nice.

Unfortunately it's still not working, both CLI and GUI failing at the first frame simply saying abort() has been called.

The only information I was getting in the prompt:

`QWindowsWindow::setGeometry: Unable to set geometry 120x30+856+436 (frame: 136x69+848+405) on QWidgetWindow/"VideoOpenWidgetClassWindow" on "\\.\DISPLAY1". Resulting geometry: 140x161+856+436 (frame: 156x200+848+405) margins: 8, 31, 8, 8 minimum size: 140x161 MINMAXINFO maxSize=0,0 maxpos=0,0 mintrack=156,200 maxtrack=0,0)
Flow forward parameters: 640 360 3
Info: not downsampling flow. Set FLOWDOWNSCALE=x to set the downsampling factor.`

This sort of thing is way out of my experience so apologies if I'm missing something simple that should be making this just work.

@MaxReimann
Copy link
Owner

I haven't done any comprehensive testing on different system setups, so it's to be expected that there may be issues on some. The first message (unable to set geometry) is already weird by itself, but probably not the issue.

To effectively help you, can you can tell me

  • your hardware & software stack (which windows version, what GPU do you have, which CUDA version are you running)
  • the command you are running. I would suggest running the CLI with an image folder input and output for starters (e.g. ./FlowVideoConsistency -c pwcnet-light originalFrames processedFrames stabilizedFrames ) as this doesn't require ffmpeg/libav
  • if you can run the program using a debugger to determine the point where the abort is thrown would be super helpful

@callanrocks
Copy link
Author

Took a bit longer getting back here than I intended. Ubuntu still isn't play nice unfortunately.

Running Windows 11, a 3090 and I've used a few different CUDA versions.

I managed to get it build in Windows but it was having some dependency related issues, which I think is just related to the build script pointing to the wrong folders and not finding things in the right location?

@MaxReimann
Copy link
Owner

Hello callan, unfortunately I do not have a windows with cuda GPU on hand for testing right now. Did you get it to work? Was the error related to this issue #1 ?

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

No branches or pull requests

2 participants