首页 文章

从源构建tensorflow遇到错误:规则'@jemalloc//:jemalloc'的C编译失败

提问于
浏览
0

我正在尝试使用 gcc 从CentOS 6.2上的源代码构建 tensorflow . 我将 gcc 全局从4.6.6更新到5.2.0,这可能会导致一些问题 . Glibc 2.17在本地目录中,但系统默认 Glibc 的版本是2.12 .

我收到以下错误:

错误:/usr/local/app/.cache/bazel/_bazel_mqq/51871d27dfe77ebce0294c6560736a2c/external/jemalloc/BUILD:10:1:c编译规则'@jemalloc //:jemalloc'失败:gcc失败:错误执行命令( cd /usr/local/app/.cache/bazel/_bazel_mqq/51871d27dfe77ebce0294c6560736a2c/execroot/tensorflow&& \ exec env - \ PATH = / data6 / jimpan / env / java / jdk1.8.0_131 / bin:/ data6 / jimpan / env / python3 /斌:在/ usr / local / bin目录:/ bin中:在/ usr / bin中:在/ usr / local / sbin中:/ usr / sbin目录:/ sbin目录:在/ usr /本地/ JDK / bin中:在/ usr /本地/ JDK / jre / bin:/ opt / CollabNet_Subversion / bin /:/ usr / local / app / java / bin:/ usr / local / app / bin \ PWD = / proc / self / cwd \ PYTHON_BIN_PATH = / data6 / jimpan / env / python3 / bin / python3 \ PYTHON_LIB_PATH = / data6 / jimpan / env / python3 / lib / python3.5 / site-packages \ TF_NEED_CUDA = 0 \ TF_NEED_OPENCL = 0 \ / usr / local / bin / gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -B / usr / local / bin -B / usr / bin -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2'-D_FORTIFY_SOURCE = 1' -DNDEBUG -ffunction-sections -fdata-sections'-mcp u = native'-MD -MF bazel-out / local-py3-opt / bin / external / jemalloc / _objs / jemalloc / external / jemalloc / src / pages.pic.d -fPIC -iquote external / jemalloc -iquote bazel- out / local-py3-opt / genfiles / external / jemalloc -iquote external / bazel_tools -iquote bazel-out / local-py3-opt / genfiles / external / bazel_tools -isystem external / jemalloc / include -isystem bazel-out / local- py3-opt / genfiles / external / jemalloc / include -isystem external / bazel_tools / tools / cpp / gcc3 -O3 -funroll-loops -D_GNU_SOURCE -D_REENTRANT -fno-canonical-system-headers -Wno-builtin-macro-redefined' - D__DATE __ =“redacted”''-D__TIMESTAMP __ =“redacted”''-D__TIME __ =“redacted”' - c external / jemalloc / src / pages.c -o bazel-out / local-py3-opt / bin / external / jemalloc /_objs/jemalloc/external/jemalloc/src/pages.pic.o):com.google.devtools.build.lib.shell.BadExitStatusException:进程退出,状态为1. gcc:warning:' - mcpu ='已弃用;使用'-mtune ='或'-march ='代替external / jemalloc / src / pages.c:在函数'je_pages_huge'中:external / jemalloc / src / pages.c:203:30:错误:'MADV_HUGEPAGE'未声明(首先在这个函数中使用)return(madvise(addr,size,MADV_HUGEPAGE)!= 0); ^ external / jemalloc / src / pages.c:203:30:注意:每个未声明的标识符只针对它出现在external / jemalloc / src / pages.c中的每个函数报告一次:在函数'je_pages_nohuge'中:external / jemalloc / src / pages.c:217:30:错误:'MADV_NOHUGEPAGE'未声明(在此函数中首次使用)return(madvise(addr,size,MADV_NOHUGEPAGE)!= 0); ^ external / jemalloc / src / pages.c:在函数'je_pages_huge'中:external / jemalloc / src / pages.c:207:1:warning:control到达非void函数的结尾[-Wreturn-type]} ^ external /jemalloc/src/pages.c:在函数'je_pages_nohuge'中:external / jemalloc / src / pages.c:221:1:warning:control到达非void函数的结尾[-Wreturn-type]} ^

/usr/local/app 是我系统的$ HOME路径 .

我想问题出在 gcc ,但我知道如何继续 .

1 回答

  • 0

    看来jemalloc 's build is misconfigured (it'缺少 MADV_NOHUGEPAGE 定义) . 我找到了相关的this tensorflow issue .

相关问题