Thanks for Brian's answer*
*
1   I add the missed,such as
        [root@mail postfix-2.9.3]# make -f Makefile.init makefiles
CCARGS="-DHAS_MYSQL -I/usr/local/mysql/include"
AUXLIBS="-L/usr/local/mysql/lib  -lmysqlclient"
    and still have the problem, sorry about long log


[root@mail postfix-2.9.3]# make
set -e; for i in src/util src/global src/dns src/tls src/xsasl src/milter
src/master src/postfix src/fsstone src/smtpstone src/sendmail src/error
src/pickup src/cleanup src/smtpd src/local src/trivial-rewrite src/qmgr
src/oqmgr src/smtp src/bounce src/pipe src/showq src/postalias src/postcat
src/postconf src/postdrop src/postkick src/postlock src/postlog src/postmap
src/postqueue src/postsuper src/qmqpd src/spawn src/flush src/verify
src/virtual src/proxymap src/anvil src/scache src/discard src/tlsmgr
src/postmulti src/postscreen src/dnsblog src/tlsproxy; do \
         (set -e; echo "[$i]"; cd $i; make 'CC=gcc -Wmissing-prototypes
-Wformat -DHAS_MYSQL -I/usr/local/mysql/include' update MAKELEVEL=) || exit
1; \
        done
[src/util]
for i in argv.h attr.h attr_clnt.h auto_clnt.h base64_code.h binhash.h
chroot_uid.h cidr_match.h clean_env.h connect.h ctable.h dict.h dict_cdb.h
dict_cidr.h dict_db.h dict_dbm.h dict_env.h dict_ht.h dict_ni.h dict_nis.h
dict_nisplus.h dict_pcre.h dict_regexp.h dict_sdbm.h dict_static.h
dict_tcp.h dict_unix.h dir_forest.h events.h exec_command.h find_inet.h
fsspace.h fullname.h get_domainname.h get_hostname.h hex_code.h hex_quote.h
host_port.h htable.h inet_addr_host.h inet_addr_list.h inet_addr_local.h
inet_proto.h iostuff.h line_wrap.h listen.h lstat_as.h mac_expand.h
mac_parse.h make_dirs.h mask_addr.h match_list.h msg.h msg_output.h
msg_syslog.h msg_vstream.h mvect.h myaddrinfo.h myflock.h mymalloc.h
myrand.h name_code.h name_mask.h netstring.h nvtable.h open_as.h
open_lock.h percentm.h posix_signals.h readlline.h ring.h safe.h
safe_open.h sane_accept.h sane_connect.h sane_fsops.h sane_socketpair.h
sane_time.h scan_dir.h set_eugid.h set_ugid.h sigdelay.h sock_addr.h
spawn_command.h split_at.h stat_as.h stringops.h sys_defs.h timed_connect.h
timed_wait.h trigger.h username.h valid_hostname.h vbuf.h vbuf_print.h
vstream.h vstring.h vstring_vstream.h watchdog.h format_tv.h load_file.h
killme_after.h edit_file.h dict_cache.h dict_thash.h ip_match.h nbbio.h
base32_code.h dict_fail.h warn_stat.h; \
        do \
          cmp -s $i ../../include/$i 2>/dev/null || cp $i ../../include; \
        done
cd ../../include; chmod 644 argv.h attr.h attr_clnt.h auto_clnt.h
base64_code.h binhash.h chroot_uid.h cidr_match.h clean_env.h connect.h
ctable.h dict.h dict_cdb.h dict_cidr.h dict_db.h dict_dbm.h dict_env.h
dict_ht.h dict_ni.h dict_nis.h dict_nisplus.h dict_pcre.h dict_regexp.h
dict_sdbm.h dict_static.h dict_tcp.h dict_unix.h dir_forest.h events.h
exec_command.h find_inet.h fsspace.h fullname.h get_domainname.h
get_hostname.h hex_code.h hex_quote.h host_port.h htable.h inet_addr_host.h
inet_addr_list.h inet_addr_local.h inet_proto.h iostuff.h line_wrap.h
listen.h lstat_as.h mac_expand.h mac_parse.h make_dirs.h mask_addr.h
match_list.h msg.h msg_output.h msg_syslog.h msg_vstream.h mvect.h
myaddrinfo.h myflock.h mymalloc.h myrand.h name_code.h name_mask.h
netstring.h nvtable.h open_as.h open_lock.h percentm.h posix_signals.h
readlline.h ring.h safe.h safe_open.h sane_accept.h sane_connect.h
sane_fsops.h sane_socketpair.h sane_time.h scan_dir.h set_eugid.h
set_ugid.h sigdelay.h sock_addr.h spawn_command.h split_at.h stat_as.h
stringops.h sys_defs.h timed_connect.h timed_wait.h trigger.h username.h
valid_hostname.h vbuf.h vbuf_print.h vstream.h vstring.h vstring_vstream.h
watchdog.h format_tv.h load_file.h killme_after.h edit_file.h dict_cache.h
dict_thash.h ip_match.h nbbio.h base32_code.h dict_fail.h warn_stat.h
[src/global]
gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/local/mysql/include -g
-O -I. -I../../include -DLINUX2 -c dict_mysql.c
dict_mysql.c:169:19: error: mysql.h: No such file or directory
dict_mysql.c:199: error: expected specifier-qualifier-list before ‘MYSQL’
dict_mysql.c:245: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘*’ token
dict_mysql.c: In function ‘dict_mysql_lookup’:
dict_mysql.c:290: error: ‘MYSQL_RES’ undeclared (first use in this function)
dict_mysql.c:290: error: (Each undeclared identifier is reported only once
dict_mysql.c:290: error: for each function it appears in.)
dict_mysql.c:290: error: ‘query_res’ undeclared (first use in this function)
dict_mysql.c:291: error: ‘MYSQL_ROW’ undeclared (first use in this function)
dict_mysql.c:291: error: expected ‘;’ before ‘row’
dict_mysql.c:369: error: ‘row’ undeclared (first use in this function)
dict_mysql.c: In function ‘dict_mysql_check_stat’:
dict_mysql.c:392: error: ‘HOST’ has no member named ‘stat’
dict_mysql.c:392: error: ‘HOST’ has no member named ‘type’
dict_mysql.c:394: error: ‘HOST’ has no member named ‘stat’
dict_mysql.c:394: error: ‘HOST’ has no member named ‘ts’
dict_mysql.c:394: error: ‘HOST’ has no member named ‘ts’
dict_mysql.c: In function ‘dict_mysql_get_active’:
dict_mysql.c:443: error: ‘HOST’ has no member named ‘hostname’
dict_mysql.c:459: error: ‘HOST’ has no member named ‘hostname’
dict_mysql.c:461: error: ‘HOST’ has no member named ‘stat’
dict_mysql.c: In function ‘dict_mysql_event’:
dict_mysql.c:475: error: ‘HOST’ has no member named ‘db’
dict_mysql.c: At top level:
dict_mysql.c:486: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘*’ token
dict_mysql.c: In function ‘plmysql_connect_single’:
dict_mysql.c:539: error: ‘HOST’ has no member named ‘db’
dict_mysql.c:541: error: ‘HOST’ has no member named ‘db’
dict_mysql.c:542: error: ‘HOST’ has no member named ‘type’
dict_mysql.c:542: error: ‘HOST’ has no member named ‘name’
dict_mysql.c:546: error: ‘HOST’ has no member named ‘port’
dict_mysql.c:547: error: ‘HOST’ has no member named ‘type’
dict_mysql.c:547: error: ‘HOST’ has no member named ‘name’
dict_mysql.c:551: error: ‘HOST’ has no member named ‘hostname’
dict_mysql.c:552: error: ‘HOST’ has no member named ‘stat’
dict_mysql.c:555: error: ‘HOST’ has no member named ‘hostname’
dict_mysql.c:555: error: ‘HOST’ has no member named ‘db’
dict_mysql.c: In function ‘plmysql_close_host’:
dict_mysql.c:563: error: ‘HOST’ has no member named ‘db’
dict_mysql.c:564: error: ‘HOST’ has no member named ‘db’
dict_mysql.c:565: error: ‘HOST’ has no member named ‘stat’
dict_mysql.c: In function ‘plmysql_down_host’:
dict_mysql.c:574: error: ‘HOST’ has no member named ‘db’
dict_mysql.c:575: error: ‘HOST’ has no member named ‘db’
dict_mysql.c:576: error: ‘HOST’ has no member named ‘ts’
dict_mysql.c:577: error: ‘HOST’ has no member named ‘stat’
dict_mysql.c: In function ‘host_init’:
dict_mysql.c:715: error: ‘HOST’ has no member named ‘db’
dict_mysql.c:716: error: ‘HOST’ has no member named ‘hostname’
dict_mysql.c:717: error: ‘HOST’ has no member named ‘port’
dict_mysql.c:718: error: ‘HOST’ has no member named ‘stat’
dict_mysql.c:719: error: ‘HOST’ has no member named ‘ts’
dict_mysql.c:727: error: ‘HOST’ has no member named ‘type’
dict_mysql.c:731: error: ‘HOST’ has no member named ‘type’
dict_mysql.c:733: error: ‘HOST’ has no member named ‘name’
dict_mysql.c:734: error: ‘HOST’ has no member named ‘name’
dict_mysql.c:735: error: ‘HOST’ has no member named ‘port’
dict_mysql.c:736: error: ‘HOST’ has no member named ‘name’
dict_mysql.c:738: error: ‘HOST’ has no member named ‘name’
dict_mysql.c:739: error: ‘HOST’ has no member named ‘name’
dict_mysql.c:740: error: ‘HOST’ has no member named ‘type’
dict_mysql.c:744: error: ‘HOST’ has no member named ‘name’
dict_mysql.c:744: error: ‘HOST’ has no member named ‘name’
dict_mysql.c:745: error: ‘HOST’ has no member named ‘port’
dict_mysql.c:745: error: ‘HOST’ has no member named ‘type’
dict_mysql.c: In function ‘plmysql_dealloc’:
dict_mysql.c:778: error: ‘HOST’ has no member named ‘db’
dict_mysql.c:779: error: ‘HOST’ has no member named ‘db’
dict_mysql.c:780: error: ‘HOST’ has no member named ‘hostname’
dict_mysql.c:781: error: ‘HOST’ has no member named ‘name’
dict_mysql.c:782: error: ‘HOST’ has no member named ‘name’
make: *** [dict_mysql.o] Error 1
make: *** [update] Error 1


2   I read the document http://www.postfix.org/PCRE_README.html , use
command like that
        [root@mail postfix-2.9.3]# make -f Makefile.init makefiles
CCARGS="-DHAS_PCRE -I/usr/local/include" AUXLIBS="-L/usr/local/lib
-R/usr/local/lib -lpcre"
    and still so long log, sorry


[root@mail postfix-2.9.3]# make
set -e; for i in src/util src/global src/dns src/tls src/xsasl src/milter
src/master src/postfix src/fsstone src/smtpstone src/sendmail src/error
src/pickup src/cleanup src/smtpd src/local src/trivial-rewrite src/qmgr
src/oqmgr src/smtp src/bounce src/pipe src/showq src/postalias src/postcat
src/postconf src/postdrop src/postkick src/postlock src/postlog src/postmap
src/postqueue src/postsuper src/qmqpd src/spawn src/flush src/verify
src/virtual src/proxymap src/anvil src/scache src/discard src/tlsmgr
src/postmulti src/postscreen src/dnsblog src/tlsproxy; do \
         (set -e; echo "[$i]"; cd $i; make 'CC=gcc -Wmissing-prototypes
-Wformat -DHAS_PCRE -I/usr/local/include' update MAKELEVEL=) || exit 1; \
        done
[src/util]
gcc -Wmissing-prototypes -Wformat -DHAS_PCRE -I/usr/local/include -g -O -I.
-DLINUX2 -c dict_pcre.c
dict_pcre.c:61:18: error: pcre.h: No such file or directory
dict_pcre.c:86: error: expected specifier-qualifier-list before ‘pcre’
dict_pcre.c:102: error: expected specifier-qualifier-list before ‘pcre’
dict_pcre.c:111: error: expected specifier-qualifier-list before ‘pcre’
dict_pcre.c: In function ‘dict_pcre_expand’:
dict_pcre.c:182: error: ‘PCRE_ERROR_NOSUBSTRING’ undeclared (first use in
this function)
dict_pcre.c:182: error: (Each undeclared identifier is reported only once
dict_pcre.c:182: error: for each function it appears in.)
dict_pcre.c: In function ‘dict_pcre_exec_error’:
dict_pcre.c:215: error: ‘PCRE_ERROR_NULL’ undeclared (first use in this
function)
dict_pcre.c:216: error: ‘PCRE_ERROR_BADOPTION’ undeclared (first use in
this function)
dict_pcre.c:219: error: ‘PCRE_ERROR_BADMAGIC’ undeclared (first use in this
function)
dict_pcre.c:220: error: ‘PCRE_ERROR_UNKNOWN_NODE’ undeclared (first use in
this function)
dict_pcre.c: In function ‘dict_pcre_lookup’:
dict_pcre.c:290: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘pattern’
dict_pcre.c:290: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘hints’
dict_pcre.c:296: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘match’
dict_pcre.c:298: error: ‘PCRE_ERROR_NOMATCH’ undeclared (first use in this
function)
dict_pcre.c:299: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘match’
dict_pcre.c:312: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘max_sub’
dict_pcre.c:313: error: ‘DICT_PCRE_MATCH_RULE’ has no member named
‘replacement’
dict_pcre.c:325: error: ‘DICT_PCRE_MATCH_RULE’ has no member named
‘replacement’
dict_pcre.c:341: error: ‘DICT_PCRE_IF_RULE’ has no member named ‘pattern’
dict_pcre.c:341: error: ‘DICT_PCRE_IF_RULE’ has no member named ‘hints’
dict_pcre.c:347: error: ‘DICT_PCRE_IF_RULE’ has no member named ‘match’
dict_pcre.c:350: error: ‘DICT_PCRE_IF_RULE’ has no member named ‘match’
dict_pcre.c: In function ‘dict_pcre_close’:
dict_pcre.c:389: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘pattern’
dict_pcre.c:390: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘pattern’
dict_pcre.c:391: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘hints’
dict_pcre.c:392: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘hints’
dict_pcre.c:393: error: ‘DICT_PCRE_MATCH_RULE’ has no member named
‘replacement’
dict_pcre.c:394: error: ‘DICT_PCRE_MATCH_RULE’ has no member named
‘replacement’
dict_pcre.c:398: error: ‘DICT_PCRE_IF_RULE’ has no member named ‘pattern’
dict_pcre.c:399: error: ‘DICT_PCRE_IF_RULE’ has no member named ‘pattern’
dict_pcre.c:400: error: ‘DICT_PCRE_IF_RULE’ has no member named ‘hints’
dict_pcre.c:401: error: ‘DICT_PCRE_IF_RULE’ has no member named ‘hints’
dict_pcre.c: In function ‘dict_pcre_get_pattern’:
dict_pcre.c:470: error: ‘PCRE_CASELESS’ undeclared (first use in this
function)
dict_pcre.c:470: error: ‘PCRE_DOTALL’ undeclared (first use in this
function)
dict_pcre.c:477: error: ‘PCRE_MULTILINE’ undeclared (first use in this
function)
dict_pcre.c:483: error: ‘PCRE_EXTENDED’ undeclared (first use in this
function)
dict_pcre.c:486: error: ‘PCRE_ANCHORED’ undeclared (first use in this
function)
dict_pcre.c:489: error: ‘PCRE_DOLLAR_ENDONLY’ undeclared (first use in this
function)
dict_pcre.c:492: error: ‘PCRE_UNGREEDY’ undeclared (first use in this
function)
dict_pcre.c:495: error: ‘PCRE_EXTRA’ undeclared (first use in this function)
dict_pcre.c: In function ‘dict_pcre_compile’:
dict_pcre.c:556: error: ‘DICT_PCRE_ENGINE’ has no member named ‘pattern’
dict_pcre.c:558: error: ‘DICT_PCRE_ENGINE’ has no member named ‘pattern’
dict_pcre.c:563: error: ‘DICT_PCRE_ENGINE’ has no member named ‘hints’
dict_pcre.c:563: error: ‘DICT_PCRE_ENGINE’ has no member named ‘pattern’
dict_pcre.c:567: error: ‘DICT_PCRE_ENGINE’ has no member named ‘pattern’
dict_pcre.c: In function ‘dict_pcre_parse_rule’:
dict_pcre.c:693: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘match’
dict_pcre.c:694: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘max_sub’
dict_pcre.c:696: error: ‘DICT_PCRE_MATCH_RULE’ has no member named
‘replacement’
dict_pcre.c:698: error: ‘DICT_PCRE_MATCH_RULE’ has no member named
‘replacement’
dict_pcre.c:699: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘pattern’
dict_pcre.c:699: error: ‘DICT_PCRE_ENGINE’ has no member named ‘pattern’
dict_pcre.c:700: error: ‘DICT_PCRE_MATCH_RULE’ has no member named ‘hints’
dict_pcre.c:700: error: ‘DICT_PCRE_ENGINE’ has no member named ‘hints’
dict_pcre.c:746: error: ‘DICT_PCRE_IF_RULE’ has no member named ‘match’
dict_pcre.c:747: error: ‘DICT_PCRE_IF_RULE’ has no member named ‘pattern’
dict_pcre.c:747: error: ‘DICT_PCRE_ENGINE’ has no member named ‘pattern’
dict_pcre.c:748: error: ‘DICT_PCRE_IF_RULE’ has no member named ‘hints’
dict_pcre.c:748: error: ‘DICT_PCRE_ENGINE’ has no member named ‘hints’
dict_pcre.c: In function ‘dict_pcre_open’:
dict_pcre.c:840: error: ‘pcre_malloc’ undeclared (first use in this
function)
dict_pcre.c:841: error: ‘pcre_free’ undeclared (first use in this function)
make: *** [dict_pcre.o] Error 1
make: *** [update] Error 1


I don't know how to fix it. Help me
Thanks a lot

TOM


2012/7/11 Brian Evans - Postfix List <grkni...@scent-team.com>

> On 7/10/2012 11:52 AM, Feel Zhou wrote:
> > Hello My friend
> >
> > My system is Centos 6.2 with postfix-2.6.6, When I use command
> > postconf -m, and got many support:
> > btree;cidr;environ;hash;ldap;mysql;nis;pcre;proxy;regexp;static;unix;
> > So I down the new version postfix-2.9.3, and use make install, got
> > some problem.
> >         [root@mail]make -f Makefile.init makefiles  \
> >         >CCARGS="-DHAS_DB -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -DUSE_TLS
> > -DHAS_LDAP \
> >         >-I/usr/local/include -I/usr/local/BerkeleyDB/include
> > -I/usr/include/sasl "  \
> >         >AUXLIBS="-L/usr/local/lib -L/usr/local/BerkeleyDB/lib
> > -L/usr/lib/sasl2 \
> >         > -ldb -lssl -lcrypto -lsasl2  -lz -lm -lldap -llber"
> > postconf -m, support:
> >
> btree;cidr;environ;fail;hash;internal;ldap;memcache;nis;proxy;regexp;static;tcp;texthash;unix;
> > This is work well. But do not support mysql and pcre
> > 1   If I add "-DHAS_MYSQL -I/usr/local/mysql/include" in CCARGS
> >     and add "-L/usr/local/mysql/lib" in AUXLIBS, the command make will
> > be error about mysql.
>
> You missed '-lmysqlclient' in the AUXLIBS as noted in
> http://www.postfix.org/MYSQL_README.html.
>
> > 2  How can I support pcre,  because I need the perl support.
>
> Because you did not request it.
> Please review http://www.postfix.org/PCRE_README.html
>
> Brian
>
>

Reply via email to