Linuxbrew-core: make fails for mariadb

Created on 18 May 2019  路  7Comments  路  Source: Homebrew/linuxbrew-core

Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.

  • [x] are reporting a bug others will be able to reproduce. (via Docker)
  • [x] have a problem with brew install (or upgrade, reinstall) a single, Homebrew/homebrew-core formula (not cask)
  • [x] ran brew update and can still reproduce the problem?
  • [x] ran brew doctor, fixed all issues and can still reproduce the problem?
  • [x] ran brew gist-logs <formula> (where <formula> is the name of the formula that failed) and included the output link?

https://gist.github.com/xama5/fa51458327bf7d79d3c2953c9940da07

  • [ ] if brew gist-logs didn't work: ran brew config and brew doctor and included their output with your issue?

To help us debug your issue please explain:

  • What you were trying to do (and why)

brew install mariadb

  • What happened (include command output)

make results in the following error

make[1]: Leaving directory '/tmp/mariadb-20190518-18354-dih1ro/mariadb-10.3.15'
make: *** [Makefile:155: all] Error 2

Digging deeper, by running the code at Makefile:155:

$(MAKE) -f CMakeFiles/Makefile2 all

gives me the following:

CMake Error at cmake/do_abi_check.cmake:81 (MESSAGE):
  ABI check found difference between
  /tmp/mariadb-20190518-18354-dih1ro/mariadb-10.3.15/include/mysql/plugin_audit.h.pp
  and /tmp/mariadb-20190518-18354-dih1ro/mariadb-10.3.15/abi_check.out


make[1]: *** [CMakeFiles/abi_check.dir/build.make:60: CMakeFiles/abi_check] Error 1
make[1]: Leaving directory '/tmp/mariadb-20190518-18354-dih1ro/mariadb-10.3.15'
  • What you expected to happen

make should succeed.

  • Step-by-step reproduction instructions (by running brew install commands)

This time, my issue is reproducible with the Dockerfile provided by Homebrew. :-)

There exists already an issue on this topic, but it has been prematurely closed: https://github.com/Homebrew/linuxbrew-core/issues/12189

build failure outdated

Most helpful comment

I was able to compile this but there were numerous dependency issues:

1) GSSAPI authentication requires headers from kerberos (the linuxbrew package name is krb5). I believe this dependency can be avoided by setting DPLUGIN_AUTH_GSSAPI to NO and DAUTH_GSSAPI_PLUGIN_TYPE to OFF in the install args, but I have not tested this.

2) JDBC connect requires headers from a JDK installation or the dependency can be avoided by setting DCONNECT_WITH_JDBC to 0 in the install args.

3) The dtrace component needs headers from systemtap to compile. I did not find a package systemtap in linuxbrew and I don't even know if that feature would work in a linuxbrew environment. It can be disabled by setting DENABLE_DTRACE to 0 in the install args.

4) Connecting with libxml2 requires headers from libxml2. This package was already installed in my linuxbrew installation, but the headers for libxml were located in $LINUXBREW_ROOT/include/libxml2/libxml while mariadb expects them to be in $LINUXBREW_ROOT/include/libxml. I just made a symlink to the libxml folder in my $LINUXBREW_ROOT/include folder, but the proper way to do this is to add $LINUXBREW_ROOT/include/libxml2 as an additional include directory to the install args. Alternatively, I think this can be disabled by setting DCONNECT_WITH_LIBXML2 to 0 in the install args.

I found the Gentoo build script for mariadb to be extremely helpful in figuring this out: https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-db/mariadb/mariadb-10.4.7-r1.ebuild.

While I suspect dtrace cannot be enabled regardless, for the other three features I think the linuxbrew maintainers will have to decide whether they want to add the additional dependencies or disable those features. I am not actually a mariadb user (I just needed to install this because libmysqlclient is a dependency for what I was really trying to install) so I don't know if those features are important or not.

All 7 comments

Hi. Yes, we have seen this issue. We were not able to get this to build. The best is probably to as upstream to help us. Right now nobody is working on this.

Guess I'll be busy getting this to work tomorrow. 馃槈

I have still this problem. The output is:

==> Installing mariadb
==> Downloading https://downloads.mariadb.org/f/mariadb-10.4.6/source/mariadb-10.4.6.tar.gz
==> Downloading from http://mirror.ufscar.br/mariadb//mariadb-10.4.6/source/mariadb-10.4.6.tar.gz
######################################################################## 100.0%
==> cmake . -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/home/linuxbrew/.linuxbrew/
==> make
Last 15 lines from /home/gusbemacbe/.cache/Homebrew/Logs/mariadb/02.make:
[ 49%] Building CXX object storage/rocksdb/CMakeFiles/rocksdblib.dir/rocksdb/env/env_posix.cc.o
cd /tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb && /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super/g++-5  -DHAVE_CONFIG_H -DHAVE_SCHED_GETCPU=1 -DHAVE_TIMER_DELETE -DOS_LINUX -DROCKSDB_FALLOCATE_PRESENT -DROCKSDB_LIB_IO_POSIX -DROCKSDB_MALLOC_USABLE_SIZE -DROCKSDB_PLATFORM_POSIX -DROCKSDB_SCHED_GETCPU_PRESENT -DROCKSDB_SUPPORT_THREAD_LOCAL -DZLIB -DZSTD -D_FILE_OFFSET_BITS=64 -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/wsrep-lib/include -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/wsrep-lib/wsrep-API/v26 -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/include -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/sql -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/pcre -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb/include -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb/util -isystem /tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb/third-party/gtest-1.7.0/fused-src  -pie -fPIC -Wl,-z,relro,-z,now -fstack-protector --param=ssp-buffer-size=4 -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF   -fPIC -fno-builtin-memcmp -std=gnu++11 -o CMakeFiles/rocksdblib.dir/rocksdb/env/env_posix.cc.o -c /tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb/env/env_posix.cc
[ 49%] Building CXX object storage/rocksdb/CMakeFiles/rocksdblib.dir/rocksdb/env/io_posix.cc.o
cd /tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb && /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super/g++-5  -DHAVE_CONFIG_H -DHAVE_SCHED_GETCPU=1 -DHAVE_TIMER_DELETE -DOS_LINUX -DROCKSDB_FALLOCATE_PRESENT -DROCKSDB_LIB_IO_POSIX -DROCKSDB_MALLOC_USABLE_SIZE -DROCKSDB_PLATFORM_POSIX -DROCKSDB_SCHED_GETCPU_PRESENT -DROCKSDB_SUPPORT_THREAD_LOCAL -DZLIB -DZSTD -D_FILE_OFFSET_BITS=64 -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/wsrep-lib/include -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/wsrep-lib/wsrep-API/v26 -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/include -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/sql -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/pcre -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb/include -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb/util -isystem /tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb/third-party/gtest-1.7.0/fused-src  -pie -fPIC -Wl,-z,relro,-z,now -fstack-protector --param=ssp-buffer-size=4 -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF   -fPIC -fno-builtin-memcmp -std=gnu++11 -o CMakeFiles/rocksdblib.dir/rocksdb/env/io_posix.cc.o -c /tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb/env/io_posix.cc
[ 49%] Building CXX object storage/rocksdb/CMakeFiles/rocksdblib.dir/build_version.cc.o
cd /tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb && /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/shims/linux/super/g++-5  -DHAVE_CONFIG_H -DHAVE_SCHED_GETCPU=1 -DHAVE_TIMER_DELETE -DOS_LINUX -DROCKSDB_FALLOCATE_PRESENT -DROCKSDB_LIB_IO_POSIX -DROCKSDB_MALLOC_USABLE_SIZE -DROCKSDB_PLATFORM_POSIX -DROCKSDB_SCHED_GETCPU_PRESENT -DROCKSDB_SUPPORT_THREAD_LOCAL -DZLIB -DZSTD -D_FILE_OFFSET_BITS=64 -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/wsrep-lib/include -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/wsrep-lib/wsrep-API/v26 -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/include -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/sql -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/pcre -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb/include -I/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb/util -isystem /tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/rocksdb/third-party/gtest-1.7.0/fused-src  -pie -fPIC -Wl,-z,relro,-z,now -fstack-protector --param=ssp-buffer-size=4 -DNDEBUG -D_FORTIFY_SOURCE=2 -DDBUG_OFF   -fPIC -fno-builtin-memcmp -std=gnu++11 -o CMakeFiles/rocksdblib.dir/build_version.cc.o -c /tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb/build_version.cc
[ 49%] Linking CXX static library librocksdblib.a
cd /tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb && /home/linuxbrew/.linuxbrew/Cellar/cmake/3.15.1/bin/cmake -P CMakeFiles/rocksdblib.dir/cmake_clean_target.cmake
cd /tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6/storage/rocksdb && /home/linuxbrew/.linuxbrew/Cellar/cmake/3.15.1/bin/cmake -E cmake_link_script CMakeFiles/rocksdblib.dir/link.txt --verbose=1
/home/linuxbrew/.linuxbrew/bin/ar qc librocksdblib.a  CMakeFiles/rocksdblib.dir/rocksdb/cache/clock_cache.cc.o CMakeFiles/rocksdblib.dir/rocksdb/cache/lru_cache.cc.o CMakeFiles/rocksdblib.dir/rocksdb/cache/sharded_cache.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/builder.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/c.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/column_family.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/compacted_db_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/compaction.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/compaction_iterator.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/compaction_job.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/compaction_picker.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/compaction_picker_universal.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/convenience.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/db_filesnapshot.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/db_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/db_impl_compaction_flush.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/db_impl_debug.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/db_impl_experimental.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/db_impl_files.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/db_impl_open.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/db_impl_readonly.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/db_impl_write.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/db_info_dumper.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/db_iter.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/dbformat.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/error_handler.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/event_helpers.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/experimental.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/external_sst_file_ingestion_job.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/file_indexer.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/flush_job.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/flush_scheduler.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/forward_iterator.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/internal_stats.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/log_reader.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/log_writer.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/logs_with_prep_tracker.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/malloc_stats.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/managed_iterator.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/memtable.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/memtable_list.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/merge_helper.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/merge_operator.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/range_del_aggregator.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/repair.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/snapshot_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/table_cache.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/table_properties_collector.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/transaction_log_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/version_builder.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/version_edit.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/version_set.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/wal_manager.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/write_batch.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/write_batch_base.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/write_controller.cc.o CMakeFiles/rocksdblib.dir/rocksdb/db/write_thread.cc.o CMakeFiles/rocksdblib.dir/rocksdb/env/env.cc.o CMakeFiles/rocksdblib.dir/rocksdb/env/env_chroot.cc.o CMakeFiles/rocksdblib.dir/rocksdb/env/env_hdfs.cc.o CMakeFiles/rocksdblib.dir/rocksdb/env/mock_env.cc.o CMakeFiles/rocksdblib.dir/rocksdb/memtable/alloc_tracker.cc.o CMakeFiles/rocksdblib.dir/rocksdb/memtable/hash_cuckoo_rep.cc.o CMakeFiles/rocksdblib.dir/rocksdb/memtable/hash_linklist_rep.cc.o CMakeFiles/rocksdblib.dir/rocksdb/memtable/hash_skiplist_rep.cc.o CMakeFiles/rocksdblib.dir/rocksdb/memtable/skiplistrep.cc.o CMakeFiles/rocksdblib.dir/rocksdb/memtable/vectorrep.cc.o CMakeFiles/rocksdblib.dir/rocksdb/memtable/write_buffer_manager.cc.o CMakeFiles/rocksdblib.dir/rocksdb/monitoring/histogram.cc.o CMakeFiles/rocksdblib.dir/rocksdb/monitoring/histogram_windowing.cc.o CMakeFiles/rocksdblib.dir/rocksdb/monitoring/instrumented_mutex.cc.o CMakeFiles/rocksdblib.dir/rocksdb/monitoring/iostats_context.cc.o CMakeFiles/rocksdblib.dir/rocksdb/monitoring/perf_context.cc.o CMakeFiles/rocksdblib.dir/rocksdb/monitoring/perf_level.cc.o CMakeFiles/rocksdblib.dir/rocksdb/monitoring/statistics.cc.o CMakeFiles/rocksdblib.dir/rocksdb/monitoring/thread_status_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/monitoring/thread_status_updater.cc.o CMakeFiles/rocksdblib.dir/rocksdb/monitoring/thread_status_util.cc.o CMakeFiles/rocksdblib.dir/rocksdb/monitoring/thread_status_util_debug.cc.o CMakeFiles/rocksdblib.dir/rocksdb/options/cf_options.cc.o CMakeFiles/rocksdblib.dir/rocksdb/options/db_options.cc.o CMakeFiles/rocksdblib.dir/rocksdb/options/options.cc.o CMakeFiles/rocksdblib.dir/rocksdb/options/options_helper.cc.o CMakeFiles/rocksdblib.dir/rocksdb/options/options_parser.cc.o CMakeFiles/rocksdblib.dir/rocksdb/options/options_sanity_check.cc.o CMakeFiles/rocksdblib.dir/rocksdb/port/stack_trace.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/adaptive_table_factory.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/block.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/block_based_filter_block.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/block_based_table_builder.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/block_based_table_factory.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/block_based_table_reader.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/block_builder.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/block_fetcher.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/block_prefix_index.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/bloom_block.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/cuckoo_table_builder.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/cuckoo_table_factory.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/cuckoo_table_reader.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/flush_block_policy.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/format.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/full_filter_block.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/get_context.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/index_builder.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/iterator.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/merging_iterator.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/meta_blocks.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/partitioned_filter_block.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/persistent_cache_helper.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/plain_table_builder.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/plain_table_factory.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/plain_table_index.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/plain_table_key_coding.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/plain_table_reader.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/sst_file_writer.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/table_properties.cc.o CMakeFiles/rocksdblib.dir/rocksdb/table/two_level_iterator.cc.o CMakeFiles/rocksdblib.dir/rocksdb/tools/db_bench_tool.cc.o CMakeFiles/rocksdblib.dir/rocksdb/tools/dump/db_dump_tool.cc.o CMakeFiles/rocksdblib.dir/rocksdb/tools/ldb_cmd.cc.o CMakeFiles/rocksdblib.dir/rocksdb/tools/ldb_tool.cc.o CMakeFiles/rocksdblib.dir/rocksdb/tools/sst_dump_tool.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/arena.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/auto_roll_logger.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/bloom.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/coding.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/compaction_job_stats_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/comparator.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/compression_context_cache.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/concurrent_arena.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/crc32c.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/delete_scheduler.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/dynamic_bloom.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/event_logger.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/file_reader_writer.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/file_util.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/filename.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/filter_policy.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/hash.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/log_buffer.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/murmurhash.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/random.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/rate_limiter.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/slice.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/sst_file_manager_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/status.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/status_message.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/string_util.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/sync_point.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/sync_point_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/testutil.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/thread_local.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/threadpool_imp.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/transaction_test_util.cc.o CMakeFiles/rocksdblib.dir/rocksdb/util/xxhash.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/backupable/backupable_db.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/blob_db/blob_db.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/checkpoint/checkpoint_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/col_buf_decoder.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/col_buf_encoder.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/column_aware_encoding_util.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/date_tiered/date_tiered_db_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/debug.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/document/document_db.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/document/json_document.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/document/json_document_builder.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/env_mirror.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/geodb/geodb_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/leveldb_options/leveldb_options.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/lua/rocks_lua_compaction_filter.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/memory/memory_util.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/merge_operators/max.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/merge_operators/put.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/merge_operators/string_append/stringappend.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/merge_operators/string_append/stringappend2.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/merge_operators/uint64add.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/option_change_migration/option_change_migration.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/options/options_util.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/persistent_cache/block_cache_tier.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/persistent_cache/block_cache_tier_file.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/persistent_cache/block_cache_tier_metadata.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/persistent_cache/persistent_cache_tier.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/persistent_cache/volatile_tier_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/redis/redis_lists.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/simulator_cache/sim_cache.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/spatialdb/spatial_db.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/table_properties_collectors/compact_on_deletion_collector.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/transactions/optimistic_transaction_db_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/transactions/pessimistic_transaction.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/transactions/pessimistic_transaction_db.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/transactions/snapshot_checker.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/transactions/transaction_base.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/transactions/transaction_db_mutex_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/transactions/transaction_lock_mgr.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/transactions/transaction_util.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/transactions/write_prepared_txn.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/transactions/write_prepared_txn_db.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/transactions/write_unprepared_txn.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/transactions/write_unprepared_txn_db.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/ttl/db_ttl_impl.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc.o CMakeFiles/rocksdblib.dir/rocksdb/utilities/write_batch_with_index/write_batch_with_index_internal.cc.o CMakeFiles/rocksdblib.dir/rocksdb/port/port_posix.cc.o CMakeFiles/rocksdblib.dir/rocksdb/env/env_posix.cc.o CMakeFiles/rocksdblib.dir/rocksdb/env/io_posix.cc.o CMakeFiles/rocksdblib.dir/build_version.cc.o
/home/linuxbrew/.linuxbrew/bin/ranlib librocksdblib.a
make[2]: Leaving directory '/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6'
[ 49%] Built target rocksdblib
make[1]: Leaving directory '/tmp/mariadb-20190731-13168-malkxs/mariadb-10.4.6'
make: *** [Makefile:155: all] Error 2

I was able to compile this but there were numerous dependency issues:

1) GSSAPI authentication requires headers from kerberos (the linuxbrew package name is krb5). I believe this dependency can be avoided by setting DPLUGIN_AUTH_GSSAPI to NO and DAUTH_GSSAPI_PLUGIN_TYPE to OFF in the install args, but I have not tested this.

2) JDBC connect requires headers from a JDK installation or the dependency can be avoided by setting DCONNECT_WITH_JDBC to 0 in the install args.

3) The dtrace component needs headers from systemtap to compile. I did not find a package systemtap in linuxbrew and I don't even know if that feature would work in a linuxbrew environment. It can be disabled by setting DENABLE_DTRACE to 0 in the install args.

4) Connecting with libxml2 requires headers from libxml2. This package was already installed in my linuxbrew installation, but the headers for libxml were located in $LINUXBREW_ROOT/include/libxml2/libxml while mariadb expects them to be in $LINUXBREW_ROOT/include/libxml. I just made a symlink to the libxml folder in my $LINUXBREW_ROOT/include folder, but the proper way to do this is to add $LINUXBREW_ROOT/include/libxml2 as an additional include directory to the install args. Alternatively, I think this can be disabled by setting DCONNECT_WITH_LIBXML2 to 0 in the install args.

I found the Gentoo build script for mariadb to be extremely helpful in figuring this out: https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-db/mariadb/mariadb-10.4.7-r1.ebuild.

While I suspect dtrace cannot be enabled regardless, for the other three features I think the linuxbrew maintainers will have to decide whether they want to add the additional dependencies or disable those features. I am not actually a mariadb user (I just needed to install this because libmysqlclient is a dependency for what I was really trying to install) so I don't know if those features are important or not.

AFAIK mariadb is a fork of mysql, so maybe we can adapt changes made to mysql here https://github.com/Homebrew/linuxbrew-core/pull/15615/commits to mariadb formula.

We provide a mariadb binary now: #16457

We were not able to fix the post install step, and not able to run the tests. But these are runtime issues, and these should be reported upstream if this hits you.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

hidvegin picture hidvegin  路  6Comments

lday0321 picture lday0321  路  7Comments

vkyt picture vkyt  路  4Comments

ndevenish picture ndevenish  路  4Comments

baranyildirim picture baranyildirim  路  6Comments