[debian-mysql] compile help needed
Norvald H. Ryeng
norvald.ryeng at oracle.com
Tue Apr 14 14:28:51 UTC 2015
On Tue, 14 Apr 2015 14:48:18 +0200, Bjoern Boschman <bjoern at boschman.de>
wrote:
> Hi folks,
>
> I just wanted to push mysql-5.6.24 into the git repo, but I got the
> following compile error (beautified):
>
> cd /home/jesusch/git/mysql/mysql-5.6/builddir-pic/libmysqld
> /usr/bin/x86_64-linux-gnu-g++ \
> -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H -DMYSQL_SERVER -DEMBEDDED_LIBRARY
> -O3 \
> -DBIG_JOINS=1 -felide-constructors -fno-exceptions -fpermissive
> -fno-rtti -fPIC \
> -fno-strict-aliasing -fPIC -Wall -Wextra -Wformat-security -Wvla
> -Woverloaded-virtual \
> -Wno-unused-parameter -O3 -g -fabi-version=2 \
> -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF \
> -I/home/jesusch/git/mysql/mysql-5.6/builddir-pic/include \
> -I/home/jesusch/git/mysql/mysql-5.6/include \
> -I/home/jesusch/git/mysql/mysql-5.6/libmysql \
> -I/home/jesusch/git/mysql/mysql-5.6/libmysqld \
> -I/home/jesusch/git/mysql/mysql-5.6/sql \
> -I/home/jesusch/git/mysql/mysql-5.6/builddir-pic/sql \
> -I/home/jesusch/git/mysql/mysql-5.6/regex \
> -I/home/jesusch/git/mysql/mysql-5.6/extra/yassl/include \
> -I/home/jesusch/git/mysql/mysql-5.6/extra/yassl/taocrypt/include \
> -I/home/jesusch/git/mysql/mysql-5.6/extra/yassl/taocrypt/mySTL \
> -I/home/jesusch/git/mysql/mysql-5.6/sql/backup \
> -DHAVE_YASSL -DYASSL_PREFIX -DHAVE_OPENSSL -DMULTI_THREADED \
> -o CMakeFiles/sql_embedded.dir/__/sql/sql_yacc.cc.o \
> -c /home/jesusch/git/mysql/mysql-5.6/builddir-pic/sql/sql_yacc.cc
> /export/home/pb2/build/sb_0-14808611-1427300997.94/mysql-5.6.24-release-export-7763014_gpl/sql/sql_yacc.yy:67:23:
> fatal error: lex_token.h: file or directory not found
> compilation terminated.
>
> According to the supplied include folders this is correct.
>
> lex_token.h exists but not in $(BUILDDIR_PIC) aka
> -I/home/jesusch/git/mysql/mysql-5.6/builddir-pic/include
> It exists in BUILDDIR
>
> So my question: what is responsible for copying files from BUILDDIR to
> BUILDDIR_PIC?
> Or even more generic - why two different folders at all (Sorry I'm not a
> C/C++ guy).
The whole libmysqld-pic package is unnecessary in 5.6. MySQL is built with
-fPIC by default, so we should just drop it.
Files in BUILDDIR and BUILDDIR_PIC should be put there by CMake. I don't
see why it should behave differently for -pic. There have been race
conditions in the rules file before. Maybe you hit one?
Norvald
More information about the pkg-mysql-maint
mailing list