Closed Bug 1153849 Opened 5 years ago Closed 4 years ago

Make it possible to build MJPEG support of libyuv with system jpeg

Categories

(Firefox Build System :: General, defect)

40 Branch
defect
Not set

Tracking

(firefox38 affected, firefox39 affected, firefox40 affected, firefox46 fixed)

RESOLVED FIXED
mozilla46
Tracking Status
firefox38 --- affected
firefox39 --- affected
firefox40 --- affected
firefox46 --- fixed

People

(Reporter: hectorz, Unassigned)

References

Details

Attachments

(1 file)

Since landing of bug 1151628, building Fx with "ac_add_options --with-system-jpeg" will fail with:

 0:51.43 In file included from .../objdir/media/libyuv/libyuv_libyuv/Unified_cpp_media_libyuv0.cpp:101:
 0:51.43 .../media/libyuv/source/mjpeg_decoder.cc:28:10: fatal error: 'jpeglib.h' file not found
 0:51.43 #include <jpeglib.h>
 0:51.43          ^
 0:51.52 1 error generated.
 0:51.52 
 ...
 0:51.53 make[5]: *** [Unified_cpp_media_libyuv0.o] Error 1
 0:51.53 make[5]: *** Waiting for unfinished jobs....
 0:53.34 make[4]: *** [media/libyuv/libyuv_libyuv/target] Error 2
 0:53.34 make[4]: *** Waiting for unfinished jobs....
 0:53.37 make[3]: *** [compile] Error 2
 0:53.37 make[2]: *** [default] Error 2
 0:53.37 make[1]: *** [realbuild] Error 2
 0:53.37 make: *** [build] Error 2
Hector: what platform, and what version of jpeg-turbo is installed?

If it's linux, can you do "locate jpeglib.h"?  Also dump the full compile line with -I's (may need -v added to ./mach build).

It works on my Fedora 21 system, with libjpeg-turbo.x86_64 1.3.1-5.fc21 (it finds /usr/include/jpeglib.h)

I also note that configure.in checks a compile with #include <jpeglib.h>
Flags: needinfo?(bzhao)
(In reply to Randell Jesup [:jesup] from comment #1)
> Hector: what platform, and what version of jpeg-turbo is installed?
osx with jpeg-turbo 1.4.0
> 
> If it's linux, can you do "locate jpeglib.h"?  Also dump the full compile
> line with -I's (may need -v added to ./mach build).
jpeg-turbo is installed at /usr/local/opt/jpeg-turbo/* by homebrew, and I'll update the "-I" line later.
> 
> It works on my Fedora 21 system, with libjpeg-turbo.x86_64 1.3.1-5.fc21 (it
> finds /usr/include/jpeglib.h)
> 
> I also note that configure.in checks a compile with #include <jpeglib.h>
Sorry for the oversimplification here, I'm actually using "ac_add_options --with-system-jpeg=/usr/local/opt/jpeg-turbo", which will set MOZ_JPEG_CFLAGS="-I/usr/local/opt/jpeg-turbo/include" and MOZ_JPEG_LIBS="-L/usr/local/opt/jpeg-turbo/lib -ljpeg", so the configure check will pass.

Thanks for your investigation!
Flags: needinfo?(bzhao)
(In reply to Hector Zhao [:hectorz] from comment #2)
> > If it's linux, can you do "locate jpeglib.h"?  Also dump the full compile
> > line with -I's (may need -v added to ./mach build).
> jpeg-turbo is installed at /usr/local/opt/jpeg-turbo/* by homebrew, and I'll
> update the "-I" line later.
/usr/local/bin/ccache /usr/bin/clang++ -o Unified_cpp_media_libyuv0.o -c -fvisibility=hidden -DCHROMIUM_BUILD -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DENABLE_GPU=1 -DENABLE_EGLIMAGE=1 -DUSE_SKIA=1 -DENABLE_TASK_MANAGER=1 -DENABLE_WEB_INTENTS=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PROTECTOR_SERVICE=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_BACKGROUND=1 -DENABLE_AUTOMATION=1 -DENABLE_PRINTING=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DHAVE_JPEG -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -I/Users/hectorz/Repos/gecko-dev/media/libyuv -I. -I/Users/hectorz/Repos/gecko-dev/obj-x86_64-apple-darwin14.3.0/ipc/ipdl/_ipdlheaders -I/Users/hectorz/Repos/gecko-dev/media/libyuv/include -I/Users/hectorz/Repos/gecko-dev/media/libyuv/. -I/Users/hectorz/Repos/gecko-dev/ipc/chromium/src -I/Users/hectorz/Repos/gecko-dev/ipc/glue -I../../../dist/include -fPIC -Qunused-arguments -DMOZILLA_CLIENT -include ../../../mozilla-config.h -MD -MP -MF .deps/Unified_cpp_media_libyuv0.o.pp -Qunused-arguments -Qunused-arguments -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wno-inline-new-delete -Wno-c++0x-extensions -Wno-extended-offsetof -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNO_X11 -pipe -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer /Users/hectorz/Repos/gecko-dev/obj-x86_64-apple-darwin14.3.0/media/libyuv/libyuv_libyuv/Unified_cpp_media_libyuv0.cpp
Once this lands, we will want to uplift this to 39 and possibly 38 along with bug 1151628.
Randall, were you able to reproduce this? Now that I look back at this bug, it may have been a regression caused by bug 1151628. Do you think that's the case?
Flags: needinfo?(rjesup)
Never mind, looks like this was tracked by mistake; see https://bugzilla.mozilla.org/show_bug.cgi?id=1151628#c8.
Flags: needinfo?(rjesup)
Attachment #8710465 - Flags: review?(mh+mozilla) → review?(rjesup)
Comment on attachment 8710465 [details]
MozReview Request: Bug 1153849 - Use MOZ_JPEG_CFLAGS when build libyuv with system jpeg. r?glandium

https://reviewboard.mozilla.org/r/31779/#review28813
Attachment #8710465 - Flags: review?(rjesup) → review+
https://treeherder.mozilla.org/#/jobs?repo=try&revision=97b959182c90

Note to sheriff: I wrote "r?glandium" in the commit message but this was actually given r+ by :jesup.
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/221b4255e3e8
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.