
learn.catalyst at gmail
Apr 1, 2012, 9:22 PM
Post #5 of 7
(536 views)
Permalink
|
Ok so if I remove the link or leave it, the output from otool -L is /FOO/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/darwin-2level/auto/DBD/mysql/mysql.bundle: libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11) Which I did, but I did not understand what to do with the info. Any help there? I can also do the fix at the link by setting the path to the file in the environment variable export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/" I don't have an indexer or /usr/local/bin/search files so I don't know what to do with the install_name_tool exactly to set the paths. Won't this go away if the system gets updated link the symbolic link? sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/bin/indexer 2 3 4sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/bin/search It seems that adding it to the path for DYLD_LIBRARY_PATH is safe and stable and local so system updates are not a problem. On Sun, Apr 1, 2012 at 5:51 PM, Daniel J. Luke <dluke [at] geeklair> wrote: > On Apr 1, 2012, at 4:24 PM, Robyn Jonahs wrote: > > > > ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib > /usr/lib/libmysqlclient.18.dylib > > I guess that works, but you usually don't want to mess around with system > locations as updates from Apple might interfere with your changes there...) > > > The problem may have been caused by the mysql installation from root and > the perl installation being local? > > If you run the otool command I recommended, you would know more. > > I don't use mysql, so I haven't had this issue and don't know offhand what > is specifically going on for you. > > What likely happened is that DBD::mysql built with an incorrect > install_name set for libmysqlclient. > > The page you linked to showed how you can use install_name_tool to change > the location dyld would look for to find that library at runtime (this gets > set at build time). > > It's also possible that the install_name in libmysqlclient got set wrong > when it was built, so the wrong path got set on your DBD::mysql install > (install_name_tool could be used to fix both, in that case). > > By adding the symlink there, you're relying on the default fallback > behavior of dyld (see DYLD_FALLBACK_LIBRARY_PATH in man dyld) to find the > lib. > > -- > Daniel J. Luke > +========================================================+ > | *---------------- dluke [at] geeklair ----------------* | > | *-------------- http://www.geeklair.net -------------* | > +========================================================+ > | Opinions expressed are mine and do not necessarily | > | reflect the opinions of my employer. | > +========================================================+ > > > > > _______________________________________________ > List: Catalyst [at] lists > Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst > Searchable archive: > http://www.mail-archive.com/catalyst [at] lists/ > Dev site: http://dev.catalyst.perl.org/ >
|