5 votes

Impossible d'installer Meld via MacPorts 2.0.3 sur OSX 10.6.8

J'essaie d'installer Meld sur mon ordinateur OS X 10.6.8 en utilisant MacPorts 2.0.3 et je n'y arrive pas.

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>

Lorsque je regarde dans le fichier /opt/local/var/macports/logs/opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnome_libgnomeui/libgnomeui/main.log, il y a une ligne comme...

: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

...et ce fichier est effectivement manquant sur mon système. Que dois-je faire maintenant ? Je veux vraiment un morceau de cette bonté de Meld.

Pourquoi MacPorts ne peut pas installer meld sur ma boîte os x 10.6.8 ?

5voto

thekbb Points 417

Running mdfind -name tclIndex sur Mac OS X 10.6.8 montre que le chemin d'accès à tclIndex est /System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources**/Scripts/**tclIndex !

Quoi qu'il en soit, s'il existe un système MacPorts 2.0.3 vierge fonctionnant sous Mac OS X 10.6.8, meld est installé sans aucune plainte (sérieuse).

Il en va de même pour koffice à condition qu'il puisse utiliser une version plus ancienne de libpng (< 1.4) ; ceci peut être réalisé en donnant à la commande koffice son propre système MacPorts 2.0.3 frais dans un emplacement personnalisé, par exemple. /opt/macports-koffice .

Essayez le script Bash suivant pour voir si cette approche fonctionne également pour votre machine :

#!/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

2voto

robbyt Points 135

Essayez de nettoyer, puis de mettre à jour tous vos paquets installés avant de construire meld :

sudo port clean all
sudo port selfupdate
sudo port upgrade outdated
sudo port selfupdate # just to make sure...
sudo port install meld

1voto

soxman Points 1899

Il semble que vous deviez (ré)installer Tcl. Vous pouvez l'obtenir ici . J'ai dû faire cela récemment, mais pour un problème quelque peu différent, et cela a fonctionné pour moi. Au fait, j'utilise également la version 10.6.8, il semblerait donc que le Tcl installé en natif ait été déprécié pour mes/vos besoins.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X