Giter VIP home page Giter VIP logo

rules_folly's Introduction

rules_folly -- Bazel Build Rules for Folly

Pre-requisites

On Ubuntu,

sudo apt-get update \
    && sudo apt-get -y install --no-install-recommends \
    autoconf \
    automake \
    libtool \
    libssl-dev

How To Use

  1. In your WORKSPACE file, add the following:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "com_github_storypku_rules_folly",
    sha256 = "16441df2d454a6d7ef4da38d4e5fada9913d1f9a3b2015b9fe792081082d2a65",
    strip_prefix = "rules_folly-0.2.0",
    urls = [
        "https://github.com/storypku/rules_folly/archive/v0.2.0.tar.gz",
    ],
)

load("@com_github_storypku_rules_folly//bazel:folly_deps.bzl", "folly_deps")
folly_deps()

load("@com_github_nelhage_rules_boost//:boost/boost.bzl", "boost_deps")
boost_deps()

If you would like to use Folly without gflags, you should change the line folly_deps() to:

folly_deps(with_gflags = 0)
  1. Then you can add Folly in the deps section of target rule in the BUILD file:
  deps = [
      # ...
      "@folly//:folly",
      # ...
  ],

ROADMAP

  1. (Done) Make it work for recent versions of Folly
  2. (Done) Make rules_folly configurable, e.g., whether openssl/boringssl should be used, if glog was with gflags support, etc.

rules_folly's People

Contributors

storypku avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

rules_folly's Issues

Compilation error - missing zlib.h

Hello! First of all, I've been looking forever for a way to build Folly with Bazel, so I'm so excited for this!

We currently have a repository that uses Folly. As I couldn't easily build folly with Bazel, I had decided to just install Folly in the base system until I figure out a better solution.

I followed the instructions but I get the following error when compiling just Folly:

root@da8e7b65c735:/magma# bazel build @folly//:folly
INFO: Invocation ID: 271940cf-503d-4ee3-9877-ce23d32003fa
INFO: Reading 'startup' options from /magma/.bazelrc: --output_base=/tmp/bazel
INFO: Options provided by the client:
  Inherited 'common' options: --isatty=1 --terminal_columns=111
INFO: Reading rc options for 'build' from /magma/experimental/bazel-base/bazelrcs/docker.bazelrc:
  Inherited 'common' options: --config=docker
INFO: Reading rc options for 'build' from /magma/.bazelrc:
  'build' options: --announce_rc --color=yes --cxxopt=-std=c++14 --strip=never --compilation_mode=dbg
INFO: Found applicable config definition common:docker in file /magma/.bazelrc: --repository_cache=/magma/.bazel-cache-repo
INFO: Found applicable config definition build:docker in file /magma/.bazelrc: --disk_cache=/magma/.bazel-cache
INFO: Analyzed target @folly//:folly (3 packages loaded, 6 targets configured).
INFO: Found 1 target...
ERROR: /tmp/bazel/external/folly/BUILD.bazel:4:14: Compiling folly/compression/Compression.cpp failed: (Exit 1): gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g '-std=c++0x' -MD -MF ... (remaining 426 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
In file included from external/folly/folly/compression/Compression.cpp:35:
external/folly/folly/compression/Zlib.h:24:10: fatal error: zlib.h: No such file or directory
   24 | #include <zlib.h>
      |          ^~~~~~~~
compilation terminated.
Target @folly//:folly failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 4.639s, Critical Path: 2.08s
INFO: 11 processes: 11 internal.
FAILED: Build did NOT complete successfully
root@da8e7b65c735:/magma#

Repro steps

Checkout magma/magma#9697

cd magma/experimental/bazel-base
docker-compose build --parallel
docker-compose run magma-builder bash
bazel build @folly//:folly

build in mac os

Excuse me, when i build in macos, i got the error like this:
ERROR: /private/var/tmp/_bazel_bytedance/9ad59b2b5de874b52e9d9db6d3624801/external/folly/BUILD.bazel:4:14: @folly//:folly depends on @openssl//:ssl in repository @openssl which failed to fetch. no such package '@openssl//': The repository's path is "/usr/include" (absolute: "/usr/include") but this directory does not exist.
How can i solve this problem.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.