New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 609726 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Cannot disable PDF with gn flag

Project Member Reported by michae...@chromium.org, May 6 2016

Issue description

With args.gn:

is_component_build = true
is_debug = false
enable_pdf = false

building on Linux errors with:

obj/chrome/utility/libutility.a(printing_handler.o):../../chrome/utility/printing_handler.cc:function printing::PrintingHandler::RenderPDFPagesToPWGRaster(base::File, printing::PdfRenderSettings const&, printing::PwgRasterSettings const&, base::File): error: undefined reference to 'chrome_pdf::RenderPDFPageToBitmap(void const*, int, int, void*, int, int, int, bool)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)


Full command and error:

ninja: Entering directory `out_linux/Release'
[23304/23885] LINK ./chrome
FAILED: chrome
../../third_party/llvm-build/Release+Asserts/bin/clang++ -pie -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -B../../third_party/binutils/Linux_x64/Release/bin -fuse-ld=gold -Wl,--icf=all -pthread -m64 -Wl,-O1 -Wl,--gc-sections -Wl,--as-needed --sysroot=../../build/linux/debian_wheezy_amd64-sysroot  -Wl,-rpath-link=../Release -Wl,--disable-new-dtags -Wl,-rpath=\$ORIGIN/. -Wl,-rpath-link=. -Wl,--export-dynamic -o "./chrome" -Wl,--start-group @"./chrome.rsp" ./libprotobuf_lite.so ./libbase.so ./libbase_i18n.so ./libicui18n.so ./libicuuc.so ./liburl.so ./libnet.so ./libcrcrypto.so ./libboringssl.so ./libskia.so ./libui_base.so ./libevents_base.so ./libplatform.so ./libgeometry.so ./libkeycodes_x11.so ./libgfx.so ./librange.so ./libui_base_x.so ./libnative_theme.so ./libkeyed_service_core.so ./libprefs.so ./libwebdata_common.so ./libsql.so ./libsync.so ./libprotocol.so ./libcloud_policy_proto_generated_compile.so ./libpolicy_component.so ./libproto.so ./libcontent.so ./libgpu.so ./libgles2_utils.so ./libgl_wrapper.so ./libipc.so ./libaccessibility.so ./liburl_ipc.so ./libmedia.so ./libshared_memory_support.so ./libui_data_pack.so ./libcommon.so ./libgin.so ./libv8.so ./libgfx_ipc.so ./libgfx_ipc_geometry.so ./libgfx_ipc_skia.so ./libmessage_center.so ./libppapi_shared.so ./libblink_common.so ./libdevice_event_log.so ./libdevice_core.so ./liburl_matcher.so ./libbluetooth.so ./libkeyboard_with_content.so ./libprinting.so ./libkeyed_service_content.so ./libsessions.so ./libdisplay.so ./libonc.so ./libdbus.so ./libgcm.so ./libstorage_browser.so ./libstorage_common.so ./libui_base_ime.so ./libkeyboard.so ./libviews.so ./libcompositor.so ./libevents.so ./libx11_events_platform.so ./libdevices.so ./libevents_devices_x11.so ./libevents_x.so ./libgfx_x11.so ./libwebview.so ./libaura.so ./libchromium_sqlite3.so ./libdomain_reliability.so ./libuser_prefs.so ./libmojo_common_lib.so ./libblink_platform.so ./libcc.so ./libgles2_c_lib.so ./libwtf.so ./libblink_web.so ./libmojo_system_impl.so ./libproxy_config.so ./libgesture_detection.so ./libshell_dialogs.so ./libsnapshot.so ./libbrowser_ui_views.so ./libnet_with_v8.so ./libsurface.so ./libweb_dialogs.so ./libppapi_proxy.so ./libgtk2ui.so ./libwm.so ./libapp_list.so ./libcaptive_portal.so ./libstartup_tracing.so ./libmidi.so ./libcc_surfaces.so ./libmus_common.so ./libmojo_geometry_lib.so ./libinput_events.so ./libmojo_surfaces_lib.so ./libmojo_transform_lib.so ./libmojo_gles2_impl.so ./libui_views_mus_lib.so ./libppapi_host.so -Wl,--end-group  -ldl -lrt -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 -lX11 -lXcomposite -lXcursor -lXdamage -lXext -lXfixes -lXi -lXrender -lXtst -lgmodule-2.0 -lgthread-2.0 -lnss3 -lnssutil3 -lsmime3 -lplds4 -lplc4 -lnspr4 -lcups -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lgcrypt -lz -lpthread -lcrypt -lm -ldbus-1 -lexpat -lfontconfig -lgio-2.0 -lgconf-2 -lresolv
obj/chrome/utility/libutility.a(printing_handler.o):../../chrome/utility/printing_handler.cc:function printing::PrintingHandler::RenderPDFPagesToPWGRaster(base::File, printing::PdfRenderSettings const&, printing::PwgRasterSettings const&, base::File): error: undefined reference to 'chrome_pdf::GetPDFDocInfo(void const*, int, int*, double*)'
obj/chrome/utility/libutility.a(printing_handler.o):../../chrome/utility/printing_handler.cc:function printing::PrintingHandler::RenderPDFPagesToPWGRaster(base::File, printing::PdfRenderSettings const&, printing::PwgRasterSettings const&, base::File): error: undefined reference to 'chrome_pdf::RenderPDFPageToBitmap(void const*, int, int, void*, int, int, int, bool)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)



 

Comment 1 by weili@chromium.org, May 6 2016

Owner: weili@chromium.org
Status: Started (was: Untriaged)
To clarify, right now print_preview relies on pdf plugin to function correctly. It is not recommended to disable pdf alone. Nevertheless, I am working on a fix for the compilation issue.
Not sure why you are trying to disable just the PDF viewer, but it is definitely tied to print previewm so you have to disable that as well. I'm not sure if we care about this build configuration.

Comment 3 by weili@chromium.org, May 18 2016

I agree, @thestig is right, we don't care about this build config. With GN's better dependency tracking, we can make this more explicit.  
I talked to michaelpg@ - we are not putting together a build configuration that supports printing sans pdf. So we just need better documentation.
Project Member

Comment 5 by bugdroid1@chromium.org, May 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5addafe27695c6caf4f6d1b757b4cef54b6b598b

commit 5addafe27695c6caf4f6d1b757b4cef54b6b598b
Author: weili <weili@chromium.org>
Date: Tue May 24 02:46:23 2016

Make the dependency of enable_print_preview and enable_pdf explicit

Print preview needs pdf module enabled to function. Also, the
utility component depends on pdf module only when print_preview is
enabled implicitly (on Windows only) or explicitly. Make the gn build
file changes to reflect these dependencies.

BUG= 609726 

Review-Url: https://codereview.chromium.org/1994713002
Cr-Commit-Position: refs/heads/master@{#395519}

[modify] https://crrev.com/5addafe27695c6caf4f6d1b757b4cef54b6b598b/build/config/BUILD.gn
[modify] https://crrev.com/5addafe27695c6caf4f6d1b757b4cef54b6b598b/chrome/utility/BUILD.gn
[modify] https://crrev.com/5addafe27695c6caf4f6d1b757b4cef54b6b598b/chrome/utility/chrome_content_utility_client.cc
[modify] https://crrev.com/5addafe27695c6caf4f6d1b757b4cef54b6b598b/chrome/utility/printing_handler.h

Comment 6 by weili@chromium.org, May 24 2016

Status: Fixed (was: Started)

Sign in to add a comment