Linking error with my Android build

737 views
Skip to first unread message

Jian Li

unread,
Aug 24, 2015, 8:21:14 PM8/24/15
to chromium-dev
Hi,

I've been getting strange linking error with the sync since late last Friday. I've updated deps and did clean build and nothing helped. Did anyone know what was going on? Thanks.

$ ninja -C out/Release -j500 -l15 chrome_public_apk
ninja: Entering directory `out/Release'
[1/5] ACTION Obfuscating chrome_public_apk
FAILED: cd ../../chrome/android; python ../../build/android/gyp/apk_obfuscate.py --configuration-name Release --android-sdk /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//platforms/android-23 --android-sdk-tools /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//build-tools/23.0.0 --android-sdk-jar /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//platforms/android-23/android.jar "--input-jars-paths=\"../../out/Release/lib.java/protobuf_nano_javalib.jar\" \"../../out/Release/lib.java/document_tab_model_info_proto_java.jar\" \"../../out/Release/lib.java/jsr_305_javalib.jar\" \"../../out/Release/lib.java/base_java.jar\" \"../../out/Release/lib.java/bookmarks_java.jar\" \"../../out/Release/lib.java/mojo_public_java.jar\" \"../../out/Release/lib.java/mojo_bindings_java.jar\" \"../../out/Release/lib.java/device_battery_java.jar\" \"../../out/Release/lib.java/device_bluetooth_java.jar\" \"../../out/Release/lib.java/device_vibration_java.jar\" \"../../out/Release/lib.java/media_java.jar\" \"../../out/Release/lib.java/mojo_system_java.jar\" \"../../out/Release/lib.java/net_java.jar\" \"../../out/Release/lib.java/ui_java.jar\" /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//extras/android/support/v13/android-support-v13.jar \"../../out/Release/lib.java/blink_headers_java.jar\" \"../../out/Release/lib.java/ui_accessibility_java.jar\" \"../../out/Release/lib.java/midi_java.jar\" \"../../out/Release/lib.java/content_java.jar\" \"../../out/Release/lib.java/dom_distiller_java.jar\" /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//extras/google/gcm/gcm-client/dist/gcm.jar /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//extras/android/support/v7/mediarouter/libs/android-support-v7-mediarouter.jar /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//extras/android/support/v7/appcompat/libs/android-support-v7-appcompat.jar \"../../out/Release/lib.java/android_support_v7_appcompat_javalib.jar\" \"../../out/Release/lib.java/android_support_v7_mediarouter_javalib.jar\" /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//platforms/android-23/optional/org.apache.http.legacy.jar \"../../out/Release/gen/google_play_services_default_javalib_no_res/google_play_services_default_javalib_no_res.pre.jar\" \"../../out/Release/lib.java/google_play_services_default_javalib.jar\" \"../../out/Release/lib.java/cacheinvalidation_proto_java.jar\" \"../../out/Release/lib.java/cacheinvalidation_javalib.jar\" \"../../out/Release/lib.java/sync_java.jar\" \"../../out/Release/lib.java/gcm_driver_java.jar\" \"../../out/Release/lib.java/invalidation_proto_java.jar\" \"../../out/Release/lib.java/invalidation_java.jar\" \"../../out/Release/lib.java/navigation_interception_java.jar\" \"../../out/Release/lib.java/policy_java.jar\" \"../../out/Release/lib.java/precache_java.jar\" \"../../out/Release/lib.java/safe_json_java.jar\" \"../../out/Release/lib.java/service_tab_launcher_java.jar\" \"../../out/Release/lib.java/signin_core_browser_java.jar\" \"../../out/Release/lib.java/variations_java.jar\" \"../../out/Release/lib.java/web_contents_delegate_android_java.jar\" \"../../out/Release/lib.java/printing_java.jar\" \"../../out/Release/lib.java/android_data_chart_java.jar\" \"../../out/Release/lib.java/android_media_java.jar\" \"../../out/Release/lib.java/android_swipe_refresh_java.jar\" /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//extras/android/support/design/libs/android-support-design.jar \"../../out/Release/lib.java/android_support_design_javalib.jar\" /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//extras/android/support/v7/recyclerview/libs/android-support-v7-recyclerview.jar \"../../out/Release/lib.java/android_support_v7_recyclerview_javalib.jar\" \"../../out/Release/lib.java/chrome_java.jar\" \"../../out/Release/lib.java/chromium_apk_chrome_public_apk.jar\"" "--proguard-configs=../../chrome/android/java/proguard.flags \"../../out/Release/chrome_public_apk/proguard.txt\"" --test-jar-path ../../out/Release/test.lib.java/ChromePublic.jar --obfuscated-jar-path ../../out/Release/chrome_public_apk/obfuscated.jar --proguard-jar-path /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//tools/proguard/lib/proguard.jar --stamp ../../out/Release/chrome_public_apk/obfuscate.stamp --proguard-enabled
Traceback (most recent call last):
  File "../../build/android/gyp/apk_obfuscate.py", line 147, in <module>
    sys.exit(main(sys.argv[1:]))
  File "../../build/android/gyp/apk_obfuscate.py", line 129, in main
    DoProguard(options)
  File "../../build/android/gyp/apk_obfuscate.py", line 106, in DoProguard
    proguard.CheckOutput()
  File "/usr/local/$USER/src/chromium_android/src/build/android/gyp/util/proguard_util.py", line 127, in CheckOutput
    stdout_filter=FilterProguardOutput)
  File "/usr/local/$USER/src/chromium_android/src/build/android/gyp/util/build_utils.py", line 158, in CheckOutput
    raise CalledProcessError(cwd, args, stdout + stderr)
util.build_utils.CalledProcessError: Command failed: ( cd /usr/local/$USER/src/chromium_android/src/chrome/android; java -jar /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//tools/proguard/lib/proguard.jar -forceprocessing -libraryjars /usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//platforms/android-23/android.jar -injars ../../out/Release/lib.java/protobuf_nano_javalib.jar:../../out/Release/lib.java/document_tab_model_info_proto_java.jar:../../out/Release/lib.java/jsr_305_javalib.jar:../../out/Release/lib.java/base_java.jar:../../out/Release/lib.java/bookmarks_java.jar:../../out/Release/lib.java/mojo_public_java.jar:../../out/Release/lib.java/mojo_bindings_java.jar:../../out/Release/lib.java/device_battery_java.jar:../../out/Release/lib.java/device_bluetooth_java.jar:../../out/Release/lib.java/device_vibration_java.jar:../../out/Release/lib.java/media_java.jar:../../out/Release/lib.java/mojo_system_java.jar:../../out/Release/lib.java/net_java.jar:../../out/Release/lib.java/ui_java.jar:/usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//extras/android/support/v13/android-support-v13.jar:../../out/Release/lib.java/blink_headers_java.jar:../../out/Release/lib.java/ui_accessibility_java.jar:../../out/Release/lib.java/midi_java.jar:../../out/Release/lib.java/content_java.jar:../../out/Release/lib.java/dom_distiller_java.jar:/usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//extras/google/gcm/gcm-client/dist/gcm.jar:/usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//extras/android/support/v7/mediarouter/libs/android-support-v7-mediarouter.jar:/usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//extras/android/support/v7/appcompat/libs/android-support-v7-appcompat.jar:../../out/Release/lib.java/android_support_v7_appcompat_javalib.jar:../../out/Release/lib.java/android_support_v7_mediarouter_javalib.jar:/usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//platforms/android-23/optional/org.apache.http.legacy.jar:../../out/Release/gen/google_play_services_default_javalib_no_res/google_play_services_default_javalib_no_res.pre.jar:../../out/Release/lib.java/google_play_services_default_javalib.jar:../../out/Release/lib.java/cacheinvalidation_proto_java.jar:../../out/Release/lib.java/cacheinvalidation_javalib.jar:../../out/Release/lib.java/sync_java.jar:../../out/Release/lib.java/gcm_driver_java.jar:../../out/Release/lib.java/invalidation_proto_java.jar:../../out/Release/lib.java/invalidation_java.jar:../../out/Release/lib.java/navigation_interception_java.jar:../../out/Release/lib.java/policy_java.jar:../../out/Release/lib.java/precache_java.jar:../../out/Release/lib.java/safe_json_java.jar:../../out/Release/lib.java/service_tab_launcher_java.jar:../../out/Release/lib.java/signin_core_browser_java.jar:../../out/Release/lib.java/variations_java.jar:../../out/Release/lib.java/web_contents_delegate_android_java.jar:../../out/Release/lib.java/printing_java.jar:../../out/Release/lib.java/android_data_chart_java.jar:../../out/Release/lib.java/android_media_java.jar:../../out/Release/lib.java/android_swipe_refresh_java.jar:/usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//extras/android/support/design/libs/android-support-design.jar:../../out/Release/lib.java/android_support_design_javalib.jar:/usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk//extras/android/support/v7/recyclerview/libs/android-support-v7-recyclerview.jar:../../out/Release/lib.java/android_support_v7_recyclerview_javalib.jar:../../out/Release/lib.java/chrome_java.jar:../../out/Release/lib.java/chromium_apk_chrome_public_apk.jar -include ../../chrome/android/java/proguard.flags -include ../../out/Release/chrome_public_apk/proguard.txt -outjars ../../out/Release/chrome_public_apk/obfuscated.jar -dump ../../out/Release/chrome_public_apk/obfuscated.jar.dump -printseeds ../../out/Release/chrome_public_apk/obfuscated.jar.seeds -printusage ../../out/Release/chrome_public_apk/obfuscated.jar.usage -printmapping ../../out/Release/chrome_public_apk/obfuscated.jar.mapping )
ProGuard, version 4.7
Reading program jar [/usr/local/$USER/src/chromium_android/src/out/Release/lib.java/protobuf_nano_javalib.jar]
...
Reading library jar [/usr/local/$USER/src/chromium_android/src/third_party/android_tools/sdk/platforms/android-23/android.jar]
Note: duplicate definition of library class [org.apache.http.conn.scheme.HostNameResolver]
Note: duplicate definition of library class [org.apache.http.conn.scheme.SocketFactory]
Note: duplicate definition of library class [org.apache.http.conn.ConnectTimeoutException]
Note: duplicate definition of library class [org.apache.http.params.HttpParams]
Note: duplicate definition of library class [android.net.http.SslCertificate$DName]
Note: duplicate definition of library class [android.net.http.SslError]
Note: duplicate definition of library class [android.net.http.SslCertificate]
Note: android.support.v4.text.ICUCompatApi23: can't find dynamically referenced class libcore.icu.ICU
Note: android.support.v4.text.ICUCompatIcs: can't find dynamically referenced class libcore.icu.ICU
Note: android.support.v7.internal.widget.DrawableUtils: can't find dynamically referenced class android.graphics.Insets
Note: org.chromium.net.DefaultAndroidKeyStore: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.OpenSSLRSAPrivateKey
Note: org.chromium.net.DefaultAndroidKeyStore: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.OpenSSLEngine
Note: android.support.v4.text.ICUCompatApi23 accesses a method 'addLikelySubtags(java.util.Locale)' dynamically
      Maybe this is program method 'android.support.v4.text.ICUCompatIcs { java.lang.String addLikelySubtags(java.util.Locale); }'
Note: android.support.v4.text.ICUCompatIcs accesses a method 'getScript(java.lang.String)' dynamically
      Maybe this is program method 'android.support.v4.text.ICUCompatIcs { java.lang.String getScript(java.lang.String); }'
Note: android.support.v4.text.ICUCompatIcs accesses a method 'addLikelySubtags(java.lang.String)' dynamically
Note: android.support.v7.internal.widget.DrawableUtils accesses a method 'getOpticalInsets()' dynamically
Note: android.support.v7.internal.widget.ViewUtils accesses a method 'makeOptionalFitsSystemWindows()' dynamically
Note: org.chromium.net.DefaultAndroidKeyStore accesses a declared method 'getOpenSSLKey()' dynamically
Note: org.chromium.net.DefaultAndroidKeyStore accesses a declared method 'getPkeyContext()' dynamically
Note: org.chromium.net.DefaultAndroidKeyStore accesses a declared method 'getEngine()' dynamically
Note: org.chromium.net.ProxyChangeListener$ProxyReceiver accesses a declared method 'getHost()' dynamically
      Maybe this is program method 'android.net.compatibility.WebAddress { java.lang.String getHost(); }'
      ...
Note: org.chromium.net.ProxyChangeListener$ProxyReceiver accesses a declared method 'getExclusionList()' dynamically
      Maybe this is library method 'android.net.ProxyInfo { java.lang.String[] getExclusionList(); }'
Note: org.chromium.net.ProxyChangeListener$ProxyReceiver accesses a declared method 'getPacFileUrl()' dynamically
      Maybe this is library method 'android.net.ProxyInfo { android.net.Uri getPacFileUrl(); }'
Note: org.chromium.net.ProxyChangeListener$ProxyReceiver accesses a declared method 'getPacFileUrl()' dynamically
      Maybe this is library method 'android.net.ProxyInfo { android.net.Uri getPacFileUrl(); }'
Note: the configuration refers to the unknown class 'com.google.ipc.invalidation.external.client2.contrib.AndroidListener$AlarmReceiver'
      Maybe you meant the fully qualified name 'com.google.ipc.invalidation.external.client.contrib.AndroidListener$AlarmReceiver'?
Note: the configuration keeps the entry point 'android.support.v4.app.DialogFragment { int show(android.support.v4.app.FragmentTransaction,java.lang.String); }', but not the descriptor class 'android.support.v4.app.FragmentTransaction'
Note: the configuration keeps the entry point 'android.support.v4.app.Fragment { void setIndex(int,android.support.v4.app.Fragment); }', but not the descriptor class 'android.support.v4.app.Fragment'
Note: the configuration keeps the entry point 'android.support.v4.app.Fragment { void setInitialSavedState(android.support.v4.app.Fragment$SavedState); }', but not the descriptor class 'android.support.v4.app.Fragment$SavedState'
...
Note: the configuration keeps the entry point 'android.support.v7.app.AppCompatActivity { void onCreateSupportNavigateUpTaskStack(android.support.v4.app.TaskStackBuilder); }', but not the descriptor class 'android.support.v4.app.TaskStackBuilder'
...
Note: the configuration keeps the entry point 'org.chromium.chrome.browser.gcore.ChromeGoogleApiClientImpl { ChromeGoogleApiClientImpl(android.content.Context,com.google.android.gms.common.api.GoogleApiClient); }', but not the descriptor class 'com.google.android.gms.common.api.GoogleApiClient'
...
Note: the configuration keeps the entry point 'org.chromium.chrome.browser.media.router.ChromeMediaRouterDialogController { void onRouteSelected(android.support.v7.media.MediaRouter,android.support.v7.media.MediaRouter$RouteInfo); }', but not the descriptor class 'android.support.v7.media.MediaRouter'
...
Note: the configuration keeps the entry point 'org.chromium.third_party.android.media.MediaController { void setMediaPlayer(android.support.v4.media.TransportController); }', but not the descriptor class 'android.support.v4.media.TransportController'
Note: the configuration keeps the entry point 'org.chromium.third_party.android.media.MediaController$1 { void onPlayingChanged(android.support.v4.media.TransportController); }', but not the descriptor class 'android.support.v4.media.TransportController'
Note: the configuration keeps the entry point 'org.chromium.third_party.android.media.MediaController$1 { void onTransportControlsChanged(android.support.v4.media.TransportController); }', but not the descriptor class 'android.support.v4.media.TransportController'
Note: there were 1 references to unknown classes.
      You should check your configuration for typos.
Note: there were 251 unkept descriptor classes in kept class members.
      You should consider explicitly keeping the mentioned classes
      (using '-keep').
Note: there were 5 unresolved dynamic references to classes or interfaces.
Note: there were 13 accesses to class members by means of introspection.
      You should consider explicitly keeping the mentioned class members
      (using '-keep' or '-keepclassmembers').
Note: there were 7 duplicate class definitions.
Warning: library class android.webkit.WebView depends on program class android.net.http.SslCertificate
Warning: library class android.webkit.WebView depends on program class android.net.http.SslCertificate
      You should check if you need to specify additional program jars.
Warning: there were 2 instances of library classes depending on program classes.
         You must avoid such dependencies, since the program classes will
         be processed, while the library classes will remain unchanged.
Error: Please correct the above warnings first.

ninja: build stopped: subcommand failed.

Kenichi Ishibashi

unread,
Aug 25, 2015, 1:03:23 AM8/25/15
to Jian Li, chromium-dev
What version of Java are you using? I saw similar error messages when I used 1.8.

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

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Jian Li

unread,
Aug 25, 2015, 4:33:39 PM8/25/15
to Kenichi Ishibashi, chromium-dev
Yes, it is 1.8. Do you know how to fix it?

Jian Li

unread,
Aug 25, 2015, 5:01:33 PM8/25/15
to Kenichi Ishibashi, chromium-dev
After I downgraded openjdk from 1.8 to 1.7, I can now build chrome_public_apk successfully.
Reply all
Reply to author
Forward
0 new messages