[MacPorts] #41196: py27-keybinder @0.3.0_1: No rule to make target `/opt/local/lib/libkeybinder.la', needed by `_keybinder.la'
MacPorts
noreply at macports.org
Mon Dec 2 05:41:38 PST 2013
#41196: py27-keybinder @0.3.0_1: No rule to make target
`/opt/local/lib/libkeybinder.la', needed by `_keybinder.la'
------------------------------+------------------------------
Reporter: marc.cortinas@… | Owner: ryandesign@…
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.2.1
Resolution: | Keywords: mavericks x86_64
Port: py27-keybinder |
------------------------------+------------------------------
Comment (by jean-daniel.pauget@…):
Replying to [comment:6 ryandesign@…]:
> The error in the log is:
> {{{
> make: *** No rule to make target `/opt/local/lib/libkeybinder.la',
needed by `_keybinder.la'. Stop.
> }}}
> On Mavericks and later, MacPorts by default deletes .la files because
they are usually not useful. However the python keybinder module appears
to require it. I'll need to either disabuse the python keybinder build
system of that requirement, or change the keybinder port to install the
.la files even on Mavericks and later.
I don't know fore sure where the modification stands in macports, but it
seems related to such kind of bugs :
https://trac.macports.org/ticket/39598 where the presence of .la files in
/opt/local/lib triggers bad path inclusion in DYLD_LIBRARY_PATH
my workaround so far is to keep all build-trees by turning
'''"portautoclean no"''' in '''/opt/local/etc/macports/macports.conf'''
right after a fresh (empty !) installation of macports.
then to build most things until I reach the troubles (port install
py27-keybinder) ...
at this point I copied all the .la files from the previous build with the
following ugly script :
{{{
#!/bin/bash
ls -ctr `find /opt/local/var/macports/build/ -name 'lib*.la' -type f` |
while read LIBLA
do
SHORTNAME=`echo "${LIBLA}" | rev | cut -d/ -f1 | rev | sed
's/\.la$//'`
sed
's#/opt/local/var/macports/build[_/abcdefghijklmnopqrstuvwxyz\.1234567890+-]*/\(lib[_/abcdefghijklmnopqrstuvwxyz\.1234567890+-]*\.la\)#/opt/local/lib/\1#g'
\
< "${LIBLA}" \
> "/opt/local/lib/${SHORTNAME}.la"
done
}}}
then port install py27-keybinder went without troubles ...
later on you'll run into some other bugs due to the presence of .la files
(like https://trac.macports.org/ticket/39598) simply move the .la files
out of the way :
{{{
mkdir /opt/local/la-libs && mv /opt/local/lib/*.la /opt/local/la-libs
}}}
some other package may miss the .la files (vte and terminator complains
about missing libpng.la) in such cases I copy back with either the above
script or from backups ...
fore sure, moving back and forth the .la files isn't really convenient ...
--
Ticket URL: <https://trac.macports.org/ticket/41196#comment:8>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list