Building Handbrake

HandBrake for Mac support
Forum rules
An Activity Log is required for support requests. Please read How-to get an activity log? for details on how and why this should be provided.
Locked
willie
Posts: 6
Joined: Tue Feb 17, 2009 10:11 pm

Building Handbrake

Post by willie » Tue Feb 17, 2009 10:16 pm

Hi! I followed the guide here:

http://trac.handbrake.fr/wiki/CompileGuide

To check out the Handbrake-source (trunk) on my Mac. I have Xcode installed. I changed into the directory, did a make, after a lot of building, I got the errors below.

Does anyone have any ideas on this?

Thanks,
Willie

Code: Select all

The following build commands failed:
libhb:
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/decmpeg2.o /Users/willie/src/HandBrake-source/macosx/../libhb/decmpeg2.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/encavcodec.o /Users/willie/src/HandBrake-source/macosx/../libhb/encavcodec.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/hb.o /Users/willie/src/HandBrake-source/macosx/../libhb/hb.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/muxavi.o /Users/willie/src/HandBrake-source/macosx/../libhb/muxavi.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/muxmp4.o /Users/willie/src/HandBrake-source/macosx/../libhb/muxmp4.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/render.o /Users/willie/src/HandBrake-source/macosx/../libhb/render.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/sync.o /Users/willie/src/HandBrake-source/macosx/../libhb/sync.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/work.o /Users/willie/src/HandBrake-source/macosx/../libhb/work.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/deca52.o /Users/willie/src/HandBrake-source/macosx/../libhb/deca52.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/decavcodec.o /Users/willie/src/HandBrake-source/macosx/../libhb/decavcodec.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/stream.o /Users/willie/src/HandBrake-source/macosx/../libhb/stream.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/muxmkv.o /Users/willie/src/HandBrake-source/macosx/../libhb/muxmkv.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/denoise.o /Users/willie/src/HandBrake-source/macosx/../libhb/denoise.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/deinterlace.o /Users/willie/src/HandBrake-source/macosx/../libhb/deinterlace.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/deblock.o /Users/willie/src/HandBrake-source/macosx/../libhb/deblock.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/detelecine.o /Users/willie/src/HandBrake-source/macosx/../libhb/detelecine.c normal i386 c com.apple.compilers.gcc.4_0
	CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/decomb.o /Users/willie/src/HandBrake-source/macosx/../libhb/decomb.c normal i386 c com.apple.compilers.gcc.4_0
HandBrake:
	Ld /Users/willie/src/HandBrake-source/macosx/../HandBrake.app/Contents/MacOS/HandBrake normal i386
HandBrakeCLI:
	Ld ../HandBrakeCLI normal i386
(19 failures)
Last edited by dynaflash on Wed Feb 18, 2009 5:59 pm, edited 1 time in total.
Reason: please enclose logs in code blocks

TedJ
Veteran User
Posts: 5388
Joined: Wed Feb 20, 2008 11:25 pm

Re: Building Handbrake

Post by TedJ » Tue Feb 17, 2009 10:31 pm

The Development forum is for developer discussion and patch submission ONLY.

Moving to Mac.

willie
Posts: 6
Joined: Tue Feb 17, 2009 10:11 pm

Re: Building Handbrake

Post by willie » Tue Feb 17, 2009 11:12 pm

Sorry for posting in the wrong forum.

I thought compiling HandBrake would fall under developer discussion.
Likewise, I thought the Mac forum was for end users of the Mac version.

belloq
Bright Spark User
Posts: 223
Joined: Sun Oct 12, 2008 5:09 am

Re: Building Handbrake

Post by belloq » Tue Feb 17, 2009 11:52 pm

One thing I know I forgot the first time I tried was to not have yasm built and installed. Once I downloaded the 0.7.2 SVN into RapidShare and compiled yasm, everything went swimmingly. It doesn't look like that was your problem, though. However, the yasm failure text showed up earlier in the build output, so I had to scroll up to find it.

In case that is your issue, here's the thread that helped me with yasm.

jzietman
Regular User
Posts: 146
Joined: Mon Feb 04, 2008 3:29 pm

Re: Building Handbrake

Post by jzietman » Tue Feb 17, 2009 11:58 pm

try rechecking out, running ./configure, then running ./jam. I know it's not how we're supposed to build it, but maybe it'll work. You could then run make afterwards.

jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Building Handbrake

Post by jbrjake » Wed Feb 18, 2009 4:43 pm

Is there some good reason why you chose to provide an extremely incomplete build log that doesn't include *any* of the problem areas, or do you just enjoy posing unanswerable questions?

willie
Posts: 6
Joined: Tue Feb 17, 2009 10:11 pm

Re: Building Handbrake

Post by willie » Wed Feb 18, 2009 9:06 pm

jbrjake: I did not post the full build log because I thought it would be obvious (to current developers) what the problem was given the files that failed to build - "Oh, that is the _____ problem. You need to do this..." kind of thing. I think it was a reasonable assumption given that I followed directions on the website for checking out and building the code. Many forums do not want you posting an entire build log - I kept it short since I do not see a way to attach the log as a file. I don't know why you would assume I enjoy wasting my and others time after one post.

belloq: Thanks for the pointer on yasm. When I went to the wiki page on how to build HandBrake, I clicked on the link to build for Mac which skips over the note about yasm that followed the platform build links. I would suggest that the yasm link be moved above the platform build links so that everyone sees it before jumping to their specific platform. I installed yasm using MacPorts and am still getting the same build errors.

jzietman: Thanks for the pointer on Jam. I built HandBrake like that in the past, back when it was the suggested way. I am going to hold off for the time being and see if my full build log strikes anyone. I think incomplete instructions and/or makefiles aren't helpful to an open source project, and, hopefully, once this gets figured out, documentation can be revised or code can be fixed.

Anyway, here is the full build log. Thanks for the help.
(OH and BTW, the forum won't let me post a full build log. I will try and truncate without raising jbrjake's ire. Sigh. I have cut after the first error as a result of the missing headers. There are more, this should give a better picture.)

Code: Select all


CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/decmpeg2.o /Users/willie/src/HandBrake-source/macosx/../libhb/decmpeg2.c normal i386 c com.apple.compilers.gcc.4_0
    cd /Users/willie/src/HandBrake-source/macosx
    /Developer/usr/bin/gcc-4.0 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -DJOB_GROUPS=1 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.3 -gdwarf-2 -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/hb.hmap -F/Users/willie/src/HandBrake-source/macosx/../libhb -I/Users/willie/src/HandBrake-source/macosx/../libhb/include -I/Users/willie/src/HandBrake-source/macosx/../contrib/include -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/DerivedSources -D__LIBHB__ -DSYS_DARWIN -DUSE_PTHREAD -c /Users/willie/src/HandBrake-source/macosx/../libhb/decmpeg2.c -o /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/decmpeg2.o
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/decmpeg2.c:8:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:5:32: error: libavcodec/avcodec.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:6:34: error: libavformat/avformat.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:7:32: error: libswscale/swscale.h: No such file or directory
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/decmpeg2.c:8:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:10: error: syntax error before '*' token

[...]

CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/encavcodec.o /Users/willie/src/HandBrake-source/macosx/../libhb/encavcodec.c normal i386 c com.apple.compilers.gcc.4_0
    cd /Users/willie/src/HandBrake-source/macosx
    /Developer/usr/bin/gcc-4.0 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -DJOB_GROUPS=1 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.3 -gdwarf-2 -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/hb.hmap -F/Users/willie/src/HandBrake-source/macosx/../libhb -I/Users/willie/src/HandBrake-source/macosx/../libhb/include -I/Users/willie/src/HandBrake-source/macosx/../contrib/include -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/DerivedSources -D__LIBHB__ -DSYS_DARWIN -DUSE_PTHREAD -c /Users/willie/src/HandBrake-source/macosx/../libhb/encavcodec.c -o /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/encavcodec.o
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/encavcodec.c:8:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:5:32: error: libavcodec/avcodec.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:6:34: error: libavformat/avformat.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:7:32: error: libswscale/swscale.h: No such file or directory
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/encavcodec.c:8:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:10: error: syntax error before '*' token

[...]

CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/hb.o /Users/willie/src/HandBrake-source/macosx/../libhb/hb.c normal i386 c com.apple.compilers.gcc.4_0
    cd /Users/willie/src/HandBrake-source/macosx
    /Developer/usr/bin/gcc-4.0 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -DJOB_GROUPS=1 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.3 -gdwarf-2 -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/hb.hmap -F/Users/willie/src/HandBrake-source/macosx/../libhb -I/Users/willie/src/HandBrake-source/macosx/../libhb/include -I/Users/willie/src/HandBrake-source/macosx/../contrib/include -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/DerivedSources -D__LIBHB__ -DSYS_DARWIN -DUSE_PTHREAD -c /Users/willie/src/HandBrake-source/macosx/../libhb/hb.c -o /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/hb.o
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/hb.c:2:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:5:32: error: libavcodec/avcodec.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:6:34: error: libavformat/avformat.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:7:32: error: libswscale/swscale.h: No such file or directory
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/hb.c:2:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:10: error: syntax error before '*' token

[...]

CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/muxavi.o /Users/willie/src/HandBrake-source/macosx/../libhb/muxavi.c normal i386 c com.apple.compilers.gcc.4_0
    cd /Users/willie/src/HandBrake-source/macosx
    /Developer/usr/bin/gcc-4.0 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -DJOB_GROUPS=1 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.3 -gdwarf-2 -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/hb.hmap -F/Users/willie/src/HandBrake-source/macosx/../libhb -I/Users/willie/src/HandBrake-source/macosx/../libhb/include -I/Users/willie/src/HandBrake-source/macosx/../contrib/include -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/DerivedSources -D__LIBHB__ -DSYS_DARWIN -DUSE_PTHREAD -c /Users/willie/src/HandBrake-source/macosx/../libhb/muxavi.c -o /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/muxavi.o
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/muxavi.c:8:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:5:32: error: libavcodec/avcodec.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:6:34: error: libavformat/avformat.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:7:32: error: libswscale/swscale.h: No such file or directory
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/muxavi.c:8:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:10: error: syntax error before '*' token

[...]

CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/muxmp4.o /Users/willie/src/HandBrake-source/macosx/../libhb/muxmp4.c normal i386 c com.apple.compilers.gcc.4_0
    cd /Users/willie/src/HandBrake-source/macosx
    /Developer/usr/bin/gcc-4.0 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -DJOB_GROUPS=1 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.3 -gdwarf-2 -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/hb.hmap -F/Users/willie/src/HandBrake-source/macosx/../libhb -I/Users/willie/src/HandBrake-source/macosx/../libhb/include -I/Users/willie/src/HandBrake-source/macosx/../contrib/include -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/DerivedSources -D__LIBHB__ -DSYS_DARWIN -DUSE_PTHREAD -c /Users/willie/src/HandBrake-source/macosx/../libhb/muxmp4.c -o /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/muxmp4.o
/Users/willie/src/HandBrake-source/macosx/../libhb/muxmp4.c:7:25: error: mp4v2/mp4v2.h: No such file or directory
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/muxmp4.c:8:
/Users/willie/src/HandBrake-source/macosx/../contrib/include/a52dec/a52.h:55: error: syntax error before 'mm_accel'

[...]

CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/render.o /Users/willie/src/HandBrake-source/macosx/../libhb/render.c normal i386 c com.apple.compilers.gcc.4_0
    cd /Users/willie/src/HandBrake-source/macosx
    /Developer/usr/bin/gcc-4.0 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -DJOB_GROUPS=1 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.3 -gdwarf-2 -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/hb.hmap -F/Users/willie/src/HandBrake-source/macosx/../libhb -I/Users/willie/src/HandBrake-source/macosx/../libhb/include -I/Users/willie/src/HandBrake-source/macosx/../contrib/include -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/DerivedSources -D__LIBHB__ -DSYS_DARWIN -DUSE_PTHREAD -c /Users/willie/src/HandBrake-source/macosx/../libhb/render.c -o /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/render.o
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/render.c:8:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:5:32: error: libavcodec/avcodec.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:6:34: error: libavformat/avformat.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:7:32: error: libswscale/swscale.h: No such file or directory
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/render.c:8:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:10: error: syntax error before '*' token

[...]

CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/sync.o /Users/willie/src/HandBrake-source/macosx/../libhb/sync.c normal i386 c com.apple.compilers.gcc.4_0
    cd /Users/willie/src/HandBrake-source/macosx
    /Developer/usr/bin/gcc-4.0 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -DJOB_GROUPS=1 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.3 -gdwarf-2 -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/hb.hmap -F/Users/willie/src/HandBrake-source/macosx/../libhb -I/Users/willie/src/HandBrake-source/macosx/../libhb/include -I/Users/willie/src/HandBrake-source/macosx/../contrib/include -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/DerivedSources -D__LIBHB__ -DSYS_DARWIN -DUSE_PTHREAD -c /Users/willie/src/HandBrake-source/macosx/../libhb/sync.c -o /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/sync.o
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/sync.c:8:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:5:32: error: libavcodec/avcodec.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:6:34: error: libavformat/avformat.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:7:32: error: libswscale/swscale.h: No such file or directory
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/sync.c:8:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:10: error: syntax error before '*' token

[...]

CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/work.o /Users/willie/src/HandBrake-source/macosx/../libhb/work.c normal i386 c com.apple.compilers.gcc.4_0
    cd /Users/willie/src/HandBrake-source/macosx
    /Developer/usr/bin/gcc-4.0 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -DJOB_GROUPS=1 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.3 -gdwarf-2 -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/hb.hmap -F/Users/willie/src/HandBrake-source/macosx/../libhb -I/Users/willie/src/HandBrake-source/macosx/../libhb/include -I/Users/willie/src/HandBrake-source/macosx/../contrib/include -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/DerivedSources -D__LIBHB__ -DSYS_DARWIN -DUSE_PTHREAD -c /Users/willie/src/HandBrake-source/macosx/../libhb/work.c -o /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/work.o
/Users/willie/src/HandBrake-source/macosx/../libhb/work.c:10:34: error: libavformat/avformat.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/work.c: In function 'do_job':
/Users/willie/src/HandBrake-source/macosx/../libhb/work.c:525: error: 'MAX_STREAMS' undeclared (first use in this function)

[...]

CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/deca52.o /Users/willie/src/HandBrake-source/macosx/../libhb/deca52.c normal i386 c com.apple.compilers.gcc.4_0
    cd /Users/willie/src/HandBrake-source/macosx
    /Developer/usr/bin/gcc-4.0 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -DJOB_GROUPS=1 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.3 -gdwarf-2 -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/hb.hmap -F/Users/willie/src/HandBrake-source/macosx/../libhb -I/Users/willie/src/HandBrake-source/macosx/../libhb/include -I/Users/willie/src/HandBrake-source/macosx/../contrib/include -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/DerivedSources -D__LIBHB__ -DSYS_DARWIN -DUSE_PTHREAD -c /Users/willie/src/HandBrake-source/macosx/../libhb/deca52.c -o /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/deca52.o
/Users/willie/src/HandBrake-source/macosx/../libhb/deca52.c:10:27: error: libavutil/crc.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/deca52.c:33: warning: no semicolon at end of struct or union
/Users/willie/src/HandBrake-source/macosx/../libhb/deca52.c:33: error: syntax error before '*' token

[...]

CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/decavcodec.o /Users/willie/src/HandBrake-source/macosx/../libhb/decavcodec.c normal i386 c com.apple.compilers.gcc.4_0
    cd /Users/willie/src/HandBrake-source/macosx
    /Developer/usr/bin/gcc-4.0 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -DJOB_GROUPS=1 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.3 -gdwarf-2 -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/hb.hmap -F/Users/willie/src/HandBrake-source/macosx/../libhb -I/Users/willie/src/HandBrake-source/macosx/../libhb/include -I/Users/willie/src/HandBrake-source/macosx/../contrib/include -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/DerivedSources -D__LIBHB__ -DSYS_DARWIN -DUSE_PTHREAD -c /Users/willie/src/HandBrake-source/macosx/../libhb/decavcodec.c -o /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/decavcodec.o
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/decavcodec.c:63:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:5:32: error: libavcodec/avcodec.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:6:34: error: libavformat/avformat.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:7:32: error: libswscale/swscale.h: No such file or directory
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/decavcodec.c:63:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:10: error: syntax error before '*' token


jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Building Handbrake

Post by jbrjake » Thu Feb 19, 2009 5:02 pm

Come on. That's still not a complete build log. Complete logs don't start in the middle. You're obviously messing things up way before that if there's a contrib header missing.

willie
Posts: 6
Joined: Tue Feb 17, 2009 10:11 pm

Re: Building Handbrake

Post by willie » Thu Feb 19, 2009 5:26 pm

jbrjake: Did you not read my note? I can't post a complete build log - the forum software will not let me - it is too big. Here is the log to the first build, including an svn up.

Code: Select all


Simple:HandBrake-source willie$ svn up
At revision 2166.
Simple:HandBrake-source willie$ make
(cd macosx ; xcodebuild -alltargets -configuration UB clean | sed '/^$/d' ; rm -f libhb/hbversion.h ; rm -f contrib/config.cache )
=== CLEANING NATIVE TARGET libhb OF PROJECT HandBrake WITH CONFIGURATION UB ===
Checking Dependencies...
Clean.Remove clean /Users/willie/src/HandBrake-source/macosx/../libhb/libhb.a
    /bin/rm -rf /Users/willie/src/HandBrake-source/macosx/../libhb/libhb.a
Clean.Remove clean /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/UB/libhb.build
    /bin/rm -rf /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/UB/libhb.build
=== CLEANING NATIVE TARGET HandBrake OF PROJECT HandBrake WITH CONFIGURATION UB ===
Checking Dependencies...
Clean.Remove clean /Users/willie/src/HandBrake-source/macosx/../HandBrake.app
    /bin/rm -rf /Users/willie/src/HandBrake-source/macosx/../HandBrake.app
Clean.Remove clean /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/UB/HandBrake.build
    /bin/rm -rf /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/UB/HandBrake.build
=== CLEANING NATIVE TARGET HandBrakeCLI OF PROJECT HandBrake WITH CONFIGURATION UB ===
Checking Dependencies...
Clean.Remove clean /Users/willie/src/HandBrake-source/macosx/../HandBrakeCLI
    /bin/rm -rf /Users/willie/src/HandBrake-source/macosx/../HandBrakeCLI
Clean.Remove clean /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/UB/HandBrakeCLI.build
    /bin/rm -rf /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/UB/HandBrakeCLI.build
=== CLEANING NATIVE TARGET libhb dlib OF PROJECT HandBrake WITH CONFIGURATION UB ===
Checking Dependencies...
Clean.Remove clean /Users/willie/src/HandBrake-source/macosx/../libhb/libhb.dylib
    /bin/rm -rf /Users/willie/src/HandBrake-source/macosx/../libhb/libhb.dylib
Clean.Remove clean "/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/UB/libhb dlib.build"
    /bin/rm -rf "/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/UB/libhb dlib.build"
** CLEAN SUCCEEDED **
echo "#ifndef HB_BUILD" > libhb/hbversion.h
echo "#define HB_BUILD 2009021901" >> libhb/hbversion.h
echo "#endif" >> libhb/hbversion.h
echo "#ifndef HB_VERSION" >> libhb/hbversion.h
echo "#define HB_VERSION \"svn2166\"" >> libhb/hbversion.h
echo "#endif" >> libhb/hbversion.h
echo "#ifndef HB_APPCAST_URL" >> libhb/hbversion.h
echo "#define APPCAST_URL \"http://handbrake.fr/appcast_unstable.xml\"" >> libhb/hbversion.h
echo "#endif" >> libhb/hbversion.h
( cd .. ; ./configure ; cd contrib ; cp -f ../config.jam . ; ../jam )

System: Darwin
Endian: little

Don't run configure by hand, make runs it automatically.

No, really. That's it. Just type 'make' and hit return.

You're supposed to be building with make, not jam.
If you were going to use jam--which you shouldn't--you'd run:
 './jam' on a Mac, or
 'jam' on Linux or Windows

To make jam, boil fruit with sugar and an acid until pectins are released.

...found 59 target(s)...
( cd macosx ; xcodebuild -target libhb -target HandBrake -target HandBrakeCLI -configuration Deployment HB_BUILD="2009021901" HB_VERSION="svn2166" CURRENT_PROJECT_VERSION="svn2166" APPCAST_URL="http://handbrake.fr/appcast_unstable.xml" build | sed '/^$/d' )
=== BUILDING NATIVE TARGET libhb OF PROJECT HandBrake WITH CONFIGURATION Deployment ===
Checking Dependencies...
CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/declpcm.o /Users/willie/src/HandBrake-source/macosx/../libhb/declpcm.c normal i386 c com.apple.compilers.gcc.4_0
    cd /Users/willie/src/HandBrake-source/macosx
    /Developer/usr/bin/gcc-4.0 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -DJOB_GROUPS=1 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.3 -gdwarf-2 -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/hb.hmap -F/Users/willie/src/HandBrake-source/macosx/../libhb -I/Users/willie/src/HandBrake-source/macosx/../libhb/include -I/Users/willie/src/HandBrake-source/macosx/../contrib/include -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/DerivedSources -D__LIBHB__ -DSYS_DARWIN -DUSE_PTHREAD -c /Users/willie/src/HandBrake-source/macosx/../libhb/declpcm.c -o /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/declpcm.o
CompileC build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/decmpeg2.o /Users/willie/src/HandBrake-source/macosx/../libhb/decmpeg2.c normal i386 c com.apple.compilers.gcc.4_0
    cd /Users/willie/src/HandBrake-source/macosx
    /Developer/usr/bin/gcc-4.0 -x c -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -DJOB_GROUPS=1 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.3 -gdwarf-2 -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/hb.hmap -F/Users/willie/src/HandBrake-source/macosx/../libhb -I/Users/willie/src/HandBrake-source/macosx/../libhb/include -I/Users/willie/src/HandBrake-source/macosx/../contrib/include -I/Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/DerivedSources -D__LIBHB__ -DSYS_DARWIN -DUSE_PTHREAD -c /Users/willie/src/HandBrake-source/macosx/../libhb/decmpeg2.c -o /Users/willie/src/HandBrake-source/macosx/build/HandBrake.build/Deployment/libhb.build/Objects-normal/i386/decmpeg2.o
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/decmpeg2.c:8:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:5:32: error: libavcodec/avcodec.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:6:34: error: libavformat/avformat.h: No such file or directory
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:7:32: error: libswscale/swscale.h: No such file or directory
In file included from /Users/willie/src/HandBrake-source/macosx/../libhb/decmpeg2.c:8:
/Users/willie/src/HandBrake-source/macosx/../libhb/hbffmpeg.h:10: error: syntax error before ‘*’ token


User avatar
s55
HandBrake Team
Posts: 9575
Joined: Sun Dec 24, 2006 1:05 pm

Re: Building Handbrake

Post by s55 » Thu Feb 19, 2009 6:32 pm

handbrake.fr/pastebin can be used for posting build logs. Just post the URL it generates for you.

willie
Posts: 6
Joined: Tue Feb 17, 2009 10:11 pm

Re: Building Handbrake

Post by willie » Thu Feb 19, 2009 9:42 pm

s55: The pastebin link is useful, thank you. I will remember that for the future.

I went ahead did a new svn check out to a new directory. I did a make and Handbrake built successfully this time.

Looking back at the differences between the two directories (as I did not make any changes myself), I see that contrib/ffmpeg/config.h has different values for ENABLE_YASM and ENABLE_FFT_MMX. The old, failing build I originally tried to build without YASM (I didn't see the note about requiring YASM is noted after the link to the OS X build instructions). After installing YASM, the config didn't update in response to a make. I don't know how to force a rebuild of that file.

In addition, the old failing build is missing a number of files in contrib/include. I can't quite pin down what tool should have moved them from their respective paths, but they do not exist on an initial svn co and, as you all know, get pulled down during a make. Again, what exact step failed - failed to copy the headers from the respective contrib folder to contribs/includes - I don't know.

So, the short of it is this: Install YASM first. Then do a checkout. Then do a make. If you mix up the steps, delete the checkout and start over.

(I will keep the old failed build directory around if anyone wants me to try anything out to repair it to build properly as an exercise in tracking down what went wrong.)

Thanks for the help.

jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Building Handbrake

Post by jbrjake » Fri Feb 20, 2009 4:39 pm

willie wrote:jbrjake: Did you not read my note?
I read the note. You said you "cut off after the first error"...which is not correct. You cut off *before* the first error.
Here is the log to the first build, including an svn up.
That's not a first build. A first build would not include an svn up. It would include an svn co.
willie wrote:The old, failing build I originally tried to build without YASM
See, if you'd just provided the complete log of the build, you could have had an answer right away...
(I didn't see the note about requiring YASM is noted after the link to the OS X build instructions)
You mean the one that's in big bold letters and is also featured in the FAQ as the answer to "Why can't I build HandBrake?" And people wonder why I laugh when they tell me to add things to the FAQ....

willie
Posts: 6
Joined: Tue Feb 17, 2009 10:11 pm

Re: Building Handbrake

Post by willie » Fri Feb 20, 2009 6:13 pm

jbrjake: Technically speaking, we were both correct. I did cut off after the first error. You are also correct in that I cut off before the first error as well. I was trying to narrow it down. As it was, I couldn't include a complete log of the build in my post as I did not know about the pastebin (thanks s55).

My point in including the svn up was to show you that I "wasn't messing things up" (your words) with that checkout. If you can't do an svn up without any local changes and you still can't build something, you have a complicated build system IMHO.

You completely miss my point about requiring YASM. Even if you go to the FAQ post checkout and build and realize you need YASM, your build is screwed (at least mine was). Either way, my suggestion is to change this page: http://trac.handbrake.fr/wiki/CompileGuide and put the note about requiring YASM at the top of the page *before* the platform build links or include it in each set of build instructions. As it is, someone goes to that page for the first time, reads "Compiling at the command line", clicks the link and completely skips the note about YASM listed in between.

belloq
Bright Spark User
Posts: 223
Joined: Sun Oct 12, 2008 5:09 am

Re: Building Handbrake

Post by belloq » Fri Feb 20, 2009 9:15 pm

jbrjake wrote:You mean the one that's in big bold letters and is also featured in the FAQ as the answer to "Why can't I build HandBrake?" And people wonder why I laugh when they tell me to add things to the FAQ....
Jake, my $.02: The confusion on that page, in my opinion, the first thing one reads under the first heading is "Compiling inMac OS X." Clicking on that link brings you to a bookmark on the page which has no mention of yasm on it. Yes, it is there, but is above where the Mac OSX bookmark brings you on the page. One has to scroll back up the page to see it. The interface is unclear because if I want to build on Mac OS X, the first thing I read is a link to that, so I am going to click on it. And I am pretty sure a lot of people do that.

Now, I make part of my living doing UI consultation work, so I don't feel a suggestion for readability is entirely uncalled for. I suggest that the yasm big bold notice be moved ABOVE all the build links. In fact, all the text:

Please don't ask for support on this process, and please refrain from asking for help using features or complaining about bugs in unreleased versions.

Remember, x264 needs yasm in order to compile on x86 boxes.


probably belongs directly above the header as the text therein pertains to the entirety of the rest of that "Compiling Handbrake" section. This alone could reduce the number of queries in the forums as to "what went wrong" and it turns out to be yasm missing. And wouldn't that make you happier? To be able to reduce the number of sarcastic and demeaning forum posts you need to make?

jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Building Handbrake

Post by jbrjake » Sat Feb 21, 2009 4:16 pm

It's an unsupported process in the first place. Anyone who comes here asking for support on a process, when we tell them up front they get no support -- and their issue is in fact one we've already addressed many times in many places -- gets what they deserve.

The sort of person who refuses to read a preface/intro section before clicking an anchor link is the sort of person who shouldn't be compiling to begin with. Moving the text isn't going to change a damn thing, anymore than putting it in the FAQ did, anymore than discussing it on the forum did, anymore than x264 telling you exactly what the problem is when it fails to build did. What would make me happy is if the users learned how to read and find answers for themselves instead of expecting volunteer developers to do all their work for them.

We're done here.

Locking.

Locked