[vlc-devel] Re: Can't Build from Source, want to help with image filters/scaling and quality control

Neil Woodall neil at woodall.occoxmail.com
Sat Feb 24 18:25:41 CET 2007

Please see below.

On Feb 24, 2007, at 7:20 AM, Christophe Mutricy wrote:

>> I finally gave up when trying to duplicate the buildbot set of
>> commands I got an error that byte_t was defined twice. Once in /
>> extras/contrib/include/libraw1394/raw1394.h and once in  include/
>> vlc_common.h. Since libraw1394 is part of the make src instructions
>> (and I could find no other instructions on what to include in extra/
>> contrib... vs. /usr/lib location) this definitely points to a bug in
>> the make instructions.
> What's strange is that it doesn't happen on buildbot. so maybe a  
> special
> combination of versions.

Which is my reinforces my point about the idea of a nightly build is  
to find and fix these types of errors before they go to far. For now  
what I would really like is to simply duplicate the buildbot as  
closely as possible, but on Fedora Core 5. I would think that all the  
developers would want this information so that they can test there  
fixes before they submit them.

> if you don't need the ieee1394 and dv things just add --disable-dv
> --disable-dc1394 to your configure line
> Also the configure script normally set things up to use extra/ 
> contrib or
> /usr/lib (with an exclusise or).
> On Linux, with a good distribution you don't normally need to use
> extras/contrib. the only libs you might need to configure by hand are
> ffmpeg and live555

The discussions seem to talk about a lot of options for these two  
libraries (and the same seems to hold for the wxwidgets), so where do  
I find what options were used for the buildbot? Should I use what the  
make src generates, but install them into usr/lib? I'm not so sure  
that I trust the whole make src script anymore, since it's not part  
of the nightly build process. I also see a lot of discussion about  
patches for these two libraries. How do you know that the patches  
hold for all the desired configurations for these libraries? Or is  
there only one? If so, what is it?

>> I even downloaded the rpm for 0.8.5 so that I could verify that I had
>> all the required shared libraries and still could not build 0.8.5 (or
>> 0.8.6 or 0.8.6-bugfix or the trunk) from the sources.
> Having the runtime part of a library is not enough to compile. You  
> need
> to install all the -dev package

I understand that, so I was actually installing the dev versions of  
those packages...but if I'm also adding the libraries in the extra/ 
contrib, maybe that doesn't do any good.

>> BTW, one thing I would recommend for quality control purposes is to
>> change your nightly build process to start with a checkout of the svn
>> database to an empty directory for vlc and any source code that would
>> be built in the extra/contrib directory.
> All the nightly buiuld are started from scratch.
> On MacOSX the contribs are rebuild.
> On Debian we use the sytems libs

I looked at the svn command for the nightly build. It used update,  
not checkout. We are really strict about this in our company (because  
a mistake in the build process can cost millions), so everything is  
tagged and part of the script, right down to the version of the tools  
(all the tools including gcc) that are used to generate the source.
> On win32 we use a set of libs that we compile from time to time as  
> there
> is still a few stuff in the contribs which needs an human hand and it
> takes a long time to build.
>> I would also recommend that
>> you don't use external servers for getting the source code that is in
>> the extra/contrib directory or that you statically link to, but
>> instead store a copy on your svn server and get it from there. That
>> way when you tag a release, you also tag ALL the make dependencies.
> We have a copy of the libs source in our FTP ( or should have at  
> least,
> to comply with the GPL as we distribute binary version of them).
> If you use extra/contrib we indeed tag the necessary version because
> there contains in packages.mak. But generall it's the latest version
> available at the time of VLC release. (one exception being Faad)
The make src script pulls the sources from their local site. I know  
this because the make src script tries to pull the one of the sources  
(ffMPEG?) using cvs, but they have switched to svn, so the make  
fails. Yes, I've seen the version tags in in the distro.mak file, but  
to be parnoid, I would think you would want to still pull the sources  
from your own site. That way you know that there are no changes and  
that they will always be available.
> -- 
> Xtophe
> -- 
> This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
> To unsubscribe, please read http://developers.videolan.org/lists.html

This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html

More information about the vlc-devel mailing list