problem compiling postfix

Doug Silver dsilver at urchin.com
Thu Apr 3 10:12:30 PST 2003


On Thursday 03 April 2003 09:37 am, Monte Ohrt wrote:
> Hi,
>
> I'm a newbie to FreeBSD, I love the ports collection and how it works!
> I've had good success compiling/installing complicated packages such as
> mysql/apache/php, very nice!
>
> Today I tried compiling postfix from the ports tree (up-to-date with
> CVSup), selecting LDAP and MySQL support, and I ran into this error:
>
> <snip>
> [src/error]
> gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/local/include/mysql
> -DHAS_LDAP -I/usr/local/include -DHAS_PCRE -I/usr/local/include  -O
> -pipe -mcpu=pentiumpro -I. -I../../include -DFREEBSD5 -c error.c
> gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/local/include/mysql
> -DHAS_LDAP -I/usr/local/include -DHAS_PCRE -I/usr/local/include  -O
> -pipe -mcpu=pentiumpro -I. -I../../include -DFREEBSD5 -o error error.o
> ../../lib/libmaster.a ../../lib/libglobal.a ../../lib/libutil.a
> /usr/local/lib/mysql/libmysqlclient.a -lm -lz /usr/local/lib/libldap.a
> /usr/local/lib/liblber.a -L/usr/local/lib -lpcre
> /usr/local/lib/libldap.a(tls.o): In function `ldap_pvt_tls_destroy':
> tls.o(.text+0xf): undefined reference to `SSL_CTX_free'
> tls.o(.text+0x1e): undefined reference to `EVP_cleanup'
> tls.o(.text+0x23): undefined reference to `ERR_free_strings'
> /usr/local/lib/libldap.a(tls.o): In function `ldap_pvt_tls_init':
> tls.o(.text+0x117): undefined reference to `SSL_load_error_strings'
> tls.o(.text+0x11c): undefined reference to `SSL_library_init'
> tls.o(.text+0x121): undefined reference to
[snip]

>
>
>
> I did not select any SSL options for Postfix, so I'm not sure why it
> looks for these SSL related things. Something obvious I missed, or?
>
> TIA

I saw errors like that when compiling mod_php4, which was due to it trying to 
link in the libssl and/or libcrypto libraries.  You can probably see the 
exact error by looking in the config.log file.  These libraries are in the 
base system and will be installed in /usr/local if you install openssl from 
ports.  There are a couple of possible solutions:

1. Find the patch for /usr/ports/Mk/bsd.port.mk which forces it to use 
OPENSSLBASE/USE_OPENSSL_PORT directives in your make.conf file.  I have it, 
and it's been posted to this list in the past few weeks.

2. You could also try temporarily symlinking /usr/lib/libssl.so/libcrypto.so 
to the newer versions in /usr/local and see if that fixes it.

I've done both and things seem to be able to compile and work properly.  There 
are only a few things in the base system that link against them (sshd, pppd, 
etc).  I decided to use the ports ssh rather than the base, so this hasn't 
been a big inconvenience to work around the openssl library issue.

HTH.

-doug





More information about the freebsd-ports mailing list