Skip to content
This repository was archived by the owner on Nov 10, 2023. It is now read-only.
This repository was archived by the owner on Nov 10, 2023. It is now read-only.

buck fetch fails with symbolic links in an archive #2731

Open

Description

@yasinhin

I am trying to add ldap as a dependency using http_archive but buck fails to fetch the library. There is a "broken link" symbolic link in the tests folder which causes buck to fail on sha verification. Is there a way to skip that verification for that specific folder? I am okay to delete that specific folder before verification as well but not sure how.

http_archive(
  name = 'libopenldap-src',
  urls = ['https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.5.13.tgz'],
  sha256 = 'ee3c430c4ef7b87c57b622108c7339376d6c27fbbf2767770be3de1df63d008c',
  strip_prefix = 'openldap-2.5.13',
  type = 'tar.gz'
)

buck fetch //...:libopenldap-src

Buck encountered an internal error
com.facebook.buck.command.Build$BuildExecutionException: com.facebook.buck.core.exceptions.BuckUncheckedExecutionException: When finalizing rule.: java.lang.RuntimeException: java.io.IOException: Error computing Sha1 for /Users/yasinh/Desktop/DDDCore/buck-out/gen/libraries/3rdparty/libopenldap/libopenldap-src/libopenldap-src/tests/data/homedir/skel/directory/broken link: /Users/yasinh/Desktop/DDDCore/buck-out/gen/libraries/3rdparty/libopenldap/libopenldap-src/libopenldap-src/tests/data/homedir/skel/directory/broken link
	at com.facebook.buck.command.Build.waitForBuildToFinish(Build.java:297)
	at com.facebook.buck.command.Build.waitForBuildToFinishAndPrintFailuresToEventBus(Build.java:394)
	at com.facebook.buck.command.Build.executeAndPrintFailuresToEventBus(Build.java:136)
	at com.facebook.buck.cli.FetchCommand.runWithoutHelp(FetchCommand.java:174)
	at com.facebook.buck.cli.AbstractCommand.run(AbstractCommand.java:281)
	at com.facebook.buck.cli.AbstractContainerCommand.run(AbstractContainerCommand.java:90)
	at com.facebook.buck.cli.MainRunner.runMainWithExitCode(MainRunner.java:1448)
	at com.facebook.buck.cli.MainRunner.runMainThenExit(MainRunner.java:476)
	at com.facebook.buck.cli.MainWithNailgun.nailMain(MainWithNailgun.java:77)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.facebook.nailgun.NGSession.runImpl(NGSession.java:313)
	at com.facebook.nailgun.NGSession.run(NGSession.java:199)

Activity

  1. yasinhin commented on Dec 10, 2022

    @yasinhin
    Author

    I mitigated issue by adding some custom rules around it like below. Still I believe this seems to be a bug anyways.

    remote_file(
      name = 'libopenldap-src',
      url = 'https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.5.13.tgz',
      sha1 = '134993a045d69a95a62867fae390e8ae38230c7d',
    )
    
    genrule(
      name = 'libopenldap-unzip',
      cmd = 'tar -xf $(location :libopenldap-src) -C $OUT --exclude tests/data',
      out = '.',
    )
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions