Skip site navigation (1)Skip section navigation (2)
Date:      Fri,  6 Apr 2007 13:25:42 +0700 (NOVST)
From:      Dmitry A Grigorovich <odip@bionet.nsc.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/111307: [PATCH] ftp/proftpd can't build with both mysql and postgresql
Message-ID:  <20070406062542.0DD96218DF@manticore.bionet.nsc.ru>
Resent-Message-ID: <200704060630.l366UA2N099616@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         111307
>Category:       ports
>Synopsis:       [PATCH] ftp/proftpd can't build with both mysql and postgresql
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr 06 06:30:06 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Dmitry A Grigorovich
>Release:        FreeBSD 6.2-RELEASE-p3 i386
>Organization:
ICiG SB RAS, Russia
>Environment:
FreeBSD monk.bionet.nsc.ru 6.2-RELEASE-p3 FreeBSD 6.2-RELEASE-p3

>Description:

ftp/proftpd can't build when both options selected: MYSQL and POSTGRESQL

FreeBSD port generate following list of proftpd modules:
  mod_ratio:mod_readme:mod_rewrite:mod_wrap2:mod_sql:mod_sql_mysql:
  mod_sql:mod_sql_postgres:mod_ifsession

But configure from proftpd don't allow using mod_sql twice - it's abort !

>How-To-Repeat:

cd /usr/ports/ftp/proftpd
make rmconfig # default config
make config
# Select both MYSQL and POSTGRESQL !
make configure

Output:

root@monk# cd /usr/ports/ftp/proftpd
root@monk# make configure
===>  Found saved configuration for proftpd-1.3.1.r2_3
===>  Extracting for proftpd-1.3.1.r2_3
=> MD5 Checksum OK for proftpd-1.3.1rc2.tar.bz2.
=> SHA256 Checksum OK for proftpd-1.3.1rc2.tar.bz2.
===>  Patching for proftpd-1.3.1.r2_3
===>  Applying FreeBSD patches for proftpd-1.3.1.r2_3
===>   proftpd-1.3.1.r2_3 depends on executable in : gmake - found
===>   proftpd-1.3.1.r2_3 depends on file: /usr/local/bin/autoconf259 - found
===>   proftpd-1.3.1.r2_3 depends on shared library: mysqlclient.15 - found
===>   proftpd-1.3.1.r2_3 depends on shared library: pq.4 - found
===>  Configuring for proftpd-1.3.1.r2_3
==> Configuring with mod_ratio:mod_readme:mod_rewrite:mod_wrap2:mod_sql:mod_sql_mysql:mod_sql:mod_sql_postgres:mod_ifsession
configure: WARNING: you should use --build, --host, --target
...
...
...
checking whether printf supports %llu format... yes
checking for default transfer buffer sizes... 32768
checking checking for duplicate module requests... yes
configure: error: duplicate build request for mod_sql -- aborting
===>  Script "configure" failed unexpectedly.
Please report the problem to beech@alaskaparadise.com [maintainer] and attach
the "/usr/ports/ftp/proftpd/work/proftpd-1.3.1rc2/config.log" including the
output of the failure of your make command. Also, it might be a good idea to
provide an overview of all packages installed on your system (e.g. an s
/var/db/pkg).
*** Error code 1

Stop in /usr/ports/ftp/proftpd.
*** Error code 1

Stop in /usr/ports/ftp/proftpd.

>Fix:

Apply following patch
Reinstall ftp/proftpd

In fix we are avoid duplication mod_sql in ${MODULES}

--- patch-proftpd begins here ---
diff -urN proftpd/Makefile proftpd.new/Makefile
--- proftpd/Makefile	Sun Mar 25 08:33:59 2007
+++ proftpd.new/Makefile	Fri Apr  6 13:09:04 2007
@@ -65,6 +65,7 @@
 		CODECONV "Use charset conversion (mod_codeconv)" off
 
 MODULES?=
+MODULE_MOD_SQL?=
 LIBDIRS?=
 INCLUDEDIRS?=
 
@@ -155,7 +156,8 @@
 
 .if defined(WITH_MYSQL)
 USE_MYSQL=	yes
-MODULES:=${MODULES}:mod_sql:mod_sql_mysql
+MODULES:=${MODULES}:mod_sql_mysql
+MODULE_MOD_SQL:=mod_sql
 INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include:${LOCALBASE}/include/mysql
 LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib/mysql
 PLIST_SUB+=	MYSQL=""
@@ -165,7 +167,8 @@
 
 .if defined(WITH_POSTGRESQL)
 USE_PGSQL=	yes
-MODULES:=${MODULES}:mod_sql:mod_sql_postgres
+MODULES:=${MODULES}:mod_sql_postgres
+MODULE_MOD_SQL:=mod_sql
 INCLUDEDIRS:=${INCLUDEDIRS}:${LOCALBASE}/include
 LIBDIRS:=${LIBDIRS}:${LOCALBASE}/lib
 .endif
@@ -213,6 +216,9 @@
 
 # Keep this here below, in case similar constructs need to be made
 CONFIGURE_ENV+=	"LIBS=${PROFTPD_LIBS}"
+
+# Avoid duplication for mod_sql
+MODULES:=${MODULES}:${MODULE_MOD_SQL}
 
 .if !empty(MODULES)
 CONFIGURE_ARGS+=	--with-modules=${MODULES}
--- patch-proftpd ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070406062542.0DD96218DF>