New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 10 users
Status: Fixed
Owner: ----
Closed: Feb 2013
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue 8606



Sign in to add a comment
Win64 linker errors in nacl target
Project Member Reported by jsc...@chromium.org, Feb 9 2013 Back to list
Command line is: ninja -C out\Debug_x64 nacl
gyp settings:
GYP_DEFINES=component=shared_library target_arch=x64
GYP_GENERATORS=ninja
GYP_MSVS_VERSION=2010

I'm getting a spew of __imp_* symbol not found errors, where * is a Windows API function. I haven't dug into it at all, but I figured I'd cast a wider net to see if there's an easy answer.

 
Blocking: chromium:8606
Comment 2 by jsc...@chromium.org, Feb 14 2013
Labels: Feature-Plugins-Pepper
I had a chance to take abother look and the offending target is actually ppGoogleNaClPluginChrome. I've attached the build log I get running: ninja -vC out\Debug_x64 ppGoogleNaClPluginChrome

My only guess here is that we're passing the wrong lib type (ia32 vs. x64) or something along those lines in one of the build files.
fail_log.txt
20.7 KB View Download
Comment 3 by jsc...@chromium.org, Feb 14 2013
Cc: bbudge@chromium.org
Randomly adding @bbudge from the pepper team since this seems to be specific to the NaCl plugin.
Comment 4 by jsc...@chromium.org, Feb 14 2013
Cc: raymes@chromium.org
Comment 5 by raymes@chromium.org, Feb 14 2013
Justin actually intended to build with:

GYP_DEFINES=target_arch=x64

building with GYP_DEFINES=component=shared_library actually works fine.
Comment 6 by raymes@chromium.org, Feb 14 2013
I can't reproduce the issue with either a shared or static library build. I could be missing something though...
Comment 7 by jsc...@chromium.org, Feb 16 2013
Okay, my guess is that I'm the only one with a src-internal checkout, meaning I have platform SDK files under third-party. Since you don't have those directories present, your x64 build doesn't get its dependencies squashed by the ia32 AdditionalLibraryDirectories in native_client/build/common.gypi. If I remove those AdditionalLibraryDirectories entries, my build gets past the linking errors.

So, can I just remove those entries from common.gypi and rely on config.gypi to pick up the right ones for a NaCl standalone build? Because Chrome's common.gypi does the right architecture switch (if the settings don't get squashed).
Comment 8 by jsc...@chromium.org, Feb 22 2013
Status: Fixed
NaCl rolled forward and this is fixed. Only one build error left in NaCl for all targets.
Project Member Comment 9 by bugdroid1@chromium.org, Mar 10 2013
Labels: -Area-Internals -Feature-NaCl -Feature-Plugins-Pepper Cr-Platform-NaCl Cr-Internals Cr-Content-Plugins-Pepper
Project Member Comment 10 by bugdroid1@chromium.org, Apr 5 2013
Labels: Cr-Blink
Project Member Comment 11 by bugdroid1@chromium.org, Apr 6 2013
Labels: Cr-Internals-Plugins
Project Member Comment 12 by bugdroid1@chromium.org, Apr 6 2013
Labels: -Cr-Content-Plugins-Pepper Cr-Internals-Plugins-Pepper
Sign in to add a comment