[FS-7655] libyuv-dev missing - Allow compilation without video support Created: 13/Jun/15  Updated: 20/Nov/15  Resolved: 17/Jun/15

Status: Closed
Project: FreeSWITCH
Component/s: Build-System
Affects Version/s: 1.6
Fix Version/s: 1.6

Type: Bug Priority: Minor
Reporter: Mario G Assignee: Mike Jerris
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS X, etc.


CPU Architecture:
x86-64
Kernel:
OS X (Mach)
uname: osx 10.10.3
Userland:
OS X
Distribution:
OS X
Distribution Version:
OS X 10.9
Compiler:
clang
Compiler Version: xcode 6.1.1
FreeSWITCH GIT Revision: 098d1e1964
GIT Master Revision hash:: 098d1e1964
Target Version:
1.6

 Description   

The new video support requires additional prerequisites such as libyuv-dev which are not easily available on all platforms. Since many people don't need video, there should be a way to deactivate video support and tests for the prerequisites.



 Comments   
Comment by Mike Jerris [ 17/Jun/15 ]

a bunch of this went in to master. Needs testing.

Comment by Mario G [ 17/Jun/15 ]

It got past configure but the make gets missing libflite-dev, since flite is not on homebrew I took flite out of modules.conf but ran into the same for yuv:
making all mod_fsv
Makefile:896: *** You must install libyuv-dev to build mod_fsv. Stop.
make[3]: *** [mod_fsv-all] Error 1

Comment by Mike Jerris [ 17/Jun/15 ]

that is correct. That and a number of other modules will require yuv and vpx to work properly. The commit note listed the modules. As I said previously, we need to get vpx and yuv as well as other packages into homebrew if you don't want to build them manually. Both vpx and yuv from our SD repo have patches that are required.

Comment by vishnu [ 26/Jun/15 ]

how can i clear this errors???

while at the time of make && make install step..

making all mod_fsv
make[4]: Entering directory `/usr/src/freeswitch/src/mod/applications/mod_fsv'
Makefile:791: *** You must install libyuv-dev to build mod_fsv. Stop.
make[4]: Leaving directory `/usr/src/freeswitch/src/mod/applications/mod_fsv'
make[3]: *** [mod_fsv-all] Error 1
make[3]: Leaving directory `/usr/src/freeswitch/src/mod'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/freeswitch/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/freeswitch'
make: *** [all] Error 2

Comment by Mike Jerris [ 26/Jun/15 ]

in master, that module requires a new dependency. See the 1.6 video page on confluence for instructions how to install our debian jessie packages. If you are using some other platform you will have to wait until contributors finish porting.

Comment by Srishti Sethi [ 06/Sep/15 ]

@Mike I am setting up FreeSWITCH on my MAC machine. I am stuck too here:

making all mod_fsv
Makefile:902: *** You must install libyuv-dev to build mod_fsv. Stop.
make[3]: *** [mod_fsv-all] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Could you tell if this module is ported now with the new release? I am wondering if you could provide any helpful pointers on how to install libyuv-dev module on MAC. Thanks!

Comment by Mike Jerris [ 07/Sep/15 ]

see previous comment t

Comment by Mario G [ 13/Sep/15 ]

Folks, I updated the Mac FS wiki some ago about this. I have been working on this a couple of months now with no success but will not give up. The wiki stated to use FS 1.4 until the dependencies are resolved (or better yet, FS has an option not to generate the video stuff). So if you don't need video support, 1.4 works great on OS X.

Comment by Mario G [ 13/Sep/15 ]

Forgot to mention that if you use my script: https://freeswitch.org/confluence/display/FREESWITCH/Installation+on+OS+X+using+AppleScript and take the default 1.4 Production, the install works fine. I test this about once a month. Again, when the 1.6 prereqs for OS X are resolved the wiki and script will be updated.

Comment by Mike Jerris [ 13/Sep/15 ]

1. After installing the required deps from our repos, everything builds fine.
2. You can already build without video support fine.

Comment by bolvan [ 23/Sep/15 ]

Pls help compile without video support on debian 7.
Cant figure out what switches to configure are required.
Found nothing in google

PS. Self-answering. modules.conf

Comment by Mario G [ 25/Sep/15 ]

Don't feel bad... I have found nothing in bootstrap, config, or modules.conf to eliminate video module prereqs, tried again this morning. Nothing on wiki or google. applications_av was already commented out.

Comment by Mike Jerris [ 25/Sep/15 ]

the core will automatically detect if you have the required dependencies and will build with or without them, the modules that require those dependencies are not able to be built without them, as they are required.

Comment by Amir Peivandi [ 25/Sep/15 ]

I'm trying to build on CentOS 6 and have the same issue, is there any instruction to fix the make error?

Comment by Mike Jerris [ 25/Sep/15 ]

which make error? if your trying to build a module that you don't have the dependencies for, the way to make it not error is to not build that module via modules.conf

Comment by bolvan [ 26/Sep/15 ]

Btw, I managed to build freeswitch 1.6 with video support on debian 7.
First I found this repo on freeswitch org :
deb http://files.freeswitch.org/repo/deb/debian/ wheezy main
Installed libyuv and other needed deps from there. But got some missing functions errors when compiling freeswitch (functions names are ending with _SSE2).
I had to compile libyuv from source with minor correction in build files.

git clone https://freeswitch.org/stash/scm/sd/libyuv.git libyuv
add "-msse3 -mmmx" to CXXFLAGS in libyuv/debian/rules
cd libyuv
dpkg-buildpackage -b -uc
dpkg -i ../libyuv*deb

This is definitely should be corrected in repo because in current situation libyuv there is unusable with freeswitch on 32 bit x86 systems.

Comment by William King [ 26/Sep/15 ]

bolvan Can you paste the output of this command: head /proc/cpuinfo

Also, is there a reason not to go with sse4? What about AVX or the later generations?

Comment by Amir Peivandi [ 26/Sep/15 ]

I also managed to do so, just commented out the video.

Comment by bolvan [ 27/Sep/15 ]

[~William King] Sure, avx2 can be enabled and is supported by livyuv.
I just didnt care, will not use video modules.
My system is VPS with limited resources, so I'd better use 32-bit for it rather than 64. CPU is Xeon E3-1240. It can do avx, but no avx2.

Generated at Wed Sep 18 15:19:16 CDT 2019 using Jira 8.1.0#801000-sha1:2e1cd1bb771978cda2c5e8f3f10539ab180613f6.