facebook / transform360

Transform360 is an equirectangular to cubemap transform for 360 video.
Other
1k stars 240 forks source link

Compiling on Ubuntu 16: undefined reference to VideoFrameTransform_new #35

Open dmwarren opened 7 years ago

dmwarren commented 7 years ago

One of our researchers has asked us to compile this but I've run into an issue.

$ make
[...]
LD  ffmpeg_g
libavfilter/libavfilter.a(vf_transform360.o): In function `generate_map':
/local-scratch/swbuilder/Linux/Ubuntu/16.04/amd64/ffmpeg-3.3.1/libavfilter/vf_transform360.c:136: undefined reference to `VideoFrameTransform_new'
/local-scratch/swbuilder/Linux/Ubuntu/16.04/amd64/ffmpeg-3.3.1/libavfilter/vf_transform360.c:152: undefined reference to `VideoFrameTransform_generateMapForPlane'
libavfilter/libavfilter.a(vf_transform360.o): In function `filter_frame':
/local-scratch/swbuilder/Linux/Ubuntu/16.04/amd64/ffmpeg-3.3.1/libavfilter/vf_transform360.c:344: undefined reference to `VideoFrameTransform_transformFramePlane'
libavfilter/libavfilter.a(vf_transform360.o): In function `uninit':
/local-scratch/swbuilder/Linux/Ubuntu/16.04/amd64/ffmpeg-3.3.1/libavfilter/vf_transform360.c:295: undefined reference to `VideoFrameTransform_delete'
collect2: error: ld returned 1 exit status
Makefile:136: recipe for target 'ffmpeg_g' failed
make: *** [ffmpeg_g] Error 1

Distro: Ubuntu 16.04.2 LTS (Xenial Xerus) ffmpeg source: v3.3.1 gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

transform360 itself compiles fine, but following the instructions at https://github.com/facebook/transform360 yields the error above.

Troubleshooting steps I've tried:

All of these yielded the same error. Any suggestions would be most welcome. Thank you!

rpenggithub commented 7 years ago

We have not tried to compile it on Ubuntu, but it works well in other places. Any chances not using Ubuntu?

strangesource commented 7 years ago

Did you figure it out in the end? I bumped into a similar problem.

Regards, Lukas

chaozhou5 commented 7 years ago

I have same issues with OpenCV 3.2.0, switch back to OpenCV 3.1.0 solved my problem.

EthanXzhang commented 6 years ago

I face the same problem in windows.I use mingw32, build transform360 in Ubuntu with openCV 3.1.0, add the .h and lib path to configure,but the problem appeared in make.

chaozhou5 commented 6 years ago

Hi Ethan, I checked my FFmpeg source version, which is 3.2. You may want to try this one. Let me know the result. Good luck~

EthanXzhang commented 6 years ago

@chaozhou5 Thanks a lot! I have solved this problem. It cause by the type of linked library in mingw. Using mingw/gcc to build and config the transform360 lib. The configure and make runs correctly. But, I face another problem now. It seems like causing by the opencv lib in mingw. This error looks similar to the #40. I have solved the error "opencv not found",but another error "undefined reference *** in opencv lib" appeared. I am now trying to solve it.