【问题标题】:mariadb install failure: make (Mac OSX 10.6.8)mariadb 安装失败:make (Mac OSX 10.6.8)
【发布时间】:2015-01-20 10:43:00
【问题描述】:

我不确定如何继续。 make 步骤失败:

error: ‘strnlen’ was not declared in this scope
    make[2]: *** [storage/connect/CMakeFiles/connect.dir/xobject.cpp.o] Error 1
    make[1]: *** [storage/connect/CMakeFiles/connect.dir/all] Error 2
    make: *** [all] Error 2

这是更多的输出:

~/Downloads$ tar xvfz mariadb-10.0.15.tar.gz 
…
…

=====BUILD======

~/Downloads/mariadb-10.0.15$ cmake . -DBUILD_CONFIG=mysql_release
-- Running cmake version 3.1.0
-- The C compiler identification is GNU 4.2.1
-- The CXX compiler identification is GNU 4.2.1
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
...
...
-- Looking for strlcpy
-- Looking for strlcpy - found
-- Looking for strnlen
-- Looking for strnlen - not found
-- Looking for strlcat
-- Looking for strlcat - found
-- Looking for strsignal
-- Looking for strsignal - found
-- Looking for fgetln
-- Looking for fgetln - found
-- Looking for strpbrk
-- Looking for strpbrk - found
-- Looking for strstr
-- Looking for strstr - found
-- Looking for strtok_r
-- Looking for strtok_r - found
-- Looking for strtol
-- Looking for strtol - found
-- Looking for strtoll
-- Looking for strtoll - found
-- Looking for strtoul
-- Looking for strtoul - found
-- Looking for strtoull
-- Looking for strtoull - found
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for strncasecmp
-- Looking for strncasecmp - found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for shmctl
-- Looking for shmctl - found
-- Looking for shmdt
-- Looking for shmdt - found
-- Looking for shmget
-- Looking for shmget - found
-- Looking for tell
-- Looking for tell - not found
-- Looking for tempnam
-- Looking for tempnam - found
-- Looking for thr_setconcurrency
-- Looking for thr_setconcurrency - not found
-- Looking for thr_yield
-- Looking for thr_yield - not found
...
...
-- Looking for vasprintf

-- Performing Test HAVE_XUCRED - Success
-- Looking for event.h
-- Looking for event.h - found
-- Configuring done
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   libmysql
   libmysqld

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/7stud/Downloads/mariadb-10.0.15



========MAKE==========

~/Downloads/mariadb-10.0.15$ make
….
…
...
[ 50%] Building CXX object storage/connect/CMakeFiles/connect.dir/value.cpp.o
cc1plus: warning: command line option "-Wmissing-declarations" is valid for C/ObjC but not for C++
[ 50%] Building CXX object storage/connect/CMakeFiles/connect.dir/xindex.cpp.o
cc1plus: warning: command line option "-Wmissing-declarations" is valid for C/ObjC but not for C++
[ 50%] Building CXX object storage/connect/CMakeFiles/connect.dir/xobject.cpp.o
cc1plus: warning: command line option "-Wmissing-declarations" is valid for C/ObjC but not for C++
/Users/7stud/Downloads/mariadb-10.0.15/storage/connect/xobject.cpp: In member function ‘bool STRING::Set(char*, uint)’:
/Users/7stud/Downloads/mariadb-10.0.15/storage/connect/xobject.cpp:275: error: ‘strnlen’ was not declared in this scope
make[2]: *** [storage/connect/CMakeFiles/connect.dir/xobject.cpp.o] Error 1
make[1]: *** [storage/connect/CMakeFiles/connect.dir/all] Error 2
make: *** [all] Error 2

~/Downloads/mariadb-10.0.15$ gcc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

接下来,使用自制软件:

上次登录时间:1 月 16 日星期五 03:28:09 在 ttys001 ~$ brew install mariadb
==> 安装 mariadb 依赖项:pidof ==> 正在下载http://www.nightproductions.net/downloads/pidof_source.tar.gz

################################################# ################ 100.0%

==> 修补 ==> 使所有 CC=gcc-4.2 CFLAGS= /Users/7stud/.homebrew/Cellar/pidof/0.1.4: 3 个文件,24K,内置 3 秒 ==> 安装 mariadb ==> 正在下载http://ftp.osuosl.org/pub/mariadb/mariadb-10.0.15/source/mariadb-10.0.15.tar.gz

################################################# ################ 100.0%

==> 修补 ==> cmake 。 -DCMAKE_INSTALL_PREFIX=/Users/7stud/.homebrew/Cellar/mariadb/10.0.15 -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE ==> 制作 cd /tmp/mariadb-0ocIfC/mariadb-10.0.15/storage/innobase && /Users/7stud/.homebrew/Cellar/cmake/3.1.0/bin/cmake -E cmake_link_script CMakeFiles/innobase.dir/link.txt --verbose=1 /Users/7stud/.homebrew/Library/ENV/3.2.6/g++-4.2 -Wall -Wall -Wno-unused-parameter -fno-exceptions -fno-rtti -O2 -g -DNDEBUG -DDBUG_OFF -bundle -Wl,-headerpad_max_install_names -o ha_innodb.so CMakeFiles/innobase.dir/api/api0api.cc.o CMakeFiles/innobase.dir/api/api0misc.cc.o CMakeFiles/innobase.dir/btr/btr0btr.cc.o CMakeFiles/innobase.dir/btr/btr0cur.cc.o CMakeFiles/innobase.dir/btr/btr0pcur.cc.o CMakeFiles/innobase.dir/btr/btr0sea.cc.o CMakeFiles/innobase.dir/buf/buf0buddy.cc.o CMakeFiles/innobase.dir/buf/buf0buf.cc.o CMakeFiles/innobase.dir/buf/buf0dblwr.cc.o CMakeFiles/innobase.dir/buf/buf0checksum.cc.o CMakeFiles/innobase.dir/buf/buf0dump.cc.o CMakeFiles/innobase.dir/buf/buf0flu.cc.o CMakeFiles/innobase.dir/buf/buf0lru.cc.o CMakeFiles/innobase.dir/buf/buf0rea.cc.o CMakeFiles/innobase.dir/data/data0data.cc.o CMakeFiles/innobase.dir/data/data0type.cc.o CMakeFiles/innobase.dir/dict/dict0boot.cc.o CMakeFiles/innobase.dir/dict/dict0crea.cc.o CMakeFiles/innobase.dir/dict/dict0dict.cc.o CMakeFiles/innobase.dir/dict/dict0load.cc.o CMakeFiles/innobase.dir/dict/dict0mem.cc.o CMakeFiles/innobase.dir/dict/dict0stats.cc.o CMakeFiles/innobase.dir/dict/dict0stats_bg.cc.o CMakeFiles/innobase.dir/dyn/dyn0dyn.cc.o CMakeFiles/innobase.dir/eval/eval0eval.cc.o CMakeFiles/innobase.dir/eval/eval0proc.cc.o CMakeFiles/innobase.dir/fil/fil0fil.cc.o CMakeFiles/innobase.dir/fsp/fsp0fsp.cc.o CMakeFiles/innobase.dir/fut/fut0fut.cc.o CMakeFiles/innobase.dir/fut/fut0lst.cc.o CMakeFiles/innobase.dir/ha/ha0ha.cc.o CMakeFiles/innobase.dir/ha/ha0storage.cc.o CMakeFiles/innobase.dir/ha/hash0hash.cc.o CMakeFiles/innobase.dir/fts/fts0fts.c​​c.o CMakeFiles/innobase.dir/fts/fts0ast.cc.o CMakeFiles/innobase.dir/fts/fts0blex.cc.o CMakeFiles/innobase.dir/fts/fts0config.cc.o CMakeFiles/innobase.dir/fts/fts0opt.cc.o CMakeFiles/innobase.dir/fts/fts0pars.cc.o CMakeFiles/innobase.dir/fts/fts0que.cc.o CMakeFiles/innobase.dir/fts/fts0sql.cc.o CMakeFiles/innobase.dir/fts/fts0tlex.cc.o CMakeFiles/innobase.dir/handler/ha_innodb.cc.o CMakeFiles/innobase.dir/handler/handler0alter.cc.o CMakeFiles/innobase.dir/handler/i_s.cc.o CMakeFiles/innobase.dir/ibuf/ibuf0ibuf.cc.o CMakeFiles/innobase.dir/lock/lock0iter.cc.o CMakeFiles/innobase.dir/lock/lock0lock.cc.o CMakeFiles/innobase.dir/lock/lock0wait.cc.o CMakeFiles/innobase.dir/log/log0log.cc.o CMakeFiles/innobase.dir/log/log0recv.cc.o CMakeFiles/innobase.dir/mach/mach0data.cc.o CMakeFiles/innobase.dir/mem/mem0mem.cc.o CMakeFiles/innobase.dir/mem/mem0pool.cc.o CMakeFiles/innobase.dir/mtr/mtr0log.cc.o CMakeFiles/innobase.dir/mtr/mtr0mtr.cc.o CMakeFiles/innobase.dir/os/os0file.cc.o CMakeFiles/innobase.dir/os/os0proc.cc.o CMakeFiles/innobase.dir/os/os0sync.cc.o CMakeFiles/innobase.dir/os/os0thread.cc.o CMakeFiles/innobase.dir/page/page0cur.cc.o CMakeFiles/innobase.dir/page/page0page.cc.o CMakeFiles/innobase.dir/page/page0zip.cc.o CMakeFiles/innobase.dir/pars/lexyy.cc.o CMakeFiles/innobase.dir/pars/pars0grm.cc.o CMakeFiles/innobase.dir/pars/pars0opt.cc.o CMakeFiles/innobase.dir/pars/pars0pars.cc.o CMakeFiles/innobase.dir/pars/pars0sym.cc.o CMakeFiles/innobase.dir/que/que0que.cc.o CMakeFiles/innobase.dir/read/read0read.cc.o CMakeFiles/innobase.dir/rem/rem0cmp.cc.o CMakeFiles/innobase.dir/rem/rem0rec.cc.o CMakeFiles/innobase.dir/row/row0ext.cc.o CMakeFiles/innobase.dir/row/row0ftsort.cc.o CMakeFiles/innobase.dir/row/row0import.cc.o CMakeFiles/innobase.dir/row/row0ins.cc.o CMakeFiles/innobase.dir/row/row0merge.cc.o CMakeFiles/innobase.dir/row/row0mysql.cc.o CMakeFiles/innobase.dir/row/row0log.cc.o CMakeFiles/innobase.dir/row/row0purge.cc.o CMakeFiles/innobase.dir/row/row0row.cc.o CMakeFiles/innobase.dir/row/row0sel.cc.o CMakeFiles/innobase.dir/row/row0uins.cc.o CMakeFiles/innobase.dir/row/row0umod.cc.o CMakeFiles/innobase.dir/row/row0undo.cc.o CMakeFiles/innobase.dir/row/row0upd.cc.o CMakeFiles/innobase.dir/row/row0quiesce.cc.o CMakeFiles/innobase.dir/row/row0vers.cc.o CMakeFiles/innobase.dir/srv/srv0conc.cc.o CMakeFiles/innobase.dir/srv/srv0mon.cc.o CMakeFiles/innobase.dir/srv/srv0srv.cc.o CMakeFiles/innobase.dir/srv/srv0start.cc.o CMakeFiles/innobase.dir/sync/sync0arr.cc.o CMakeFiles/innobase.dir/sync/sync0rw.cc.o CMakeFiles/innobase.dir/sync/sync0sync.cc.o CMakeFiles/innobase.dir/trx/trx0i_s.cc.o CMakeFiles/innobase.dir/trx/trx0purge.cc.o CMakeFiles/innobase.dir/trx/trx0rec.cc.o CMakeFiles/innobase.dir/trx/trx0roll.cc.o CMakeFiles/innobase.dir/trx/trx0rseg.cc.o CMakeFiles/innobase.dir/trx/trx0sys.cc.o CMakeFiles/innobase.dir/trx/trx0trx.cc.o CMakeFiles/innobase.dir/trx/trx0undo.cc.o CMakeFiles/innobase.dir/usr/usr0sess.cc.o CMakeFiles/innobase.dir/ut/ut0bh.cc.o CMakeFiles/innobase.dir/ut/ut0byte.cc.o CMakeFiles/innobase.dir/ut/ut0crc32.cc.o CMakeFiles/innobase.dir/ut/ut0dbg.cc.o CMakeFiles/innobase.dir/ut/ut0list.cc.o CMakeFiles/innobase.dir/ut/ut0mem.cc.o CMakeFiles/innobase.dir/ut/ut0rbt.cc.o CMakeFiles/innobase.dir/ut/ut0rnd.cc.o CMakeFiles/innobase.dir/ut/ut0ut.cc.o CMakeFiles/innobase.dir/ut/ut0vec.cc.o CMakeFiles/innobase.dir/ut/ut0wqueue.cc.o ../../libservices/libmysqlservices.a -Wl,-bundle_loader,/tmp/mariadb-0ocIfC/mariadb-10.0.15/sql/mysqld /usr/local/lib/libz.dylib /usr/local/lib/libz.dylib /Users/7stud/.homebrew/Cellar/cmake/3.1.0/bin/cmake -E cmake_progress_report /tmp/mariadb-0ocIfC/mariadb-10.0.15/CMakeFiles 19 20 21 22 23 24 25 26 27 28 [ 95%] 内置目标 innobase 品牌:*** [全部] 错误 2

阅读:http://git.io/brew-troubleshooting

这些未解决的问题也可能有所帮助:mysql-connector-c++ cannot build with mariadb (https://github.com/Homebrew/homebrew/issues/34578) 包 mariadb 不满足 --with-mysql 选项 (https://github.com/Homebrew/homebrew/issues/32973) mariadb: 失踪 /usr/local/etc/my.cnf.d,被 brew prune 删除 (https://github.com/Homebrew/homebrew/issues/31760) ~$

【问题讨论】:

  • mariadb 使用 mac 端口或 brew 在 mac 上直接安装 ...
  • @GerardRozsavolgyi,我忘了——我也试过自制软件。我将添加这些结果。
  • 听起来像是与安装的其他一些软件包(mysql-connector-c++)发生冲突,但听起来很奇怪。我用 mac 端口安装它没有问题,但不确定 mac 端口和 brew 是否可以和平共处......你可以尝试删除这个包?
  • @GerardRozsavolgyi,请注意我的输出没有说明 mysql-connector-c++。这来自一些自动搜索工具:这些未解决的问题可能会有所帮助...。我检查了 mysql-connector-c++ 链接,那里似乎没有与我的问题相关的内容。我的错误似乎是由名为 innobase:Built target innobase make: *** [all] Error 2 的东西引起的。 Homebrew 构建了 innobase,但无法完成 make 步骤。

标签: mariadb


【解决方案1】:

你能试试这个吗:

brew update
brew doctor
brew install mariadb

参考https://mariadb.com/kb/en/mariadb/building-mariadb-on-mac-os-x-using-homebrew/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-11
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2016-08-20
    • 1970-01-01
    相关资源
    最近更新 更多