Unable to build with "Getting started" steps
Closed this issue · 8 comments
GoogleCodeExporter commented
System:
1. Window7 64 Bit
2. VS 2013 Update 4
What steps will reproduce the problem?
According to
https://code.google.com/p/libyuv/wiki/GettingStarted
1. Download and install depot_tools following steps in
https://sites.google.com/a/chromium.org/dev/developers/how-tos/install-depot-too
ls
2. Start cmd prompt with admin rights. Create folder libyuv (e.g.
c:\vs\libs\libyuv)
3. Run gclient config http://libyuv.googlecode.com/svn/trunk
4. Run gclient sync
5. set GYP_DEFINES=target_arch=ia32
6. Run "call python gyp_libyuv -fninja -G msvs_version=2013 --depth=.
libyuv_test.gyp" or "call python gyp_libyuv -fninja -G msvs_version=2013
--depth=. libyuv.gyp"
Output ->
C:\VS\Libs\libyuv\trunk>call python gyp_libyuv -fninja -G msvs_version=2013
--depth=.
libyuv_test.gyp
Traceback (most recent call last):
File "gyp_libyuv", line 23, in <module>
import gyp_chromium
ImportError: No module named gyp_chromium
The python script gyp_libyuv tries to find the module gyp_chromium
in folder "<checkout_root>\build" ->
sys.path.insert(0, os.path.join(checkout_root, 'build'))
But this module is lokated in folder
"<checkout_root>\chromium\src\build"
7.
After inserting this line in to script:
sys.path.insert(0, os.path.join(checkout_root, 'chromium', 'src', 'build'))
the gyp_chromium module was found but another error popped out:
C:\VS\Libs\libyuv\trunk>call python gyp_libyuv -fninja -G msvs_version=2013 --de
pth=. libyuv_test.gyp
Please follow the instructions at http://www.chromium.org/developers/how-tos/bui
ld-instructions-windows
Traceback (most recent call last):
File "gyp_libyuv", line 65, in <module>
vs2013_runtime_dll_dirs = vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs()
File "C:\VS\Libs\libyuv\trunk\chromium\src\build\vs_toolchain.py", line 34, in
SetEnvironmentAndGetRuntimeDllDirs
Update()
File "C:\VS\Libs\libyuv\trunk\chromium\src\build\vs_toolchain.py", line 177, i
n Update
subprocess.check_call(get_toolchain_args)
File "C:\VS\Libs\depot_tools\python276_bin\lib\subprocess.py", line 540, in ch
eck_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['C:\\VS\\Libs\\depot_tools\\python276_b
in\\python.exe', 'C:\\VS\\Libs\\depot_tools\\win_toolchain\\get_toolchain_if_nec
essary.py', '--output-json', 'C:\\VS\\Libs\\libyuv\\trunk\\chromium\\src\\build\
\win_toolchain.json', 'ee7d718ec60c2dc5d255bbe325909c2021a7efef']' returned non-
zero exit status 1
9. set DEPOT_TOOLS_WIN_TOOLCHAIN=0
10. Rerun call python gyp_libyuv -fninja -G msvs_version=2013 --depth=.
libyuv_test.gyp
No error any more
Original issue reported on code.google.com by wvogel1...@gmail.com
on 19 May 2015 at 9:10
GoogleCodeExporter commented
I've seen that before, but it usually happens once... something to do with the
initial gclient sync
I suspect the gclient sync, which calls gclient runhooks, expects set
GYP_DEFINES=target_arch=ia32 to be set before the gclient sync?
9. set DEPOT_TOOLS_WIN_TOOLCHAIN=0
will use your installed version of Visual Studio.
Original comment by fbarch...@google.com
on 19 May 2015 at 11:16
GoogleCodeExporter commented
My first attempt to reproduce the issue built successfully? I followed your
steps of creating 1 - 6. I'll try again with no environment variables at all.
On step 4 - gclient sync
did it complete successfully?
from trunk folder, try doing it a second time and/or call gclient runhooks
and see if it does anything.
Original comment by fbarch...@chromium.org
on 20 May 2015 at 5:41
GoogleCodeExporter commented
With a regular command prompt, you will get an error for gclient sync
On Windows, you now need to have administrator privileges for the shell running
trunk/setup_links.py (or `gclient sync|runhooks`).
Please start another command prompt as Administrator and try again.
Error: Command c:\bin\depot_tools\python276_bin\python.exe trunk/setup_links.py
returned non-zero exit status 1 in C:\vs\libs\libyuv
If you ignore that, the next step will fail with
C:\vs\libs\libyuv\trunk>if not exist out\Release\build.ninja timex call python
gyp_libyuv -fninja -Gconfig=Release -Gmsvs_version=2013 libyuv_test.gyp
Traceback (most recent call last):
File "gyp_libyuv", line 22, in <module>
import gyp_chromium
ImportError: No module named gyp_chromium
TIMEX 308.00 ms, call python gyp_libyuv -fninja -Gconfig=Release
-Gmsvs_version=2013 libyuv_test.gyp, returncode 1
Is that the issue? Open your command prompt with right click -> Run as
administer.
Once you have the initial gclient sync, you should be able to build with a
regular shell.
Original comment by fbarch...@chromium.org
on 20 May 2015 at 10:51
GoogleCodeExporter commented
No. Everything I've done with the command prompt I made with admin rights
Original comment by wvogel1...@gmail.com
on 21 May 2015 at 7:29
GoogleCodeExporter commented
I had a "gclient hooks" to run to get a folder "out".
For the first time I have got it at <checkout_root>\Chromium\src\out.
And when I've run 2 times ("gclient hooks"), I got it created under
<checkout_root>\out.
But that's no matter now. I've already compiled.
The only thing what bother me -> I have no option
found for static linking. This is the option that a flag /Mt or /MTd
corresponds in VS. This means that I have linking problems when using the
Library
Original comment by wvogel1...@gmail.com
on 21 May 2015 at 7:55
GoogleCodeExporter commented
I'm still not able to reproduce your issue.
Using admin shell with C:\vs\libs\libyuv folder, the gclient sync worked and it
calls runhooks. Seems like your initial issue is something in glient sync
and/or runhooks failing the first time.
Sounds like you got past it anyway?
I've updated Getting Started to mention the admin shell, since I did see your
issue when I used a regular command prompt.
These initial steps of getting the code will change soon, to follow what
chromium is moving to. The best documentation is often chromium and/or webrtc
build instructions, since libyuv is using chromium depot tools.
The MT/MTd issue has no great solution that I'm aware of; Those are the only
build option as far as I know. ML and MD are not supported.
If you change 'type': 'static_library', to 'shared_library' the library will be
built as a dynamic library and your app can use the import library and dll.
Or you could use a different build system - a sln or makefile. Simply include
the source into your project.
Original comment by fbarch...@chromium.org
on 21 May 2015 at 6:05
GoogleCodeExporter commented
Looks like you could modify the libyuv.gyp to use /MD
http://stackoverflow.com/questions/13469632/cant-get-node-gyp-to-create-windows-
solution-with-md
Original comment by fbarch...@chromium.org
on 21 May 2015 at 6:07
GoogleCodeExporter commented
documentation updated, but there will be future changes in getting started as
we move to new code repository (git?) and/or build (GN?).
Original comment by fbarch...@chromium.org
on 28 May 2015 at 11:45
- Changed state: Done