Friday, March 11, 2016

After upgrading Elasticsearch 2.2.0 from 1.7.2, Other hosts can't connect to it.

After upgrading Elasticsearch 2.2.0 from 1.7.2, Other hosts can't connect to it.

In 1.7.2, it is binding to `0.0.0.0`, so you can access to it from any host:

The network.bind_host setting allows to control the host different network components will bind on. By default, the bind host will be anyLocalAddress (typically 0.0.0.0 or ::0).

But in 2.2.0, it is binding to `127.0.0.1`, so you can't access to it from other hosts:

Defaults to _local_.

To access from other hosts, you have to add the following to `config/elasticsearch.yml`:

network:
  host:
    - _en0_
    - _local_

`en0` will be your network interface.

References:
https://www.elastic.co/guide/en/elasticsearch/reference/1.7/modules-network.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html#network-interface-values

error: expected body of lambda expression

When building TensorFlow with Bazel, you might encounter the following error:

$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
...
tensorflow/core/kernels/fifo_queue.cc:59:43: error: expected body of lambda expression
          [tuple, this](Attempt* attempt) EXCLUSIVE_LOCKS_REQUIRED(mu_) {
                                          ^
./tensorflow/core/platform/default/thread_annotations.h:89:3: note: expanded from macro 'EXCLUSIVE_LOCKS_REQUIRED'
  THREAD_ANNOTATION_ATTRIBUTE__(exclusive_locks_required(__VA_ARGS__))
  ^
./tensorflow/core/platform/default/thread_annotations.h:42:42: note: expanded from macro 'THREAD_ANNOTATION_ATTRIBUTE__'
#define THREAD_ANNOTATION_ATTRIBUTE__(x) __attribute__((x))
                                         ^
...
6 warnings and 4 errors generated.
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
...
$

Check your gcc version as follows:

$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
$

Upgrade your gcc version by upgrading Xcode to the latest version (in my case, 7.2.1):

$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/c++/4.2.1
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
$

Reference:
https://github.com/tensorflow/tensorflow/issues/1192

Thursday, March 10, 2016

ERROR: Cannot find './util/python/python_include'. Did you run configure?

When building TensorFlow with Bazel, you might encounter the following error:

$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
...
ERROR: /Users/izeye/IdeaProjects/tensorflow/util/python/BUILD:14:1: Executing genrule //util/python:python_check failed: bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1.


ERROR: Cannot find './util/python/python_include'.  Did you run configure?


Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
...
$

Just configure as follows:

./configure

Reference:
https://github.com/tensorflow/tensorflow/issues/427

Extension file not found. Unable to load package for '//google/protobuf:protobuf.bzl'

When building TensorFlow with Bazel, you might encounter the following error:

$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
Sending SIGTERM to previous Bazel server (pid=6711)... done.
...........
ERROR: /Users/izeye/IdeaProjects/tensorflow/tensorflow/tools/pip_package/BUILD:23:1: error loading package 'tensorflow/core': Extension file not found. Unable to load package for '//google/protobuf:protobuf.bzl': BUILD file not found on package path and referenced by '//tensorflow/tools/pip_package:build_pip_package'.
ERROR: Loading failed; build aborted.
INFO: Elapsed time: 0.759s
$

If you didn't add the following option when you were cloning the TensorFlow GitHub project:

--recurse-submodules

Use the following command:

git submodule update --init

References:
https://github.com/tensorflow/tensorflow/issues/1069
https://www.tensorflow.org/versions/r0.7/get_started/os_setup.html

First argument of load() is a path, not a label. It should start with a single slash if it is an absolute path.

When using Bazel for building TensorFlow, you might encounter the following error:

$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
ERROR: /Users/izeye/IdeaProjects/tensorflow/tensorflow/tools/pip_package/BUILD:6:6: First argument of load() is a path, not a label. It should start with a single slash if it is an absolute path.
ERROR: /Users/izeye/IdeaProjects/tensorflow/tensorflow/tools/pip_package/BUILD:6:6: file '/tensorflow:tensorflow.bzl.bzl' was not correctly loaded. Make sure the 'load' statement appears in the global scope in your file.
ERROR: /Users/izeye/IdeaProjects/tensorflow/tensorflow/tools/pip_package/BUILD:8:1: name 'transitive_hdrs' is not defined.
ERROR: no such package 'tensorflow/tools/pip_package': Package 'tensorflow/tools/pip_package' contains errors.
INFO: Elapsed time: 0.060s.
$

Check your Bazel version as follows:

$ bazel version
Build label: 0.1.2-homebrew
Build target: bazel-out/local_darwin-fastbuild/bin/src/main/java/com/google/devtools/build/lib/bazel-main_deploy.jar
Build time: Sat Dec 5 08:46:47 2015 (1449305207)
Build timestamp: 1449305207
Build timestamp as int: 1449305207
$

If the version is lower than 0.1.4 as the above, upgrade to at least 0.1.4.

You can find Bazel releases in: https://github.com/bazelbuild/bazel/releases

If you're using Mac, download an install script and run it with sudo.

Reference:
https://github.com/tensorflow/tensorflow/issues/843