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)

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev

Reply via email to