port install postfix @2.9.2_0 +mysql55 fails to install in destroot

Bradley Giesbrecht pixilla at macports.org
Thu May 10 10:13:17 PDT 2012


On May 10, 2012, at 10:04 AM, Bjarne D Mathiesen wrote:

> OK ... I fixed the build problem ... now I've got problems with destroot :-(
> 
> Now, we've got the following in patch-cmake-install_layout.cmake.diff
> +SET(INSTALL_LIBDIR_MACPORTS             "lib/@NAME@/mysql")

Yes, change from "lib/@NAME@/mysql" to "lib/@NAME@" solves one problem and creates another. This is where I stopped to work on other deadlines.

> and in the postfix Portfile we've got
> lappend AUXLIBS "-L${prefix}/lib/mysql55/mysql" -lmysqlclient -lz -lm
> who are in complere agrement with each other.
> 
> However, at the start of the destroot phase I get :
> 
> DEBUG: Executing org.macports.destroot (postfix)
> dyld: Library not loaded: /macports/lib/mysql55/libmysqlclient.18.dylib
>  Referenced from:
> /macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_mail_postfix/postfix/work/postfix-2.9.2/bin/postconf
>  Reason: image not found
> 
> analysing this I find that
> 	/macports/lib/mysql55/libmysqlclient.18.dylib
> is a value that has been hardcoded into :
> 
> bash-4.2$ find /macports/lib -name 'libmysqlclient*' \
> | grep mysql55 \
> | xargs -n1 grep '/macports/lib/mysql55/libmysqlclient.18.dylib'
> Binary file /macports/lib/mysql55/mysql/libmysqlclient.18.dylib matches
> Binary file /macports/lib/mysql55/mysql/libmysqlclient.dylib matches
> Binary file /macports/lib/mysql55/mysql/libmysqlclient_r.18.dylib matches
> Binary file /macports/lib/mysql55/mysql/libmysqlclient_r.dylib matches
> 
> bash-4.2$ grep -R '/macports/lib/mysql55/libmysqlclient.18.dylib' $(port
> work postfix)/* | sed -E -e 's!.*work/!!'
> postfix-2.9.2/bin/postalias matches
> ... all /bin files ...
> postfix-2.9.2/bin/smtp-source matches
> postfix-2.9.2/libexec/anvil matches
> ... all /libexec files ...
> postfix-2.9.2/libexec/virtual matches
> postfix-2.9.2/src/anvil/anvil matches
> ... all /src files ...
> postfix-2.9.2/src/virtual/virtual matches
> 
> so something i clearly going wrong in mysql55
> 
> 1) the libmysqlclient files are installed in
>   ${prefix}/lib/mysql55/mysql
>   as they are supposed to
> 2) the libmysqlclient files think they are installed in
>   ${prefix}/lib/mysql55
>   and are passing this value on to other programs :
> bash-4.2$ port contents dovecot2 \
> | xargs -n1 grep '/macports/lib/mysql55/libmysqlclient'
> Binary file /macports/lib/dovecot/libdovecot-sql.0.dylib matches
> Binary file /macports/lib/dovecot/libdovecot-sql.dylib matches
> Binary file /macports/libexec/dovecot/auth matches
> Binary file /macports/libexec/dovecot/dict matches
> 
> so, we'll have to
> a) find where mysql55 inserts this incorrect value
> *-or-*
> b ) modify our install instruction to mysql55 as well as other program
> accordingly

If a) is due to a bug it would be nice to fix it and submit it to the mysql bug tracker.
If a) is not a bug we should b) fix the mysql55 install instructions.

> as to (a) that has left me completely stumped :-( I've been all over the
> source code without being able to find exactly where this happens :-(
> 
> as to (b) I've got it working with simple changes to
> 	patch-cmake-install_layout.cmake.diff
> 	the postfix Portfile

Can you share your changes to patch-cmake-install_layout.cmake.diff? 
Are they in BitBucket? Looking now...


Regards,
Bradley Giesbrecht (pixilla)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2763 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/macports-dev/attachments/20120510/e8e58e99/attachment-0001.bin>


More information about the macports-dev mailing list