Bug #106331 openwrt
Submitted: 30 Jan 2022 3:18 Modified: 30 Jan 2022 14:51
Reporter: Andy Syam Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.6 OS:Other
Assigned to: CPU Architecture:Any

[30 Jan 2022 3:18] Andy Syam
Description:
mysql-5.6.x error build openwrt

How to repeat:
hello everyone i want to run mysql in openwrt i have tried to create but i get error generating ../include/mysqld_error.h, ../sql/share/english/errmsg.sys /bin/sh: 1: comp_err: not found looks like mysqld_error.h was not created. I will show you Makefile

#
# Copyright (C) 2006-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/uclibc++.mk

PKG_NAME:=mysql
PKG_VERSION:=5.6.35
PKG_RELEASE:=2

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=\
	http://mysql.he.net/Downloads/MySQL-5.1/ \
	http://dev.mysql.com/get/Downloads/MySQL-5.5/ \
	https://downloads.mysql.com/archives/get/p/23/file/ \
	http://blog.s135.com/soft/linux/nginx_php/mysql/ \
	http://www.linorg.usp.br/mysql/Downloads/MySQL-5.1/ \
	http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQL-5.1/ \
	http://mirror.switch.ch/ftp/mirror/mysql/Downloads/MySQL-5.1/

PKG_MD5SUM:=e4f170f6f73aa94c0d8da90019545908
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
PKG_LICENSE:=GPL-2.0

PKG_BUILD_DEPENDS:=libncurses libreadline
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0

PKG_FIXUP:=libtool

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk

define Package/libmysqlclient/Default
  SECTION:=libs
  CATEGORY:=Libraries
  DEPENDS:=$(CXX_DEPENDS) +zlib
  TITLE:=MySQL client library
  URL:=http://dev.mysql.com/
endef

define Package/mysql-server
  SECTION:=utils
  CATEGORY:=Utilities
  DEPENDS:=+libmysqlclient +libpthread +libncursesw +libreadline
  TITLE:=MySQL Server
  URL:=http://dev.mysql.com/
  SUBMENU:=database
endef

define Package/libmysqlclient
  $(call Package/libmysqlclient/Default)
endef

define Package/libmysqlclient-r
  $(call Package/libmysqlclient/Default)
  TITLE += threadsafe
  DEPENDS+= +libpthread
endef

ifneq ($(CONFIG_USE_UCLIBCXX),)
  TARGET_CXX=g++-uc
endif

TARGET_CFLAGS += $(FPIC)

CMAKE_OPTIONS += -DSTACK_DIRECTION=-1

CONFIGURE_ARGS += \
	--enable-shared \
	--enable-static \
	--enable-thread-safe-client \
	--disable-assembler \
	--with-pthread \
	--with-server \
	--without-mysqlmanager \
	--with-mysqld-user=root \
	--with-unix-socket-path=/tmp \
	--without-libwrap \
	--with-low-memory \
	--without-embedded-server \
	--without-query-cache \
	--without-ssl \
	--without-docs \
	--without-man \
	--without-readline \
	--without-debug \
	--with-named-thread-libs=-lpthread

CONFIGURE_VARS += \
	mysql_cv_compress=yes \
	mysql_cv_gethostname_style=glibc2 \
	mysql_cv_gcc_atomic_builtins=yes \
	mysql_cv_gcc_atomic_builtins_pthread_t=yes \
	ac_cv_c_stack_direction=-1

define Build/Compile
	+$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
		SUBDIRS="include" \
		DESTDIR="$(PKG_INSTALL_DIR)" \
		all
	$(MAKE) -C "$(PKG_BUILD_DIR)" \
		SUBDIRS="include" \
		DESTDIR="$(PKG_INSTALL_DIR)" \
		install
	g++ -I $(PKG_BUILD_DIR)/include \
		-o $(PKG_BUILD_DIR)/sql/gen_lex_hash \
		$(PKG_BUILD_DIR)/sql/gen_lex_hash.cc
	+$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)/libmysql" \
		CC="g++" \
		CFLAGS="$(HOST_CFLAGS)" \
		CPPFLAGS="$(HOST_CFLAGS)" \
		LDFLAGS="$(HOST_LDFLAGS)" \
		conf_to_src
	+$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
		SUBDIRS="libmysql" \
		DESTDIR="$(PKG_INSTALL_DIR)" \
		all
	$(MAKE) -C "$(PKG_BUILD_DIR)" \
		SUBDIRS="libmysql" \
		DESTDIR="$(PKG_INSTALL_DIR)" \
		install
	+$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
		SUBDIRS="libmysql_r" \
		DESTDIR="$(PKG_INSTALL_DIR)" \
		all
	$(MAKE) -C "$(PKG_BUILD_DIR)" \
		SUBDIRS="libmysql_r" \
		DESTDIR="$(PKG_INSTALL_DIR)" \
		install
	$(MAKE) -C "$(PKG_BUILD_DIR)" \
		SUBDIRS="scripts" \
		DESTDIR="$(PKG_INSTALL_DIR)" \
		bin_SCRIPTS="mysql_config" \
		install
	+$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
		DESTDIR="$(PKG_INSTALL_DIR)" \
		all
	$(MAKE) -C "$(PKG_BUILD_DIR)" \
		DESTDIR="$(PKG_INSTALL_DIR)" \
		install
endef

define Build/InstallDev
	$(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_config $(1)/usr/bin/
	ln -sf $(STAGING_DIR)/usr/bin/mysql_config $(2)/bin/
	$(CP) $(PKG_INSTALL_DIR)/usr/include/mysql $(1)/usr/include/
	# NOTE: needed for MySQL-Python
	$(CP) $(PKG_BUILD_DIR)/include/mysqld_error.h $(1)/usr/include/mysql/
	$(CP) $(PKG_INSTALL_DIR)/usr/lib/mysql $(1)/usr/lib/
	rm -f $(1)/usr/lib/mysql/libmysqlclient.la
endef

define Package/libmysqlclient/install
	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) $(PKG_INSTALL_DIR)/usr/lib/mysql/libmysqlclient.so.* $(1)/usr/lib/
endef
define Package/libmysqlclient-r/install
	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) $(PKG_INSTALL_DIR)/usr/lib/mysql/libmysqlclient_r.so.* $(1)/usr/lib/
endef

define Package/mysql-server/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql $(1)/usr/bin/
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/mysqld $(1)/usr/bin/
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/myisamchk $(1)/usr/bin/
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysqladmin $(1)/usr/bin/
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysqldump $(1)/usr/bin/
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_install_db $(1)/usr/bin/
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/my_print_defaults $(1)/usr/bin/
	$(INSTALL_DIR) $(1)/etc/init.d/
	$(INSTALL_BIN) files/mysqld.init $(1)/etc/init.d/mysqld
	$(INSTALL_CONF) conf/my.cnf $(1)/etc/
	$(INSTALL_DIR) $(1)/usr/share/mysql
	$(INSTALL_DIR) $(1)/usr/share/mysql/english
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/mysql/english/errmsg.sys $(1)/usr/share/mysql/english
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/mysql/fill_help_tables.sql $(1)/usr/share/mysql/
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/mysql/mysql_system_tables.sql $(1)/usr/share/mysql/
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/mysql/mysql_system_tables_data.sql $(1)/usr/share/mysql/
endef

define Package/mysql-server/conffiles
/etc/my.cnf
endef

$(eval $(call BuildPackage,mysql-server))
$(eval $(call BuildPackage,libmysqlclient))
$(eval $(call BuildPackage,libmysqlclient-r))
[30 Jan 2022 4:17] Andy Syam
Log eror

[  5%] Building C object cmd-line-utils/libedit/CMakeFiles/edit.dir/tty.c.o
[  5%] Building C object cmd-line-utils/libedit/CMakeFiles/edit.dir/filecomplete.c.o
[  5%] Building C object cmd-line-utils/libedit/CMakeFiles/edit.dir/help.c.o
[  5%] Building C object cmd-line-utils/libedit/CMakeFiles/edit.dir/fcns.c.o
[  5%] Building C object cmd-line-utils/libedit/CMakeFiles/edit.dir/np/vis.c.o
[  5%] Building C object cmd-line-utils/libedit/CMakeFiles/edit.dir/np/unvis.c.o
[  5%] Linking C static library libedit.a
make[5]: Leaving directory '/home/admin/openwrt/build_dir/target-aarch64_generic_musl/mysql-5.6.35'
[  5%] Built target edit
make[5]: Entering directory '/home/admin/openwrt/build_dir/target-aarch64_generic_musl/mysql-5.6.35'
Scanning dependencies of target GenError
make[5]: Leaving directory '/home/admin/openwrt/build_dir/target-aarch64_generic_musl/mysql-5.6.35'
make[5]: Entering directory '/home/admin/openwrt/build_dir/target-aarch64_generic_musl/mysql-5.6.35'
[  5%] Generating ../include/mysqld_error.h, ../sql/share/english/errmsg.sys
/bin/sh: 1: comp_err: not found
extra/CMakeFiles/GenError.dir/build.make:63: recipe for target 'include/mysqld_error.h' failed
make[5]: *** [include/mysqld_error.h] Error 127
make[5]: Leaving directory '/home/admin/openwrt/build_dir/target-aarch64_generic_musl/mysql-5.6.35'
CMakeFiles/Makefile2:3729: recipe for target 'extra/CMakeFiles/GenError.dir/all' failed
make[4]: *** [extra/CMakeFiles/GenError.dir/all] Error 2
make[4]: Leaving directory '/home/admin/openwrt/build_dir/target-aarch64_generic_musl/mysql-5.6.35'
Makefile:162: recipe for target 'all' failed
make[3]: *** [all] Error 2
make[3]: Leaving directory '/home/admin/openwrt/build_dir/target-aarch64_generic_musl/mysql-5.6.35'
Makefile:194: recipe for target '/home/admin/openwrt/build_dir/target-aarch64_generic_musl/mysql-5.6.35/.built' failed
make[2]: *** [/home/admin/openwrt/build_dir/target-aarch64_generic_musl/mysql-5.6.35/.built] Error 2
make[2]: Leaving directory '/home/admin/openwrt/package/mysql'
time: package/mysql/compile#29.03#8.10#43.25
package/Makefile:111: recipe for target 'package/mysql/compile' failed
make[1]: *** [package/mysql/compile] Error 2
make[1]: Leaving directory '/home/admin/openwrt'
/home/admin/openwrt/include/toplevel.mk:218: recipe for target 'package/mysql/compile' failed
make: *** [package/mysql/compile] Error 2
admin@ip-172-26-2-117:~/openwrt$
[30 Jan 2022 14:51] MySQL Verification Team
Thank you for the bug report. 5.6. is EOL.

https://www.mysql.com/support/eol-notice.html

February 1, 2021

MySQL 5.6 is covered under Oracle Lifetime Sustaining Support
Per Oracle's Lifetime Support policy, as of February 1, 2021, MySQL 5.6 is covered under Oracle Sustaining Support.

Users are encouraged to upgrade to MySQL 8.0.
[30 Jan 2022 16:49] Terje Røsten
hi!

Your build script seems to be for MySQL 5.1.

Build system for MySQL on UNIX/Linux was changed from autotools and configure to CMake in MySQL 5.5, hence it's some work to port the script for use with MySQL 5.7+

There are some useful information here:

  https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html