[MDEV-3854] Makefiles are incompatible with automake 1.12 Created: 2012-11-12  Updated: 2013-02-28  Resolved: 2013-02-28

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.3.9, 5.1.62
Fix Version/s: 5.3.11, 5.1.73, 5.2.15

Type: Bug Priority: Minor
Reporter: Elena Stepanova Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: upstream
Environment:

openSUSE 12.2 / automake 1.12.1


Attachments: File mdev-3854.patch    
Issue Links:
PartOf
is part of MDEV-4213 5.5.30 merge Closed
Relates

 Description   

Build on a machine with openSUSE 12.2 (automake 1.12.1) fails:

/bin/sh ../libtool  --tag=CC   --mode=link ccache gcc -Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Werror -DFORCE_INIT_OF_VARS -Wdeclaration-after-statement -g -Wall -Wextra -Wunused -Wwrite-strings -Wno-uninitialized -mtune=native -DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC -DFORCE_INIT_OF_VARS -Wuninitialized     -DUNIV_LINUX -DUNIV_LINUX  -rdynamic  -o libvio.la  vio.lo viosocket.lo viossl.lo viosslfactories.lo  -lnsl -lrt -lresolv -lpthread -lcrypt -lnsl -lm  -lpthread -lrt
libtool: link: ar cru .libs/libvio.a .libs/vio.o .libs/viosocket.o .libs/viossl.o .libs/viosslfactories.o
libtool: link: ranlib .libs/libvio.a
libtool: link: ( cd ".libs" && rm -f "libvio.la" && ln -s "../libvio.la" "libvio.la" )
/usr/bin/cp .libs/libvio.a libvio.a
gmake[1]: Leaving directory `/home/elenst/maria-5.3/vio'
Making all in sql
gmake[1]: Entering directory `/home/elenst/maria-5.3/sql'
/bin/sh ../ylwrap sql_yacc.yy y.tab.c sql_yacc.cc y.tab.h `echo sql_yacc.cc | sed -e s/cc$/hh/ -e s/cpp$/hpp/ -e s/cxx$/hxx/ -e s/c++$/h++/ -e s/c$/h/` y.output sql_yacc.output -- bison -y -p MYSQL -d --verbose
gmake[1]: *** No rule to make target `sql_yacc.h', needed by `all'.  Stop.
gmake[1]: *** Waiting for unfinished jobs....
updating sql_yacc.hh
updating sql_yacc.output
gmake[1]: Leaving directory `/home/elenst/maria-5.3/sql'
gmake: *** [all-recursive] Error 1

I use BUILD/compile-pentium-debug-max-no-ndb.

This is caused by the incompatible change in automake. Starting from 1.12, a header file, generated from C++ yacc file with the yy extension, has an extention hh, while before that it had an extension h. Our Makefile.am uses and refers to sql_yacc.h file, while new automake creates a rule for sql_yacc.hh, see above.



 Comments   
Comment by Elena Stepanova [ 2012-12-18 ]

I don't know whether it's the right way to do it, but the patch worked for me (over maria/5.3 revno 3606), so I'm attaching it at least to make it simpler for myself next time.

Comment by Sergei Golubchik [ 2013-02-28 ]

pushed

Generated at Thu Feb 08 06:51:47 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.