[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