[Maria-developers] MariaDB build dependencies
Hello, The original MariaDB debian/control in bzr/mariadb-5.5 lists many more dependencies than what are likely to be needed: Build-Depends: libtool (>= 1.4.2-7), procps | hurd, debhelper, file (>= 3.28), libncurses5-dev (>= 5.0-6), perl (>= 5.6.0), libwrap0-dev (>= 7.6-8.3), zlib1g-dev (>= 1:1.1.3-5), ${LIBREADLINE_DEV}, libevent-dev, libssl-dev, libpam0g-dev, psmisc, po-debconf, chrpath, automake1.9, doxygen, texlive-latex-base, ghostscript | gs-gpl, dpatch, gawk, bison, lsb-release, hardening-wrapper, ${CMAKE_DEP}libaio-dev The source builds error free with just: libaio-dev libncurses5-dev perl libwrap0-dev zlib1g-dev libreadline-gplv2-dev po-debconf psmisc chrpath gawk bison lsb-release hardening-wrapper cmake libssl-dev libboost1.48-dev libpam0g-dev Can anybody tell me how in particular these are supposed to affect the build process? - libevent-dev - doxygen, texlive-latex-base, ghostscript | gs-gpl - gawk Debian MySQL team has a page https://wiki.debian.org/Teams/MySQL/BuildDependencies but obiviously MariaDB is different in these aspects, for example MariaDB needs libpam0g-dev for auth_pam.so which does not exist in MySQL. If anybody can explain the above that would be great, thanks!
On 3 Feb 2014, at 19:39, Otto Kekäläinen <otto@seravo.fi> wrote:
Can anybody tell me how in particular these are supposed to affect the build process? - libevent-dev
Old threadpool needed this, so this is an old dependency for MariaDB 5.1-5.3. The 5.5 threadpool doesn't use libevent, so can be safely removed
- doxygen, texlive-latex-base, ghostscript | gs-gpl - gawk
Not sure why these are required... -- Colin Charles, Chief Evangelist MariaDB | t: +6-012-204-3201 | Skype: colincharles
Otto Kekäläinen <otto@seravo.fi> writes:
Can anybody tell me how in particular these are supposed to affect the build process? - libevent-dev
I think libevent was at some point used for the thread pool. But that the current thread pool implementation does not use libevent due to performance reason. So it should be safe to remove libevent-dev from the build dependencies. Note that tests/async_queries.c requires libevent. But it is just an example, and it doesn't really need to be packaged. tests/async_queries.c will just not be built if libevent is not available.
- doxygen, texlive-latex-base, ghostscript | gs-gpl
Yeah, I always wondered that as well. Maybe something related to generating documentation or similar, that was used at some point? It should be fine to omit it. Additional comments: - libtool (>= 1.4.2-7), automake1.9 I suppose a remnant from pre-5.5 where autotools were used, should be fine to remove. - procps | hurd Seems debian/rules uses /proc to guess a good make -j value, and jemalloc config.guess tries to guess the CPU from it. Neither is a good argument to keep it in build-dep - Kristian.
Thanks Kristian and Colin for quick replies and confirming that dependencies are now optimal. 2014-02-03 Kristian Nielsen <knielsen@knielsen-hq.org>:
- procps | hurd
Seems debian/rules uses /proc to guess a good make -j value, and jemalloc config.guess tries to guess the CPU from it. Neither is a good argument to keep it in build-dep
None of the above is no longer used in my debian/rules, insted it runs dh_* --parallel Related to gawk I looked at this http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=302284 and I'll remove it.
participants (3)
-
Colin Charles
-
Kristian Nielsen
-
Otto Kekäläinen