No se puede instalar Meld a través de MacPorts 2.0.3 en OSX 10.6.8

5

Estoy tratando de hacer que Meld entre en mi caja de OS X 10.6.8 usando MacPorts 2.0.3 y no estoy teniendo éxito.

bobk-mbp:opt bobk$ port version
Version: 2.0.3
bobk-mbp:opt bobk$ sudo port install meld
--->  Computing dependencies for meld
--->  Dependencies to be installed: py26-gnome libgnomeui py26-gtk py26-cairo py26-numpy fftw-3 py26-nose py26-distribute python26 py26-py py26-gobject py26-orbit
--->  Building libgnomeui
Error: Target org.macports.build returned: shell command failed (see log for details)
Error: Failed to install libgnomeui
Log for libgnomeui is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnome_libgnomeui/libgnomeui/main.log
Error: The following dependencies were not installed: py26-gnome libgnomeui py26-gtk py26-cairo py26-numpy fftw-3 py26-nose py26-distribute python26 py26-py py26-gobject py26-orbit
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

Cuando veo /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnome_libgnomeui/libgnomeui/main.log tiene una línea como ...

:error:build Failed to install libgnomeui
:debug:build couldn't open "/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/tclIndex": no such file or directory
    while executing
"open [file join $dir tclIndex]"
:notice:build Log for libgnomeui is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnome_libgnomeui/libgnomeui/main.log

... y ese archivo falta en mi sistema. ¿A donde voy desde aqui? Realmente quiero un pedazo de esa bondad de Meld.

¿Por qué MacPorts no puede instalar meld en mi caja de OS x 10.6.8?

    
pregunta Bob Kuhar 13.12.2011 - 08:46

3 respuestas

2

Intente limpiar y luego actualice todos los paquetes instalados antes de crear Meld:

sudo port clean all
sudo port selfupdate
sudo port upgrade outdated
sudo port selfupdate # just to make sure...
sudo port install meld
    
respondido por el robbyt 18.03.2012 - 17:41
5

La ejecución de mdfind -name tclIndex en Mac OS X 10.6.8 muestra que la ruta a tclIndex es /System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/Scripts/tclIndex !

De todos modos, si hay un sistema MacPorts 2.0.3 prístino que se ejecuta en Mac OS X 10.6.8, meld se instala sin quejas (graves).

Lo mismo ocurre con koffice siempre que pueda usar una versión anterior de libpng (< 1.4); esto se puede lograr al dar a koffice su propio sistema MacPorts 2.0.3 en una ubicación personalizada, e. sol. /opt/macports-koffice .

Pruebe el siguiente script de Bash para ver si este enfoque también funciona para su máquina:

#!/bin/bash

# cat mpmeld
#
# 1. back up the old /opt/local MacPorts system by moving it to ${opt_local_off}
# 2. install a fresh MacPorts 2.0.3 system to /opt/local for building meld 
# 3. install a fresh MacPorts 2.0.3 system to /opt/macports-koffice for building koffice (due to PNG_MAX_UINT error)

# usage: 
# sudo -H -i                                                 # get a root shell to prevent sudo timeout
# /path/to/mpmeld 3>&1 1>&2 2>&3 3>&- | tee mpmeld.log       # swap stdout & stderr to log stderr messages only

# koffice usage:
# /opt/macports-koffice/bin/port contents koffice | grep '/bin/' | nl
# /opt/macports-koffice/bin/kword 2>/dev/null
# /opt/macports-koffice/bin/koconverter --help-all

# See also:
# What does 'Xlib: extension "RANDR" missing on display "/tmp/launch-XXXXXX/:0"' mean?
# https://trac.macports.org/wiki/FAQ#randr

unset CDPATH PATH IFS LC_ALL

IFS=$' \t\n'
LC_ALL=C
PATH=/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
export IFS LC_ALL PATH

#if [[ $(id -u) -ne 0 ]]; then
if [[ $(id -u) -ne 0 ]] || [[ "${HOME}" != '/var/root' ]]; then
   echo 'This script must be run as root!' 1>&2
   echo 'To get a root shell to prevent sudo timeout use: sudo -H -i' 1>&2
   exit 1
fi

# prevent idle sleep
pmset noidle &
PMSETPID=$!
pmset -a force sleep 0 displaysleep 0 disksleep 0

sleep 1
usr_local_off="/usr/local-off-$(date '+%Y-%m-%d-%H_%M_%S')"
opt_local_off="/opt/local-off-$(date '+%Y-%m-%d-%H_%M_%S')"
opt_macports_koffice_off="/opt/macports-koffice-off-$(date '+%Y-%m-%d-%H_%M_%S')"


tmpDir="$(mktemp -d /tmp/macports.XXXXXX)" || exit 1

trap "
   #set -xv
   cd    # avoid: sudo: cannot get working directory
   [[ -d '${tmpDir}' ]] && rm -rfv '${tmpDir}'
   [[ -d '${usr_local_off}' ]] && sudo mv -iv '${usr_local_off}' /usr/local
   kill -TERM ${PMSETPID}
   exit
" EXIT TERM HUP INT QUIT

# make sure /usr/local is not interfering with MacPorts build processes for /opt/local
[[ -d '/usr/local' ]] && sudo mv -iv /usr/local "${usr_local_off}"

# back up the old MacPorts system
[[ -d '/opt/local' ]] && sudo mv -iv /opt/local "${opt_local_off}"

# back up /opt/macports-koffice
[[ -d '/opt/macports-koffice' ]] && sudo mv -iv /opt/macports-koffice "${opt_macports_koffice_off}"


# meld

cd "${tmpDir}" || exit 1

curl -L -O https://distfiles.macports.org/MacPorts/MacPorts-2.0.3-10.6-SnowLeopard.dmg

hdiutil mount MacPorts-2.0.3-10.6-SnowLeopard.dmg
installer -pkg /Volumes/MacPorts-2.0.3/MacPorts-2.0.3.pkg -target "/"
hdiutil unmount /Volumes/MacPorts-2.0.3

port -v selfupdate
port -f install meld

# enable dbus with launchd
launchctl load -w /Library/LaunchDaemons/org.freedesktop.dbus-system.plist
launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist


# koffice

# get a fresh MacPorts 2.0.3 install in /opt/macports-koffice for koffice
# note: koffice @1.6.3, Revision 4  requires libpng < 1.4  (due to PNG_MAX_UINT error)

cd "${tmpDir}" || exit 1

# cf. http://guide.macports.org/#installing.macports.source.multiple
unset PATH
export PATH='/bin:/sbin:/usr/bin:/usr/sbin'
curl -L -O https://distfiles.macports.org/MacPorts/MacPorts-2.0.3.tar.bz2
tar -xjf MacPorts-2.0.3.tar.bz2
cd MacPorts-2.0.3 || exit 1
MP_PREFIX='/opt/macports-koffice'
./configure --prefix="${MP_PREFIX}" --with-applications-dir="${MP_PREFIX}/Applications"
make
make install

# get the Portfiles and update the system
/opt/macports-koffice/bin/port -v selfupdate


# see: "How to install an older version of a port", 
# https://trac.macports.org/wiki/howto/InstallingOlderPort

cd "${tmpDir}" || exit 1
svn co -r 71090 http://svn.macports.org/repository/macports/trunk/dports/graphics/libpng
chmod  755 "${tmpDir}"  # avoid error message: could not read "/path/to/Portfile": permission denied
cd libpng || exit 1
/opt/macports-koffice/bin/port install -v +universal
cd "${tmpDir}" || exit 1

/opt/macports-koffice/bin/port -f install koffice

find /Applications/MacPorts /Library/LaunchAgents /Library/LaunchDaemons -name "*.mp_*[[:digit:]]" -delete

exit 0
    
respondido por el carlo 23.02.2012 - 18:09
1

Parece que necesitas (re) instalar Tcl. Puede obtenerlo aquí . Tuve que hacer esto recientemente, aunque por un problema algo diferente y funcionó para mí. Por cierto, también estoy ejecutando 10.6.8, por lo que parece que el Tcl instalado de forma nativa está en desuso para mi / tus propósitos.

    
respondido por el soxman 23.02.2012 - 19:23

Lea otras preguntas en las etiquetas