[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