gclient sync failed getting latest skia files and fail compile

342 views
Skip to first unread message

Ke Wang

unread,
May 27, 2013, 10:36:40 AM5/27/13
to chromi...@chromium.org
Today I cannot build chrome after doing 'gclient sync'. I am using ninja to compile.

First, the error is:
ninja: error: '../../third_party/skia/src/fonts/SkFontMgr_fontconfig.cpp', needed by 'obj/third_party/skia/src/fonts/skia.SkFontMgr_fontconfig.o', missing and no known rule to make it

I tried to use 'gclient sync --force', but still cannot get this file. So I manually downloaded it from http://skia.googlecode.com/svn/trunk/src/fonts/.

Then another error happened:
 In file included from ../../skia/ext/analysis_canvas.cc:6:0:
../../skia/ext/analysis_canvas.h:22:77: error: expected class-name before '{' token

I think it's also because of skia is not synced well by running 'gclient sync'. Can anyone suggest how to make sure such third_party libraries can be synced to the latest code? Or how to solve such problem? 

BTW, in src/DEPS, there is: "skia_revision": "9265", while the skia is currently at r9286. Is it okay to manually change the revision value in DEPS?

Thanks a lot,


Thiago Farina

unread,
May 27, 2013, 12:44:21 PM5/27/13
to kewa...@gmail.com, Chromium-dev
On Mon, May 27, 2013 at 11:36 AM, Ke Wang <kewa...@gmail.com> wrote:
> I think it's also because of skia is not synced well by running 'gclient
> sync'. Can anyone suggest how to make sure such third_party libraries can be
> synced to the latest code?
This is what gclient sync should do. May be it could be an issue with
your connection. Try syncing again later.

> Or how to solve such problem?
>
> BTW, in src/DEPS, there is: "skia_revision": "9265", while the skia is
> currently at r9286. Is it okay to manually change the revision value in
> DEPS?
>
We roll the DEPS for skia frequently. You don't need to do this
yourself, It will be updated when skia maintainers think it's
reasonable.

--
Thiago

Ke Wang

unread,
May 27, 2013, 11:16:31 PM5/27/13
to Thiago Farina, Chromium-dev
Thiago, thanks for your reply. But many trial of 'gclient sync' still didn't give me luck.

I saw the following in the 'gclient sync' output:
76>________ found .git directory; skipping src/third_party/skia/gyp
77>________ found .git directory; skipping src/third_party/skia/include
78>________ found .git directory; skipping src/third_party/skia/src

Does this mean the sync operation is skipping these directory? My .gclient file looks the following, which does not exclude these directories. So did some other of my .git setting is wrong?

solutions = [
  { "name"        : "src",
    "url"         : "https://src.chromium.org/chrome/trunk/src",
    "custom_deps" : {
      "src/content/test/data/layout_tests/LayoutTests": None,
      "src/chrome/tools/test/reference_build/chrome_win": None,
      "src/chrome_frame/tools/test/reference_build/chrome_win": None,
      "src/chrome/tools/test/reference_build/chrome_linux": None,
      "src/chrome/tools/test/reference_build/chrome_mac": None,
      "src/third_party/hunspell_dictionaries": None,
      "src/third_party/valgrind":      "http://src.chromium.org/chrome/trunk/deps/third_party/valgrind/binaries",
    },
  },
]
--
Ke Wang

Tom Hudson

unread,
May 28, 2013, 2:23:36 AM5/28/13
to kewa...@gmail.com, Thiago Farina, Chromium-dev
Did you attempt to manually check out skia within your git checkout of chrome?
(That's how I read those gclient error messages: when it recursed down to third_party/skia/*, it found a .git directory, so it stopped trying to update the gclient checkout because you'd tried to customize that part of the hierarchy.)


--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
 
 
 

Ke Wang

unread,
May 28, 2013, 3:03:15 AM5/28/13
to Tom Hudson, Thiago Farina, Chromium-dev
I did manually copied one file to the skia directory when I met the ninja error, but didn't touch any other. It's my master branch, which I don't work in.

git status
# On branch master
nothing to commit, working directory clean

Also there are tons of other directories having the same .git message during 'gclient sync -force', and I am sure I never touched them:

59>________ found .git directory; skipping src/third_party/libphonenumber/src/test
60>________ found .git directory; skipping src/third_party/libsrtp/test     
61>________ found .git directory; skipping src/third_party/libvpx      
62>________ found .git directory; skipping src/third_party/libyuv
63>________ found .git directory; skipping src/third_party/lss
65>________ found .git directory; skipping src/third_party/openmax_dl
66>________ found .git directory; skipping src/third_party/openssl

If these is .git related, any command I can use to reset everything back to untouched? Thanks,
--
Ke Wang

James Robinson

unread,
May 28, 2013, 3:08:34 AM5/28/13
to kewa...@gmail.com, Tom Hudson, Thiago Farina, Chromium-dev
On Tue, May 28, 2013 at 12:03 AM, Ke Wang <kewa...@gmail.com> wrote:
I did manually copied one file to the skia directory when I met the ninja error, but didn't touch any other. It's my master branch, which I don't work in.

git status
# On branch master
nothing to commit, working directory clean

Also there are tons of other directories having the same .git message during 'gclient sync -force', and I am sure I never touched them:

59>________ found .git directory; skipping src/third_party/libphonenumber/src/test
60>________ found .git directory; skipping src/third_party/libsrtp/test     
61>________ found .git directory; skipping src/third_party/libvpx      
62>________ found .git directory; skipping src/third_party/libyuv
63>________ found .git directory; skipping src/third_party/lss
65>________ found .git directory; skipping src/third_party/openmax_dl
66>________ found .git directory; skipping src/third_party/openssl

If these is .git related, any command I can use to reset everything back to untouched? Thanks,

The following two commands:

rm -rf third_party/skia/
gclient sync

Should force gclient to check skia out again from scratch and get you back on track.  You will lose any local changes under third_party/skia/, so be sure to save them elsewhere.

- James

Ke Wang

unread,
May 28, 2013, 4:45:19 AM5/28/13
to James Robinson, Tom Hudson, Thiago Farina, Chromium-dev
On Tue, May 28, 2013 at 3:08 PM, James Robinson <jam...@chromium.org> wrote:
On Tue, May 28, 2013 at 12:03 AM, Ke Wang <kewa...@gmail.com> wrote:
I did manually copied one file to the skia directory when I met the ninja error, but didn't touch any other. It's my master branch, which I don't work in.

git status
# On branch master
nothing to commit, working directory clean

Also there are tons of other directories having the same .git message during 'gclient sync -force', and I am sure I never touched them:

59>________ found .git directory; skipping src/third_party/libphonenumber/src/test
60>________ found .git directory; skipping src/third_party/libsrtp/test     
61>________ found .git directory; skipping src/third_party/libvpx      
62>________ found .git directory; skipping src/third_party/libyuv
63>________ found .git directory; skipping src/third_party/lss
65>________ found .git directory; skipping src/third_party/openmax_dl
66>________ found .git directory; skipping src/third_party/openssl

If these is .git related, any command I can use to reset everything back to untouched? Thanks,

The following two commands:

rm -rf third_party/skia/
gclient sync

This worked! Now I can see the skia/ files are up to date.

But another nightmare came. As I met similar compile error for file under gpu/command_buffer/, I tried the same 'rm -rf gpu/' trick. But 'gclient sync' cannot bring it back ! :(

What's the problem here? The rm -rf trick only can be done to some certain directory?



--
Ke Wang

Ke Wang

unread,
May 28, 2013, 5:09:01 AM5/28/13
to James Robinson, Tom Hudson, Thiago Farina, Chromium-dev
On Tue, May 28, 2013 at 4:45 PM, Ke Wang <kewa...@gmail.com> wrote:



On Tue, May 28, 2013 at 3:08 PM, James Robinson <jam...@chromium.org> wrote:
On Tue, May 28, 2013 at 12:03 AM, Ke Wang <kewa...@gmail.com> wrote:
I did manually copied one file to the skia directory when I met the ninja error, but didn't touch any other. It's my master branch, which I don't work in.

git status
# On branch master
nothing to commit, working directory clean

Also there are tons of other directories having the same .git message during 'gclient sync -force', and I am sure I never touched them:

59>________ found .git directory; skipping src/third_party/libphonenumber/src/test
60>________ found .git directory; skipping src/third_party/libsrtp/test     
61>________ found .git directory; skipping src/third_party/libvpx      
62>________ found .git directory; skipping src/third_party/libyuv
63>________ found .git directory; skipping src/third_party/lss
65>________ found .git directory; skipping src/third_party/openmax_dl
66>________ found .git directory; skipping src/third_party/openssl

If these is .git related, any command I can use to reset everything back to untouched? Thanks,

The following two commands:

rm -rf third_party/skia/
gclient sync

This worked! Now I can see the skia/ files are up to date.

But another nightmare came. As I met similar compile error for file under gpu/command_buffer/, I tried the same 'rm -rf gpu/' trick. But 'gclient sync' cannot bring it back ! :(

What's the problem here? The rm -rf trick only can be done to some certain directory?

Ah, 'git checkout -- gpu/' brought them back. //Phew... 



--
Ke Wang
Reply all
Reply to author
Forward
0 new messages