Available Languages: | Deutsch | English | Español | Français | 日本語 (Nihongo) | Português | Русский (Russkiy) | 中文 (简) (Simplified Chinese) |

Preguntas Más Frecuentes de Fink

Esta es la lista de las preguntas más frecuentes de Fink. Como en la mayoría de las PMF, algunas preguntas son tomadas de la vida real y otras son creadas. En realidad, es mas como una documentación escrita en un estilo de pregunta y respuesta ad-hoc.

La lista de PMF consiste de varias páginas, una para cada sección. Todas las preguntas están enlistadas y relacionadas en la tabla de contenidos siguiente.

Contents

1 Preguntas generales

Q1.1: ¿Qué es Fink?

A: Fink desea traer más software de Unix a Mac OS X, lo cual resulta en dos metas principales:

Meta número uno es el llevar software a Mac OS X. Eso quiere decir que tomamos Paquetes Unix de Software Libre y arreglamos lo que sea necesario para que compile y corra en MacOS X. A veces eso es fácil, pero a veces puedo ser muy difícil o imposible para algunos paquetes. Estamos tratando de proveer herramientas y documentos para hacerlo más fácil.

La Meta número dos es hacer los resultados disponibles para usuarios casuales. Para esto, construimos una distribución usando herramientas de distribución de paquetes portadas de Linux, básicamente dpkg y apt-get escritas por y para el proyecto Debian GNU/Linux. La distribución binaria usa el formato de paquete .deb. Para construir paquetes a partir de la fuente, tenemos nuestra propia herramienta, llamada fink, la cual crea esos archivos de paquete .deb.

Q1.2: ¿Qué quiere decir Fink?

A: Nada. Es solo un nombre. Ni siquiera es un acrónimo.

Bueno, realmente Fink es el nombre alemán Finch, un tipo de ave. Estaba buscando un nombre para el proyecto, y el nombre del OS, Darwin, me llevó a pensar en Charles Darwin, las islas Galápagos y la evolución. Me acordé de un pasaje de la escuela sobre los llamados Darwin Finches y sus picos, y bueno, eso es...

Q1.3: ¿Cómo es Fink diferente de los mecanismos de Puerto BSD (Esto incluye OpenPackages y GNU-Darwin)?

A: Algunas ventajas principales:

Q1.4: ¿Por qué Fink no se instala en /usr/local?

A: Hay varias razones, pero la línea común es que 'podría ocurrir una falla en el sistema'.

Razón Uno: Software de una Tercera parte. /usr/local es el lugar mas establecido donde colocar software que no es parte del sistema distribuido por el vendedor original. Esto quiere decir que es un buen lugar para poner cosas. Sin embargo, significa que otras personas también pueden poner cosas allí. La mayoría de las rutinas de instalación simplemente van a sobreescribir lo que ahí está – esto también aplica a dpkg. Uno puede, claro, escoger el no instalar software de una Tercera parte en /usr/local. Desafortunadamente, la mayoría de los instaladores, no dicen de antemano qué es lo que van a instalar y adónde.

Razón Dos: /usr/local/bin esta en el default PATH. Esto quiere decir que tu shell encontrará los programas instalados sin medidas adicionales. Pero también quiere decir que tienes que tener medidas adicionales si no quieres usar estos programas. En casos extremos, esto también puede afectar al sistema mismo – muchas partes dependen de shell scripts.

Razón Tres: La cadena de herramientas del compilador busca /usr/local por default. El compilador busca los headers en /usr/local/include y el linker busca las librerías en /usr/local/lib. Nuevamente, esto a veces es una conveniencia bienvenida, pero es muy difícil de anular si surge la necesidad. Es muy fácil incapacitar al compilador poniendo un archivo de basura llamado stdio.h en /usr/local/include.

Después de todo lo dicho, es posible instalar Fink en /usr/local. El script de instalación te advertirá explícitamente, pero continua una vez que reconozcas que lo estas haciendo bajo tu propio riesgo.

Q1.5: Entonces ¿por qué escogieron /opt/sw?

A: Esa elección es bastante arbitraria, pero se puede decir que por razones prácticas (de actualización) quedará así en un futuro cercano y además existe el hecho de que es un lugar seguro para evitar conflictos con otros sistemas de empaquetamiento.

2 Relaciones con Otros Proyectos

Q2.1: ¿Contribuyen los parches hechos por ustedes a los mantenedores de fuente (upstream)?

A: Estamos tratando. A veces el regresar los parches es fácil y todo el mundo está contento una vez que la versión actualizada del paquete ha salido. Desafortunadamente con la mayoría de los paquetes no es tan fácil. Algunos problemas comunes:

Q2.2: ¿Cuál es su relación con el proyecto Debian? ¿Están creando un puerto de Debian Linux a Mac OS X?

A: No existe ninguna relación formal entre Fink y Debian. Fink no es un Puerto de la distribución Debian GNU/Linux. Hemos portado herramientas de administración del paquete Debian (dpkg, dselect, apt-get) y usamos estas herramientas y el formato .deb de los paquetes binarios. Los paquetes actuales son hechos a la medida para Mac OS X / Darwin y no utilizan el formato de paquete de la fuente Debian.

Q2.3: ¿Cuál es su relación con Apple?

A: Apple sabe que Fink existe y nos ha dado apoyo como parte de su esfuerzo de relaciones de Fuente Abierta. En el verano y otoño del 2001, nos otorgaron semillas de pre-lanzamiento de las nuevas versiones Mac OS X esperando que los paquetes Fink pudieran ser adaptados a tiempo para su lanzamiento. Cita: "Esperamos que acentúe el cometido de que muchos sospechan no estamos dispuestos a proveer. Mejoraremos con el tiempo en el juego de Fuente Abierta." ¡Gracias Apple!

Q2.4: ¿Cuál es su relación con Darwinports?

A: Darwinports y Fink son proyectos complementarios. Hay un poco de traslape entre los dos proyectos, y varias personas contribuyen a ambos proyectos Fink y OpenDarwin. Por ejemplo, Benjamin Reed está haciendo los paquetes KDE para ambos. Darwinports/OpenDarwin usan parches de Fink, y hemos discutido la colaboración en una nueva estructura de dependencias.

OpenDarwin empezó desde cero intentando un acercamiento diferente en el sistema de empaquetamiento. Lee el estatuto sobre OpenDarwin.org para mas detalles.

3 Espejos de distribución

Q3.1: ¿Qué son los espejos de distribución?

A: Fink mirrors are rsync servers mirroring the current and stable description files that Fink uses to build packages from source.

Q3.2: Por qué debería de usar espejos rsync?

A: Rsync is a very fast protocol. It will update the description files faster than the old CVS update method. Furthermore, CVS updates are always done from sourceforge.net while rsync updates can be done from a mirror close to you.

Q3.3: ¿Dónde podría encontrar mas información acerca de los espejos Fink?

A: All Fink mirrors are consolidated under the finkmirrors.net domain. The Web-Site at http://finkmirrors.net/ has more information.

Q3.4: No me puedo conectar a un servidor espejo rsync, ¿qué debo hacer?

A: Sometimes very strict firewalls forbid you to connect to rsync services. If that is the case simply continue using the CVS method

Q3.5: Me he cambiado al método rsync y todos los archivos de información de los árboles sin usar han desaparecido

A: This is normal. The rsync update method will only update your active tree, e.g. 10.3, and it will also delete the CVS subdirectories.

Q3.6: ¿Cómo puedo ir y venir entre los dos métodos?

A: By using fink selfupdate-rsync or fink selfupdate-cvs to switch to rsync or CVS, respectively.

Q3.7: ¿Qué es un servidor espejo de archivos de distribución?

A: Sometimes it is hard to fetch a certain version of sources from the Internet. Distfile mirrors hold and mirror the source packages needed by fink to build its source packages.

4 Upgrading Fink (version-specific troubleshooting)

Q4.1: Fink doesn't see new packages even after I've run an rsync or cvs selfupdate.

A: This is a current issue for people on OS 10.5 using the binary installer. Check your version:

fink --version

If you currently have fink-0.27.13-41, which is the version that comes with the installer, or fink-0.27.16-41, then there are a couple of options.

Either will bring you the newest fink version.

Q4.2: When I try to install stuff I get 'Can't resolve dependency "fink (>= 0.28.0)"'

A: Apply the fix from the prior entry.

Q4.3: Fink tells me to run 'sudo apt-get install libgettext3-dev=0.14.5-2' to clear up inconsistent dependencies but I'm still stuck.

A: There is a timestamp issue with the libgettext3 package description: 0.14.5-2 is an outdated version. Run

fink index -f
fink update libgettext3-dev	
	

to update the package description cache and then the package.

Q4.4: Fink tells me 'Can't resolve dependency "dpkg (>= 1.10.21-1229)" for package "dpkg-base-files-0.3-1"'. How do I solve this?

A: There is a timestamp issue with the updated dpkg package description. Run

fink index -f
fink selfupdate
	

to update the package description cache and then to install dpkg and dpkg-base-files.

5 Installing, Using and Maintaining Fink

Q5.1: ¿Cómo puedo averiguar que paquetes apoya Fink?

A: Since Fink 0.2.3, there is the list command. It produces a list of all packages known to your Fink installation. Example:

fink list

If you're using the binary distribution, dselect gives you a nice browsable listing of available packages. Note that you must run it as root if you want to select and install packages from within dselect.

There's also the package database at the website.

Q5.2: Estoy atrás de un firewall, ¿cómo configuro Fink para usar un HTTP proxy?

A: The fink command supports explicit proxy settings that are passed on to wget/curl. If you were not asked for proxies on first time installation, you can run fink configure to set it up. You can also run that command at any time to reconfigure the fink command. If you followed the instructions in the installation guide, and use /opt/sw/bin/init.csh (or /opt/sw/bin/init.sh), then apt-get and dselect also will use these proxy settings. Make sure that you put the protocol in front of the proxy, e.g.

ftp://proxy.yoursite.somewhere

If you are still having problems, go into System Preferences, select the Network pane, select the Proxies tab, and make sure that the box labeled "Use Passive FTP Mode (PASV)" is checked.

Q5.3: ¿Cómo actualizo paquetes disponibles de CVS cuando estoy atrás de un firewall?

A: The package cvs-proxy can tunnel through HTTP proxies.

If fink is not configured to use your proxy, change the settings using:

fink configure.

Q5.4: ¿Puedo mover Fink a otro lugar después de la instalación?

A: No. Well, of course you can move the files using mv or the Finder, but 99% of the programs will stop working when you do. That's because basically all Unix software depends on hardcoded paths to find data files, libraries and other stuff.

Q5.5: Si muevo Fink después de la instalación y proveo un symlink a la ubicación vieja, ¿funcionará?

A: Maybe. The general expectation is that it should work, but there may be hidden traps somewhere.

Q5.6: ¿Cómo puedo desinstalar todo el Fink?

A: Almost all files installed by Fink are in /opt/sw (or wherever you chose to install it). Thus in order to get rid of Fink, enter this command:

sudo rm -rf /opt/sw

The only exception to this rule is XFree86. If you installed XFree86 through Fink (i.e., you installed the xfree86 or xfree86-rootless packages, instead of using system-xfree86) and want to remove it, you will need additionally to enter this:

sudo rm -rf /usr/X11R6 /etc/X11 /Applications/XDarwin.app

If you aren't planning to reinstall Fink you also will want to remove the "source /opt/sw/bin/init.csh" line you added to your .cshrc file or the "source /opt/sw/bin/init.sh" line you added to your .bashrc file, whichever is appropriate to your setup, using a text editor.

Q5.7: El paquete de base de datos en el website enlista paquete xxx, pero apt-get y dselect no saben nada acerca de ese paquete. ¿Quién está mintiendo?

A: Both are correct. The package database knows about every package, including those that are still in the unstable section. The dselect and apt-get tools on the other hand only know about the packages available as precompiled binary packages. Many packages are not available in precompiled form through these tools for a variety of reasons. A package must be in the "stable" section of the latest point release to be considered, and it must pass additional checks for policy compliance as well as licensing and patent restrictions.

If you want to install a package that is not available via dselect / apt-get, you have to compile it from source using fink install packagename . Make sure you have the Developer Tools installed before you try this. (If there is no installer for the Developer Tools in your /Applications folder, you can get them from the Apple Developer Connection after free registration.) See also the question about unstable below.

Q5.8: Existe este paquete en unstable que quiero instalar, pero el comando fink dice "no encuentro el paquete" ('no package found'). ¿Cómo lo puedo instalar?

A: First make sure you understand what 'unstable' means. Packages in the unstable tree are not in stable for any number of reasons. It could be because there are known issues, validation errors, or just not enough people giving feedback that the package works for them. For that reason, Fink doesn't search the unstable tree by default.

If you do enable unstable, please remember to e-mail the maintainer if something works (or even if it doesn't). Feedback from users like you is what we use to determine if something is ready for stable! To find out the maintainer of a package, run fink info packagename.

For fink-0.26 and later: If you run fink configure one of the questions will ask whether you want to turn the unstable trees on.

To configure Fink to use unstable when you have an earlier version of the fink tool than 0.26, edit /opt/sw/etc/fink.conf, and add unstable/main and unstable/crypto to the Trees: line.

If you use Fink Commander, then there is a Preference to use unstable packages.

None of these options actually download the unstable tree's package descriptions.You'll need to turn on rsync or cvs updating to do this, which is not set up by default on a new Fink installation. The following command sequence will set you up on a new Fink installation:

fink selfupdate

followed by

fink selfupdate-rsync

or

fink selfupdate-cvs

and then

fink index -f
fink scanpackages

Note: There are Fink Commander analogs for everything except fink index -f. You will have to use the command line for that.

If you're already set up with rsync or cvs updating, then the following command sequence (or the Fink Commander analogs) will suffice:

fink selfupdate
fink index
fink scanpackages
	

If you're not sure what your update method is, check fink --version in at a command line and see if that mentions cvs or rsync.

If you don't want to install any more from unstable than your specific package(s) and its (their) dependencies, (and any base packages that got updated) don't use the update-all command until you turn the unstable tree back off.

Q5.9: Do I really need to enable all of unstable just to install one unstable package that I want?

A: No, but it is highly recommended you do. Mixing and matching can cause unforeseen issues that make it difficult to debug problems when they do arise.

That said, if you only want one or two specific packages, and nothing else from unstable, then you need to switch over to CVS updating (i.e. use fink selfupdate-cvs), because rsync only updates the trees that are active in your fink.conf. Edit /opt/sw/etc/fink.conf and add local/main to the Trees: line, if not present. Then you'll need to run fink selfupdate to download the package description files. Now copy the relevant .info files (and their associated .patch files, if there are any) from /opt/sw/fink/dists/unstable/main/finkinfo (or /opt/sw/fink/dists/unstable/crypto/finkinfo) to /opt/sw/fink/dists/local/main/finkinfo. However, note that your package may depend on other packages (or particular versions) which are also only in unstable. You will have to move their .info and .patch files as well. After you move all of the files, make sure to run fink index, so that Fink's record of available packages is updated. Once you're done you can switch back to rsync (fink selfupdate-rsync) if you want.

Q5.10: Estoy cansado de tener que teclear mi contraseña en sudo una y otra vez ¿hay alguna forma de evitar esto?

A: If you're not paranoid, you can configure sudo to not ask you for a password. To do this, run visudo as root and add a line like this:

username ALL =(ALL) NOPASSWD: ALL

Replace username with your actual username, of course. This line allows you to run any command via sudo without typing your password.

Q5.11: Cuando trato de correr init.csh o init.sh me aparece un error de "Permiso denegado" ("Permission denied"). ¿Qué estoy haciendo mal?

A: init.csh and init.sh are not supposed to be run like normal commands. These files set environment variables like PATH and MANPATH in your shell. To have a lasting effect on the shell, it must be processed with the source command for csh/tcsh, or with the . command for bash/zsh, like this:

for csh/tcsh:

source /opt/sw/bin/init.csh

for bash/zsh:

. /opt/sw/bin/init.sh

Q5.12: Ayuda! Usé el menú de entrada de "(A)cces" en dselect y ahora ya no puedo bajar paquetes!

A: You probably pointed apt at a Debian mirror, which of course doesn't have the Fink files. You can fix this manually or through dselect. To fix it manually, edit the file /opt/sw/etc/apt/sources.list in a text editor as root. Remove lines that mention debian.org and replace them with these:

deb http://us.dl.sourceforge.net/fink/direct_download release main crypto
deb http://us.dl.sourceforge.net/fink/direct_download current main crypto

(Or if you live in Europe, you can use eu.dl.sourceforge.net instead of us.dl.sourceforge.net)

To fix it through dselect, run "[A]ccess" again, choose the "apt" method and enter the following info:

URL: http://us.dl.sourceforge.net/fink/direct_download - Distribution: release - Components: main crypto

Then, say you want to add another source and repeat the process with "current" instead of "release".

A fixed version of the apt package (which provides the configuration script as a plug-in for dselect) is making it's way through CVS now.

Q5.13: Cuando trato de correr "fink selfupdate" o "fink selfupdate-cvs", me sale el error "Updating using CVS failed. Check the error messages above."."

A: If the message is

Can't exec "cvs": No such file or directory at 
/opt/sw/lib/perl5/Fink/Services.pm line 216, <STDIN> line 3.
### execution of cvs failed, exit code -1

then you need to install the Developer Tools.

If, on the other hand, the last line is

### execution of su failed, exit code 1

you'll need to look further back in the output to see the error. If you see a message that your connection was refused:

(Logging in to anonymous@fink.cvs.sourceforge.net)
CVS password:
cvs [login aborted]: connect to fink.cvs.sourceforge.net:2401 failed: 
Connection refused
### execution of su failed, exit code 1
Failed: Logging into the CVS server for anonymous read-only access failed.

or a message like the following:

cvs [update aborted]: recv() from server fink.cvs.sourceforge.net: 
Connection reset by peer 
### execution of su failed, exit code 1 
Failed: Updating using CVS failed. Check the error messages above.

or

cvs [update aborted]: End of file received from server

or

cvs [update aborted]: received broken pipe signal

then it's likely that the cvs servers are overloaded and you have to try the update later.

Another possibility is that you have some bad permissions in your CVS directories, in which case you get "Permission denied" messages:

cvs update: in directory 10.2/stable/main: 
cvs update: cannot open CVS/Entries for reading: No such file or directory
cvs server: Updating 10.2/stable/main 
cvs update: cannot write 10.2/stable/main/.cvsignore: Permission denied
cvs [update aborted]: cannot make directory 10.2/stable/main/finkinfo: 
No such file or directory 
### execution of su failed, exit code 1 Failed: 
Updating using CVS failed. Check the error messages above.

In this case you need to reset your cvs directories. Use the command:

sudo find /opt/sw/fink -type d -name 'CVS' -exec rm -rf {}\
; fink selfupdate-cvs

If, you don't see either of the above messages, then this almost always means you've modified a file in your /opt/sw/fink/dists tree and now the maintainer has changed it. Look further back in the selfupdate-cvs output for lines that start with "C", like so:

C 10.2/unstable/main/finkinfo/libs/db31-3.1.17-6.info 
... (other info and patch files) ... 
### execution of su failed, exit code 1 
Failed: Updating using CVS failed. Check the error messages above.

The "C" means CVS had a conflict in trying to update the latest version. The fix is to delete any files that show up as starting with "C" in the output of selfupdate-cvs, and try again:

sudo rm /opt/sw/fink/10.2/unstable/main/finkinfo/libs/db31-3.1.17-6.info
fink selfupdate-cvs

If you get errors that mention cvs.sourceforge.net:

cvs [update aborted]: connect to cvs.sourceforge.net(66.35.250.207):
2401 failed: Operation timed out

this is because of a restructuring of the CVS servers at sourceforge.net in 2006. Fink files are now at fink.cvs.sourceforge.net.

Check your Distribution version, e.g. via

fink --version

If that shows 10.4-transitional, then you need to update to the regular 10.4 distribution. An update script has been created to assist with that.

Q5.14: Cuando uso Fink, my equipo se congela / se produce un kernel panic / muere. Ayuda!

A: A number of recent reports on the fink-users mailing list have indicated problems (including kernel panics and infinite hangs during patching) when using Fink to compile packages while anti-virus software is installed. You may need to switch off any anti-virus software before using Fink.

Q5.15: Estoy tratando de instalar un paquete, pero Fink no puede bajarlo. El servidor muestra una version mas reciente del paquete que lo que tiene Fink. ¿Qué hago?

A: The package sources get moved around by the upstream sites when new versions are released.

The first thing you should do is run fink selfupdate. It may be that the package maintainer has already fixed this, and you will get an updated package description with either a more recent version or a revised download URL.

If this doesn't work, most sources are available on http://distfiles.master.finkmirrors.net/ (thanks to Rob Braun) , and you can run fink configure to choose to search "Master" source mirrors so that Fink will automatically look there.

If this doesn't work, please let the package maintainer (available from "fink describe packagename ") know that the URL is broken; not all maintainers read the mailing lists all of the time.

To get a usable source, first try hunting around the remote site in other directories for the same version of the source that Fink wants (e.g. in an "old" directory). Keep in mind, though, that some remote sites like to trash the old versions of their packages. If the official site doesn't have it, then try a web search--sometimes there are unofficial sites that have the tarball you want. Another place to look is http://us.dl.sourceforge.net/fink/direct_download/source/, which is where Fink stores sourcefiles from packages that have been released in binary form. If all of the above fail, then you might consider posting on the fink-users mailing list to ask if anybody has the old source available to give you.

Once you locate the proper source tarball, download it manually, and then move the file into your Fink source location (i.e. for a default Fink install, "sudo mv package-source.tar.gz /opt/sw/src/". Then use 'fink install packagename ' as normal.

If you can't get the source file, then you'll have to wait for the maintainer to deal with the problem. They may either post a link to the old source, or update the .info and .patch files to use the newer version.

Q5.16: Aparece errores de "command not found" cuando corro Fink o cualquier cosa que haya instalado con Fink.

A: If this always happens, then you may have inadvertently modified (or failed to modify) your startup scripts. Run the /opt/sw/bin/pathsetup.sh script in a terminal window. This program will attempt to detect your default shell and add a command to load Fink's shell initialization script into your shell's configuration. You'll then need to open a new terminal session so that your environment settings are loaded. Note: Some older versions fink called this script pathsetup.command instead of pathsetup.sh. Alternately, you can run the pathsetup.app application on the Fink binary distribution disk image.

On the other hand, if you only have problems in the Apple X11 terminal, the easy solution is to modify the "Terminal" entry in the X11 Application menu via the Applications->Customize Menu... option. Instead of just

xterm

change the command field to read

xterm -ls

ls here means login shell, and the result is that your full login setup gets used (just like the OS X Terminal).

These /opt/sw/bin/init.* scripts do much more than just add /opt/sw/bin to your PATH. Many packages will not work correctly without these additional actions.

Q5.17: Quiero esconder / sw en el Finder para evitar que los usuarios dañen la instalación de Fink.

A: You can indeed do this. If you have the Development Tools installed, then you can run the following command:

sudo /Developer/Tools/SetFile -a V /opt/sw

This makes /opt/sw invisible, just like the standard system folders (/usr, etc.). If you don't have the Developer Tools, there are various third-party applications that let you manipulate file attributes--you need to set /opt/sw to be invisible.

Q5.18: No puedo instalar nada, porque me sale el siguiente error: "install-info: unrecognized option `--infodir=/opt/sw/share/info"

A: This usually is due to a problem in your PATH. In a terminal window type:

printenv PATH

If /opt/sw/sbin doesn't appear at all, then you need to set your environment up as per the instructions in the Users Guide. If /opt/sw/sbin is there, but there are other directories ahead of it (e.g. /usr/local/bin), then you will either want to reorder your PATH so that /opt/sw/sbin is near the beginning. Or if you really need the other directory to be before /opt/sw/sbin, and this former directory includes another install-info directory, then you'll want to temporarily rename this install-info subdirectory when you use Fink.

Q5.19: No puedo instalar o remover nada, por un problema con "files list file" ("el archivo de la lista de archivos").

A: Typically these errors take the form:

files list file for package packagename contains empty filename

or

files list file for package packagename is missing final newline

This can be fixed, with a little work. If you have the .deb file for the offending package currently available on your system, then check its integrity by running

dpkg --contents full-path-to-debfile
        

e.g.

dpkg --contents /opt/sw/fink/debs/libgnomeui2-dev_2.0.6-2_darwin-powerpc.deb

If you get back a listing of directories and files, then your .deb is OK. If the output is something other than directories and files, or if you don't have the .deb file, you can still proceed because the error doesn't interfere with builds.

If you have been installing from the binary distribution or you know for sure that the version in the binary distribution is the same as what you have installed (e.g. by checking the package database), then you can get a .deb file by running sudo apt-get install --reinstall --download-only packagename . Otherwise you can build one yourself by running fink rebuild packagename , but it won't install yet.

Once you have a valid .deb file, then you can reconstitute the file. First become root by using sudo -s (enter your administrative user password if necessary), and then use the following command:

dpkg -c full-path-to-debfile | awk '{if ($6 == "./"){ print "/."; } \
else if (substr($6, length($6), 1) == "/")\
{print substr($6, 2, length($6) - 2); } \
else { print substr($6, 2, length($6) - 1);}}'\ 
> /opt/sw/var/lib/dpkg/info/packagename.list

e.g.

dpkg -c /opt/sw/fink/debs/libgnomeui2-dev_2.0.6-2_darwin-powerpc.deb | awk \
'{if ($6 == "./") { print "/."; } \
else if (substr($6, length($6), 1) == "/") \
{print substr($6, 2, length($6) - 2); } \
else { print substr($6, 2, length($6) - 1);}}' \ 
> /opt/sw/var/lib/dpkg/info/libgnomeui2-dev.list

What this does is to extract the contents of the .deb file, remove everything but the filenames, and write these to the .list file.

Q5.20: Me aparece un montón de basura cuando selecciono paquetes en dselect. ¿Cómo lo puedo usar?

A: There are issues between dselect and Terminal.app. A workaround is to enter the following command

tcsh users:

setenv TERM xterm-color

bash users:

export TERM=xterm-color

before you run dselect. You may want to put this in your startup file (e.g. .cshrc | .profile) so that it gets run all of the time.

Q5.21: No puedo actualizar la versión Fink.

A: Si ni ejecutar fink selfupdate ni sudo apt-get update ; sudo apt-get dist-upgrade te actualiza a una versión más nueva de Fink, entonces puedes descargar manualmente una versión más nueva del paquete fink. Los comandos a usar son:

Q5.22: ¿Puedo colocar a Fink en un volumen o directorio con un espacio en su nombre?

A: We recommend against putting your Fink directory tree inside a directory with spaces in its name. It's just not worth the hassle.

Q5.23: Cuando trato de hacer una actualización binaria, aparecen muchos mensajes con "File not found" ("archivo no encontrado").

A: If you see something like the following:

Err file: local/main Packages 
File not found 
Ign file: local/main Release 
Err file: stable/main Packages 
File not found 
Ign file: stable/main Release 
Err file: stable/crypto Packages 
File not found 
Ign file: stable/crypto Release 
Hit http://us.dl.sourceforge.net 10.3/release/main Packages 
Hit http://us.dl.sourceforge.net 10.3/release/main Release 
Hit http://us.dl.sourceforge.net 10.3/release/crypto Packages 
Hit http://us.dl.sourceforge.net 10.3/release/crypto Release 
Hit http://us.dl.sourceforge.net 10.3/current/main Packages 
Hit http://us.dl.sourceforge.net 10.3/current/main Release 
Hit http://us.dl.sourceforge.net 10.3/current/crypto Packages 
Hit http://us.dl.sourceforge.net 10.3/current/crypto Release 
Failed to fetch file:/opt/sw/fink/dists/local/main/binary-darwin-powerpc/Packages
File not found 
Failed to fetch file:/opt/sw/fink/dists/stable/main/binary-darwin-powerpc/Packages
File not found
Failed to fetch file:/opt/sw/fink/dists/stable/crypto/binary-darwin-powerpc/Packages
File not found 
Reading Package Lists... Done 
Building Dependency Tree...Done 
E: Some index files failed to download, 
they have been ignored, or old ones used instead. 
update available list script returned error exit status 1.

then all you need to do is run fink scanpackages. This generates the files that aren't being found.

If you get an error of the following form:

W: Couldn't stat source package list file: unstable/main Packages
(/opt/sw/var/lib/apt/lists/_sw_fink_dists_unstable_main_binary-darwin-
powerpc_Packages) - stat (2 No such file or directory)

then you should run

sudo apt-get update
fink scanpackages

to fix it.

Q5.24: Cambie mi sistema OS, pero Fink no reconoce el cambio.

A: When changing the Fink distribution (of which the source and binary distros are subsets), Fink needs to be told that this has happened. To do this, you can run a script that normally gets run when you first install Fink:

/opt/sw/lib/fink/postinstall.pl

Doing this will point Fink to the correct place.

Q5.25: After installing a macOS update, Fink no longer recognizes my installed Command Line Tools.

A: Updates to macOS routinely break parts of Apple's Command Line Tools. If you get this error after updating your copy of macOS:

Can't resolve dependency "xcode (>= 6.2)"

Fink has lost track of Apple's Command Line Tools.

The easiest solution is to download and reinstall the Command Line Tools specific to your macOS version from https://developer.apple.com/.

Another possible solution is to run the following command:

xcode-select --install

but this often reports the following:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

However, the Tools might be in a non-functional state such that Fink still can't recognize them. In that case, a clean reinstall as described above has always worked to fix their detection with Fink.

Finally, you may need to run the command:

sudo xcodebuild -license

to agree to the software license.

Q5.26: Me salen errores con las aplicaciones de gzip - dpkg-deb del paquete de fileutils! Ayuda!

A: Errors of the form:

gzip -dc /opt/sw/src/dpkg-1.10.9.tar.gz | /opt/sw/bin/tar -xf - 
### execution of gzip failed, exit code 139

or

gzip -dc /opt/sw/src/aquaterm-0.3.0a.tar.gz | /opt/sw/bin/tar -xf -
gzip: stdout: Broken pipe 
### execution of gzip failed, exit code 138

or

dpkg-deb -b root-base-files-1.9.0-1 /opt/sw/fink/dists/unstable/main/binary-darwin-powerpc/base

### execution of dpkg-deb failed, exit code 1
Failed: can't create package base-files_1.9.0-1_darwin-powerpc.deb

or segmentation faults when running utilities from fileutils, e.g. ls or mv, are likely to be due to a prebinding error in a library, and can be fixed by running

sudo /opt/sw/var/lib/fink/prebound/update-package-prebinding.pl -f

Q5.27: Cuando abro una ventana terminal, me sale un mensaje que dice "Your environment seems to be correctly set up for Fink already." y se desconecta.

A: What happened is that somehow the OSX Terminal program has been told to run /opt/sw/bin/pathsetup.command every time you log in. You can fix this by removing the Preferences file, ~/Library/Preferences/com.apple.Terminal.plist.

If you have other preferences that you want to keep, you can edit the file with a text editor and remove the reference to /opt/sw/bin/pathsetup.command.

Q5.28: Tengo a Fink instalado afuera de la partición principal y no puedo actualizar el paquete Fink desde la fuente. Hay errores involucrando chowname.

A: If your error looks like:

This first test is designed to die, so please ignore the error
message on the next line.
# Looks like your test died before it could output anything.
./00compile............................ok
./Base/initialize......................ok
./Base/param...........................ok
./Base/param_boolean...................ok
./Command/cat..........................ok
./Command/chowname.....................#     
Failed test (./Command/chowname.t at line 27)
#          got: 'root'
#     expected: 'nobody'

then you need to run Get Info on the drive/partition where Fink is installed and unselect the "Ignore ownership" button.

Q5.29: Fink won't update my packages because it says it can't find the 'gnu' mirror.

A: If you get an error that ends with

Failed: No mirror site list file found for mirror 'gnu'.

then most likely you need to update the fink-mirrors package, e.g. via:

fink install fink-mirrors

Q5.30: I can't update Fink, because it can't move /opt/sw/fink out of the way.

A: This error:

Failed: Can't move "/opt/sw/fink" out of the way.

is usually due, in spite of what it says, to permissions errors in one of the temporary directories that get created during a selfupdate. Remove these:

sudo rm -rf /opt/sw/fink.tmp /opt/sw/fink.old

Q5.31: I get a message that says "No fonts found".

A: If you see the following (so far only seen on OS 10.4):

No fonts found; this probably means that the fontconfig
library is not correctly configured. You may need to
edit the fonts.conf configuration file. More information
about fontconfig can be found in the fontconfig(3) manual
page and on http://fontconfig.org.

then you can fix it by running

sudo fc-cache

Q5.32: I can't install Fink via the Installer package, because I get "volume doesn't support symlinks" errors.

A: This message commonly means that you've tried to run the Fink installer as user who doesn't have administrative privileges. Make sure to log in at the login screen as such a user or switch to such a user in the Finder (i.e. fast user switching) before starting the Fink installer.

If you're having trouble even when using an admin account, then it's likely a problem with the permissions on your top-level directory. Use Apple's Disk Utility (from the Utilities sub-folder in your Applications folder), select the hard drive in question, choose the First Aid tab, and press Repair Disk Permissions. If that doesn't work, then you may need to set your permissions manually via:

sudo chmod 1775 /	  
	

Q5.33: I can't update Fink, because package architecture (darwin-i386) does not match system (darwin-powerpc).

A: This error occurs if you use a PowerPC installer package on an Intel machine. You'll need to flush your Fink installation, e.g.:

sudo rm -rf /opt/sw

and then download the disk image for Intel machines from the downloads page.

6 Compile Problems - General

Q6.1: Un script de configuración se queja que no puede encontrar un "cc aceptable". ¿Qué es eso?

A: Read the docs next time. To compile packages from source, you must install the Developer Tools, which among other stuff contains the C compiler, cc.

Q6.2: Cuando quiero hacer un "fink selfupdate-cvs" Me aparece este mensaje: "cvs: Command not found."

A: You need to install the Developer Tools.

Q6.3: Me esta apareciendo un mensaje de error involucrando make.

A: if your message is of the form

make: command not found

or

Can't exec "make": 
No such file or directory at /opt/sw/lib/perl5/Fink/Services.pm line 190.

It means you need to install the Developer Tools.

On the other hand, if your error message looks like

make: illegal option -- C

then you've replaced the GNU version of the make utility installed as part of the Developer Tools with a BSD version of make. Many packages rely on special features only supported by GNU make. Make sure that /usr/bin/make is a symlink to gnumake, not bsdmake. Furthermore, make sure that /usr/local/bin/ does not contain another copy of make.

Q6.4: Me esta apareciendo un mensaje de uso extraño del comando head. ¿Qué se ha roto?

A: If you're seeing this:

Unknown option: 1 Usage: head [-options] <url>...

followed by a list of option descriptions, you have a broken head executable. This happens when you install the Perl libwww library on an HFS+ system volume. It tries to create a new command /usr/bin/HEAD, which overwrites the existing head command because the file system is case-insensitive. head is a standard command used in many shell scripts and Makefiles. You need to get the original head executable back if you want to use Fink.

The bootstrap script of the source release now checks for this, but you can still run into it if you use the binary release for first-time installation or install libwww after you installed Fink.

This problem has also been reported due to the installation of /opt/sw/bin/HEAD (not by any Fink package). This is easier to solve: rename /opt/sw/bin/HEAD.

Q6.5: Cuando trato de instalar un paquete me aparece un mensaje con el error acerca de "sobreescribir un archivo que está en otro paquete".

A: This occasionally happens with splitoff packages (i.e. the ones with -dev, -shlibs, etc.) when a file gets moved from one part of the splitoff to another (e.g. from foo to foo-shlibs. What you can do is overwrite the file with that from the package you are trying to install (since they are nominally the same):

sudo dpkg -i --force-overwrite filename
        

where filename is the .deb file corresponding to the package that you are trying to install.

Q6.6: ¿Qué quiere decir "execution of mv failed, exit code 1" cuando trato de instalar un paquete?

A: If you have StuffIt Pro installed, it could be that you have "Archive Via Real Name" mode enabled. Check for a StuffIt preference pane in the System Preferences tool, and disable "ArchiveViaRealName" if it's enabled. It contains a buggy reimplementation of a few important system calls that will cause a number of strange and transient errors such as this.

Otherwise, am mv error typically means that another error happened earlier in the build, but the build process didn't stop. To track down the offending file(s), search in the output of the build for the nonexistent file, e.g. if you have something like:

mv /opt/sw/src/root-foo-0.1.2-3/opt/sw/lib/libbar*.dylib \
/opt/sw/src/root-foo-shlibs-0.1.2-3/opt/sw/lib/ 
mv: cannot stat `/opt/sw/src/root-foo-0.1.2-3/opt/sw/lib/libbar*.dylib': 
No such file or directory 
### execution of mv failed, exit code 1 
Failed: installing foo-0.1.2-3 failed

then you should look for libbar somewhere further back in the output of your build attempt.

Q6.7: No puedo instalar o actualizar un paquete porque me aparece un mensaje de que un "node" ya existe.

A: These errors look something like this:

Failed: Internal error: node for system-xfree86 already exists

This problem is that the dependency engine is confused, due to changes in some of the package info files. To fix it:

Q6.8: He escuchado que las librerías instaladas en /usr/local/lib a veces causan problemas de compilación para Fink, ¿es cierto?

A: This is a frequent source of problems, because the package configuration script finds libraries under /usr/local/lib before searching in the Fink path. If you are having problems with a build that aren't covered by another FAQ entry, you should check whether you have libraries in /usr/local/lib. If so, then try renaming /usr/local to something else, e.g.:

sudo mv /usr/local /usr/local.moved

do your build, and then put /usr/local back:

sudo mv /usr/local.moved /usr/local

Starting with macOS 10.14, it's sometimes not possible to rename /usr/local. If you get an error when renaming /usr/local directly, then rename the subdirectories inside it instead:

        sudo mv /usr/local/include /usr/local/include.moved
        sudo mv /usr/local/lib /usr/local/lib.moved
        

do your build, and then you can put /usr/local/include and /usr/local/lib back:

        sudo mv /usr/local/include.moved /usr/local/include
        sudo mv /usr/local/lib.moved /usr/local/lib
        

Q6.9: Cuando trato de instalar un paquete, me aparece un mensaje que la "tabla de contenidos" ("table of contents") está desactualizada. ¿Qué necesito hacer?

A: The output hints at what to do. The message is usually something like:

ld: table of contents for archive: 
/opt/sw/lib/libintl.a is out of date; 
rerun ranlib(1) (can't load from it)

What you need to do is run ranlib (as root) on whatever library is causing the problem. As an example, for the case above, you would run:

sudo ranlib /opt/sw/lib/libintl.a

Q6.10: Fink Commander falla cuando trato de instalar atlas.

A: This happens because one of the steps in the build of atlas sends a prompt to the user that Fink Commander doesn't display. You'll have to use fink install atlas instead.

Q6.11: I get messages saying that I'm missing stddef.h | wchar.h | stdlib.h | crt1.o, or that my C compiler cannot create executables.

A: Both of these problems are typically due to the absence of essential headers that are provided by the DevSDK package of the Developer Tools. Check whether /Library/Receipts/DevSDK.pkg exists on your system. If not, then run the Dev Tools Installer again, and install the DevSDK package using a Custom Install.

The cannot create executables error can also occur when your Developer Tools version is for an earlier OS version.

Q6.12: No puedo actualizar porque Fink dice "unable to resolve version conflict on multiple dependencies"

A: To get around this, try updating a single package, then try to use "fink update-all" again. If you still get the message, repeat the process.

Q6.13: No puedo instalar nada porque me aparece: "dpkg: parse error, in file `/opt/sw/var/lib/dpkg/status'"!

A: This means that somehow your dpkg database got damaged, usually from a crash or some other unrecoverable error. This most often occurs with a buildlock, e.g:

package `fink-buildlock-foo-1.2.3-4':  missing version

(of course, replace foo-1.2.3-4 with the package name you are seeing).

When this happens, you should edit /opt/sw/var/lib/dpkg/status as a superuser. Then go near the line number which shows up in the error message. You should see a fink-buildlock-foo-1.2.3-4 package whose Status field is marked

install ok installed

Change that to

purge ok not-installed

Under other circumstances, there may be garbage in the file. You can fix this situation by copying the previous version of the database, like so:

sudo cp /opt/sw/var/lib/dpkg/status-old /opt/sw/var/lib/dpkg/status

You may need to re-install the last couple of packages you installed before the problem started occurring.

Q6.14: Me aparecen errores involucrando a freetype.

A: There are several varieties of such errors. If you get the following:

/usr/bin/ld: can't locate file for: -lfreetype

check whether you have an extraneous freetype-config excutable by running

where freetype-config

if you're using tcsh, or

type -a freetype-config

if you're using bash. The Mono Framework has been known to install a /usr/bin/freetype-config that is a symbolic link to a file in that framework.

If your error looks like:

/opt/sw/include/pango-1.0/pango/pangoft2.h:52: 
error: parse error before '*' token 
/opt/sw/include/pango-1.0/pango/pangoft2.h:57:
error: parse error before '*' token
/opt/sw/include/pango-1.0/pango/pangoft2.h:61: 
error: parse error before '*' token 
/opt/sw/include/pango-1.0/pango/pangoft2.h:86: 
error: parse error before "pango_ft2_font_get_face"
/opt/sw/include/pango-1.0/pango/pangoft2.h:86: 
warning: data definition has no type or storage class 
make[2]: *** [rsvg-gz.lo] Error 1
make[1]: *** [all-recursive] Error 1 
make: *** [all-recursive-am] Error 2 
### execution of make failed, exit code 2 
Failed: compiling librsvg2-2.4.0-3 failed

or

In file included from vteft2.c:32: 
vteglyph.h:64: error:
parse error before "FT_Library" 
vteglyph.h:64: warning: 
no semicolon at end of struct or union vteft2.c: 
In function `_vte_ft2_get_text_width': 
vteft2.c:236: error: 
dereferencing pointer to incomplete type 
vteft2.c: In function `_vte_ft2_get_text_height':
vteft2.c:244: error: 
dereferencing pointer to incomplete type
vteft2.c: In function `_vte_ft2_get_text_ascent': 
vteft2.c:252: error:
dereferencing pointer to incomplete type 
vteft2.c: In function `_vte_ft2_draw_text': 
vteft2.c:294: error: 
dereferencing pointer to incomplete type 
vteft2.c:295: error: 
dereferencing pointer to incomplete type
make[2]: *** [vteft2.lo] Error 1 
make[1]: *** [all-recursive] Error 1 
make: *** [all] Error 2 
### execution of make failed, exit code 2
Failed: compiling vte-0.11.10-3 failed

or

checking for freetype-config.../usr/X11R6/bin/freetype-config 
checking For sufficiently new FreeType (at least 2.0.1)... no 
configure: error: pangoxft 
Pango backend found but did not find freetype libraries 
make: *** No targets specified and no makefile found. Stop. 
### execution of LD_TWOLEVEL_NAMESPACE=1 failed, exit code 2 
Failed: compiling gtk+2-2.2.4-2 failed

the problem is due to confusion between headers from the freetype | freetype-hinting package and the freetype2 headers that are included with X11 | XFree86.

fink remove freetype freetype-hinting

will remove whichever variant you have installed. On the other hand, if your error looks like:

ld: Undefined symbols: _FT_Access_Frame

this is typically due to a residual file from a prior installation of X11. Reinstall the X11 SDK.

Q6.15: Me aparecen errores al compilar involucrando "Dl info".

A: If you have an error that looks like this

unix_dl.c: In function `rep_open_dl_library':
unix_dl.c:328: warning: assignment discards qualifiers from pointer target type 
unix_dl.c: In function `rep_find_c_symbol': 
unix_dl.c:466: error: `Dl_info' undeclared (first use in this function)
unix_dl.c:466: error: (Each undeclared identifier is reported only once 
unix_dl.c:466: error: for each function it appears in.)
unix_dl.c:466: error: parse error before "info" 
unix_dl.c:467: error: `info' undeclared (first use in this function) 
make[1]: *** [unix_dl.lo] Error 1

then most likely you have a header file, /usr/local/include/dlfcn.h, that is incompatible with Panther. Move it out of the way.

This usually is installed by Open Office, and you should replace this header file, as well as the library /usr/local/lib/libdl.dylib, with symbolic links to Panther's builtin files

sudo ln -s /usr/include/dlfcn.h /usr/local/include/dlfcn.h
sudo ln -s /usr/lib/libdl.dylib /usr/local/lib/libdl.dylib

Q6.16: Fink dice que me falta el gcc2, pero yo no creo haberlo instalado.

A: This is because gcc2 is a virtual package to indicate the presence of gcc-2.95 on your system. Install the gcc2.95 package from the XCode Tools (earlier OS versions have gcc-2.95 as part of their main Developer Tools installation.

Q6.17: Fink dice Failed: Can't resolve dependency "system-java14-dev", pero ese paquete no existe.

A: That's because it's a virtual package. This type of error occurs when Java gets updated by Software Update: the header files get removed, which causes the -dev package not to be generated.

You need to download the appropriate Java Developer Tools package from Apple. In this specific case that's the Java 1.4.2 Developer Tools.

Q6.18: Cualquier cosa que trato de instalar siempre me aparece: dpkg (subprocess): failed to exec dpkg-split to see if it's part of a multiparter: No such file or directory. ¿Cómo soluciono esto?

A: Generally, this can be fixed by setting your environment up correctly, cf. this FAQ entry.

Q6.19: Me aparece el mensaje siguiente: configure: error: XML::Parser perl module is required for intltool. ¿Qué debo hacer?

A: If you're using the unstable tree, make sure you have intltool-0.34.1or later installed.

Otherwise, you need to make sure that you have the right variant of the xml-parser-pm package to match the Perl version for your system. For example, if you're on Panther you should have xml-parser-pm581 rather than xml-parser-pm560 (you may also have the xml-parser-pm placeholder), since you have Perl-5.8.1 rather than Perl-5.6.0. If you're on Jaguar, and are using the default system Perl version, you'll have the pm560 variant, and if you've installed Perl 5.8.0 you may have the pm580 variant.

Q6.20: I'm trying to download a package, but Fink goes to some weird site with distfiles in its name, and the file isn't there.

A: What's happened here is that Fink is trying to use one of it's so called Master mirrors. These were set up to makes sure that sources for Fink packages are available even when the upstream site has moved them around. Typically these errors occur when a new upstream version of a package is released, but hasn't made it to the Master mirrors yet.

To remedy this, run fink configure and set the search order to use Master mirrors last.

Q6.21: I want Fink to use different options in building a package.

A: The first thing to do is to contact the package maintainer to request a variant. It may be relatively easy to do it. If you don't hear from the maintainer or see the new packages, or want to try a different option yourself, check out the Packaging Tutorial and Packaging Manual.

Note: Fink is deliberately set up such that all official binaries are identical regardless of what machine they are built on, so things like G5 optimization won't happen with an official package. If you want them, you'll have to do it yourself.

Q6.22: Whenever I try to build from source, Fink keeps waffling between alternate versions of the same library.

A: Often, in a complicated build tree, you may find that some of the packages depend on a particular version of a library, and other depend on a different one (e.g. db47 vs. db44). Consequently, Fink may try to switch to whichever one isn't currently installed in order to satisfy the build dependency for the current package that you're trying to update.

Unfortunately, due to limitations in the build-dependency engine, you may wind up with the dreaded

Fink::SysState: Could not resolve inconsistent dependencies

message when trying a sufficiently complicated update-all. This generally gives you a command to try to resolve the issue:

fink scanpackages
sudo apt-get update
sudo apt-get install foo=1.23-4	
      

but this may not work for sufficiently complicated updates. You might need to update packages one-by-one, at least for a while.

Q6.23: I get errors involving MACOSX_DEPLOYMENT_TARGET when I try to build a Python module.

A: For errors that look like the following:

running build
running build_ext
Traceback (most recent call last):
  File "setup_socket_ssl.py", line 21, in ?
    depends = ['socketmodule.h'] )
  File "/opt/sw/src/root-python24-2.4.1-1/opt/sw/lib/python2.4/distutils/core.py", line 166, in setup
SystemExit: error: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.4" but "10.3" during configure
### execution of /opt/sw/bin/python2.4 failed, exit code 1

the problem occurs because the python2* packages write the current MACOSX_DEPLOYMENT_TARGET to a configuration file when they're built and the python build utilities use this value when compiling modules. This means that if you have, for example, a python24 package on 10.4 that was built on 10.3, either by upgrading 10.3 => 10.4, or via the 10.4-transitional binary distribution, in which python24 wasn't rebuilt, there will be a mismatch between what python thinks MACOSX_DEPLOYMENT_TARGET should be (10.3) and what it actually is (10.4).

The fix is to rebuild the offending python package, e.g. fink rebuild python24 for the case above.

For runtime errors that give the same type of error message as above, rebuild the module after rebuilding the appropriate python2* package.

Q6.24: I get unrecognized option `-dynamic' errors from libtool.

A: This error:

 libtool: unrecognized option `-dynamic'

typically means that you've replaced Apple's /usr/bin/libtool with a GNU libtool. Unfortunately, the two libtools do not do the same thing.

The only way to solve this is to get a working Apple libtool from somewhere. It is installed as part of the DeveloperTools.pkg package of the XCode Tools, and you can reinstall that whole package if you first clear out its receipt in /Library/Receipts (drag it to the Trash for OS 10.4 and later, or use sudo rm -rf /Library/Receipts/DeveloperTools.pkg for 10.3).

7 Compile Problems - Specific Packages

Q7.1: A Falla la compilación de un paquete con errores involucrando a sed.

A: This can happen if your login script (e.g. ~/.cshrc) does something that writes to the terminal, e.g "echo Hello" or xttitle. To get rid of the problem, the easy solution is to comment out the offending lines.

If you want to keep the echo, then you can do something like the following:

if ( $?prompt) then 
	echo Hello 
endif

Q7.2: Quiero cambiarme a los paquetes XFree86 de Fink, pero no puedo instalar xfree86-base - xfree86, porque existe un conflicto con system-xfree86.

A: All flavors of X11, unfortunately, really needs to be installed in /usr/X11R6. Because of this the Fink xfree86-base and xfree86-rootless packages install there, too. However, since Fink won't remove any files that aren't in its database, it won't automatically replace a non-Fink installation of X11.

Here's how to proceed:

Note: 10.2.x users with up-to-date versions of Fink (>= 0.16.2) and 10.3.x users should skip step 1 below (it won't work anyway).

1. Remove system-xfree86. If you don't have any packages that depend on X11, this is straightforward. Frequently, however, many packages that depend on X11 are installed. Rather than uninstalling all of them, you can use

sudo dpkg --remove --force-depends system-xfree86

to remove it, leaving everything in place. If you don't have system-xfree86 installed then proceed to step 3.

2. Manually remove all of XFree86. This can be done with

sudo rm -rf /Applications/XDarwin.app /usr/X11R6 /etc/X11

If you are switching from Apple X11, remove the X11 application, too.

3. To get XFree86-4.2.1, Install Fink's xfree86-base and xfree86-rootless packages by the usual means: "fink install" for source users, "apt-get install" or dselect for binaries.

-or-

3a. To get XFree86-4.3.x, install Fink's xfree86 package, with "fink install xfree86"--this version isn't in the binary distro yet, and is currently only in the unstable tree [FAQ 3.9].

Q7.3: ¿Cómo puedo cambiar de la version non-threaded del paquete XFree86 de Fink a la version threaded (o viceversa)?

A: If you are running the Fink version of XFree86 and you want to switch between the threaded and non-threaded versions of Fink, you need to manually remove the old version. This is done at the command-line with the commands:

sudo dpkg -r --force-depends xfree86-base 
sudo dpkg -r --force-depends xfree86-shlibs 
sudo dpkg -r --force-depends xfree86-rootless 
sudo dpkg -r --force-depends xfree86-rootless-shlibs

or to delete the threaded versions:

sudo dpkg -r --force-depends xfree86-base-threaded 
sudo dpkg -r --force-depends xfree86-shlibs-threaded 
sudo dpkg -r --force-depends xfree86-rootless-threaded 
sudo dpkg -r --force-depends xfree86-rootless-threaded-shlibs

FinkCommander also has a way to remove packages. In the source window, select a package, and then in the Source Menu use "Force Remove."

If you are using system-xfree86, see the previous question for removing it.

Install the version of xfree86 you want:

xfree86-base and xfree86-rootless

xfree86-base-threaded and xfree86-rootless-threaded

by the usual means: "fink install" for source users, "apt-get install" or dselect for binaries.

Q7.4: ¿Cuando intento instalar KDE, me sale el siguiente mensaje: 'Can't resolve dependency "cctools (>= 446-1)"'

A: This somewhat cryptic message means you need to install the December 2002 Developer Tools.

Q7.5: I can't update libiconv.

A: If you get errors of the form:

libtool: link: cannot find the library `/opt/sw/lib/libiconv.la'

you can solve this problem by running

fink remove gettext-dev
fink install libiconv

Q7.6: i can't install a package because c++filt is missing. Where do I get it?

A: If you get errors of the form

xgcc: installation problem, cannot exec `c++filt': No such file or directory

since updating to Tiger, then you need to do the following:

You also might also need to make sure you don't have any ancient Developer/Xcode Tools stuff laying around:

1) Flush out your old 2) Reinstall BSD.pkg (from your main OS install)

Q7.7: Fink refuses to update the gettext package, complaining that the dependencies are in an inconsistent state.

A: After running fink selfupdate to be sure you have the latest versions, try fink update gettext-tools. An old version of the gettext-tools package may be preventing you from updating gettext.

Q7.8: I can't install gtk+2 on OS 10.5

A: Typically this involves missing libraries, such as: /usr/X11/lib/libXrandr.2.0.0.dylib or /usr/X11/lib/libXdamage.1.1.0.dylib (or other versions of libraries in /usr/X11/lib/).

The current wisdom on the best fix for such an issue is to install Xcode 3.1.3 or later.

Q7.9: I'm having issues with a package that isn't listed here.

A: Since package problems tend to be transient, we've decided to put them up on the Fink wiki. Check the Package issues page.

8 Package Usage Problems - General

Q8.1: Me aparecen muchos mensajes con "locale not supported by C library". ¿Es malo esto?

A: It's not bad, it just means that the program will use the default English messages, date formats, etc. The program will function normally otherwise. The Running X11 document has details.

Q8.2: De repente han aparecido una cantidad de usuarios desconocidos en mi sistema, con nombres como "mysql", "pgsql" y "games". ¿De dónde salieron?

A: You have used Fink to install a package which is dependent on another package, passwd. passwd installs a number of extra users on your system for security reasons -- on Unix systems, files and processes belong to "owners", which allows system administrators to fine-tune the permissions and security of the system. Programs such as Apache and MySQL need an "owner", and it is insecure to assign these daemons to root (imagine what would happen if Apache were to be compromised and suddenly had write permission to all files on the system). Thus, the passwd package takes the work out of setting up these extra users for Fink packages that require this.

It can be alarming to suddenly discover a number of unexpected users in your "System Preferences: Users" pane, but suppress the urge to delete them:

Fink does request permission to install these additional users on your system during the installation of the passwd package, so this should not have come as a surprise.

Q8.3: Cómo puedo compilar algo usando el software instalado por Fink.

A: When compiling something yourself outside of Fink, the compiler and linker need to be told where to find the Fink-installed libraries and headers. It is also necessary to tell the compiler to use the appropriate target architecture. For a package that uses standard configure/make process, you need to set some environment variables:

-bash-

export CFLAGS=-I/opt/sw/include 
export LDFLAGS=-L/opt/sw/lib 
export CXXFLAGS=$CFLAGS 
export CPPFLAGS=$CXXFLAGS 
export ACLOCAL_FLAGS="-I /opt/sw/share/aclocal"
export PKG_CONFIG_PATH="/opt/sw/lib/pkgconfig"
export PATH=/opt/sw/var/lib/fink/path-prefix-clang:$PATH
export MACOSX_DEPLOYMENT_TARGET=10.9

-tcsh-

setenv CFLAGS -I/opt/sw/include 
setenv LDFLAGS -L/opt/sw/lib 
setenv CXXFLAGS $CFLAGS 
setenv CPPFLAGS $CXXFLAGS 
setenv ACLOCAL_FLAGS "-I /opt/sw/share/aclocal"
setenv PKG_CONFIG_PATH "/opt/sw/lib/pkgconfig"
setenv PATH /opt/sw/var/lib/fink/path-prefix-clang:$PATH
setenv MACOSX_DEPLOYMENT_TARGET 10.9

(assuming that the build system is running OS 10.9 or later)

It is often easiest just to add these to your startup files (e.g. .cshrc | .profile) so they are set automatically. If a package does not use these variables, you may need to add the "-I/opt/sw/include" (for headers) and "-L/opt/sw/lib" (for libraries) to the compile lines yourself. Some packages may use similar non-standard variables such as EXTRA_CFLAGS or --with-qt-dir= configure options. "./configure --help" will usually give you a list of the extra configure options.

In addition, you may need to install the development headers (e.g. foo-1.0-1-dev) for the library packages that you are using, if they aren't already installed.

Q8.4: No puedo correr ninguna de las aplicaciones instaladas con Fink desde el menú de Aplicaciones de las X11 de Apple.

A: Apple X11 doesn't keep track of the Fink environment settings, which means that the Applications menu doesn't have the PATH set correctly to find your Fink applications. The solution is to preface the name of a Fink-installed application with

source /opt/sw/bin/init.sh ;

For example, if you want to run a Fink-installed GIMP, then put

source /opt/sw/bin/init.sh ; gimp

in the Command field of your GIMP entry.

You can also edit your .xinitrc file (in your user directory) and add:

source /opt/sw/bin/init.sh

after the first line.

Q8.5: Estoy confundido con todas las opciones de las X11: X11 de Apple, XFree86, etc. ¿Cuál de ellas debería instalar?

A: All are variants on XFree86 (they're all based on the XFree86 code), but have some slight differences between them. Apple's X11, which is a modification of XFree86-4.2.1, and XFree86-4.3 are faster than standard XFree86-4.2.1.1, but the latter is more stable. There is also a modification of 4.2.1.1 with threading support added, which is required by a few packages.

Currently, under Panther, Apple's X11 (on the third disk) is the only choice. Don't forget to install the X11 SDK (on the XCode disk) if you want to compile programs.

Under Jaguar, the most popular choices, and the Fink packages to make them work are:

There are other options, as well. There is a more extensive treatment in the Running X11 document.

Q8.6: Cuando intento correr una aplicación, me sale un mensaje diciendo: "cannot open display". ¿Qué debo hacer?

A: This error means that the system isn't connecting with your X display. Make sure you do the following:

1. Start X (Apple's X11, XFree86, ...).

2. Make sure your DISPLAY environment variable is set correctly. If you are using the default setup for X, you can do this with

setenv DISPLAY :0

if you are running tcsh, or

export DISPLAY=:0

if you're running bash.

Q8.7: No encuentro a mi programa favorito en Fink. ¿Cómo sugiero que se incluya un nuevo paquete en Fink?

A: Make the request on the Package Request Tracker on the Fink project page.

Note that you must have a SourceForge id to do so.

Q8.8: ¿Qué son todos estos system-* "virtual packages" que a veces están presentes, pero que yo mismo no puedo instalarlos ni sacarlos?

A: Packages with names like system-perl are placeholder packages. These do not contain actual files, but merely serve as a mechanism for fink to know about programs that have been installed manually outside of fink.

Starting with the 10.3 distribution, most placeholders aren't even real packages that you can install and remove. Instead, they are "Virtual Packages", package data structures generated by the fink program itself in response to a preconfigured list of manually installed programs. For each virtual package, fink checks for certain files in certain locations, and if they are found, considers that virtual package "installed".

You can run the program fink-virtual-pkgs (part of the fink package) to get a listing of exactly what fink thinks is installed. Adding the --debug flag will give lots of diagnostic information about exactly what files fink is checking.

Unfortunately, there is no mechanism by which you can install an arbitrary program yourself (outside of fink) and have fink recognize that program rather than trying to install its own version of it. It's just too difficult in the general case to be able to check configure and compiler flags, pathnames, etc.

Here are the most important virtual packages that fink defines (as of fink-0.19.2):

9 Package Usage Problems - Specific Packages

Q9.1: No me sale sonido de XMMS.

A: Make sure you have the "eSound Output Plugin" selected in the XMMS preferences. For some strange reason, it selects the disk writer plugin as the default.

If you still get no sound output or XMMS complains that it can't find your sound card try this:

Note that esd is designed to be run by a normal user, not by root. It usually communicates via the file system socket /tmp/.esd/socket. You only need the -tcp and -port switches if you want to run esd clients on another machine over the network.

There have also been reports of XMMS crashing or freezing on 10.1. We don't have an analysis or a fix yet.

Q9.2: Cuando estoy editando un archivo en nedit, si abro otro archivo su ventana aparece pero no me responde.

A: This is a known problem that occurs with recent versions of nedit and lesstif on all platforms. The workaround is to open a new window with File-->New, then open the next file you want to work on.

This is now fixed in nedit-5.3-6, which depends on openmotif3 rather than lesstif.

Q9.3: Ayuda! Cuando abro XDarwin, inmediatamente se cuelga!

A: Don't Panic. The Running X11 document now has an extensive troubleshooting section for this common problem.

Q9.4: Cuando intento abrir XDarwin me sale el siguiente mensaje: "xinit: No such file or directory (errno 2): no server "/usr/X11R6/bin/X" in PATH".

A: First, make sure you are sourcing init.sh in your X startup ~/.xinitrc.

In Jaguar, sometimes all of the xfree86 packages get built, but only xfree86-base and xfree86-base-shlibs are installed. Check whether you have xfree86-rootless and xfree86-rootless-shlibs installed. If not, then fink install xfree86-rootless should do the trick.

If you do have it installed, then try fink rebuild xfree86-rootless. If that doesn't work, verify that you have /usr/bin/X11R6 in your PATH.

Q9.5: Quiero que la tecla para borrar en el X11 de Apple se comporte como la tecla en Xdarwin.

A: Some users have reported that the behavior of the delete key is different between XDarwin and Apple X11. This can be rectified by adding lines to the appropriate X startup files:

.Xmodmap:

keycode 59 = Delete

.Xresources:

xterm*.deleteIsDEL: true 
xterm*.backarrowKey: false
xterm*.ttyModes: erase ^?

.xinitrc

xrdb -load $HOME/.Xresources 
xmodmap $HOME/.Xmodmap

Q9.6: Actualicé GNOME 1.x a GNOME 2.x y ahora gnome-session no abre al gestor de ventanas.

A: While under GNOME 1.x gnome-session invokes the sawfish window manager automatically, under GNOME 2.x, you'll have to call a window manager in ~/.xinitrc before running gnome-session, e.g.:

... 
exec metacity & exec gnome-session

Note: this is no longer true for GNOME 2.4. Running gnome-session invokes a window manager.

Q9.7: He actualizado al X11 de Apple en Panther y ahora las barras de los títulos de las ventanas han desaparecido.

A: You didn't upgrade X11 to version "X11 1.0 - XFree86 4.3.0" included with Panther. You can install X11 from X11.pkg on Disk 3.

Q9.8: I'm having problems with X11 and Fink.

A: There are two possibilities to consider.

Q9.9: I'm still having problems with X11 and Fink.

A: If the hints in the Fink tries to install XFree86 or X.org or X11 and upgrade from 10.2 entries don't help, or aren't applicable to your situation, you may need to flush out your X11 installation and remove any old placeholders and partially/fully installed X11-related packages:

On Leopard, use

sudo pkgutil --forget com.apple.pkg.X11User
sudo pkgutil --forget com.apple.pkg.X11SDKLeo

Then, on either 10.4 or 10.5, run

sudo dpkg -r --force-all system-xfree86 system-xfree86-42 system-xfree86-43 \
xorg xorg-shlibs xfree86 xfree86-shlibs \
xfree86-base xfree86-base-shlibs xfree86-rootless xfree86-rootless-shlibs \
xfree86-base-threaded xfree86-base-threaded-shlibs \
xfree86-rootless-threaded xfree86-rootless-threaded-shlibs
rm -rf /Library/Receipts/X11SDK.pkg /Library/Receipts/X11User.pkg
fink selfupdate; fink index

(the first line may give you warnings about trying to remove nonexistent packages). Then, reinstall Apple's X11 (and the X11SDK, if needed), or, if you're on 10.4, an alternative X11 implementation, like XFree86 or X.org.

If you are still having problems then you can run

fink-virtual-pkgs --debug

to get information about what's missing.

If you are running an earlier version of fink, then there is a Perl script (courtesy of Martin Costabel) that you can download and run to get the same information.

Q9.10: After updating to Tiger (OS 10.4), whenever I use a GTK app, I get errors involving _EVP_idea_cbc.

A: This is caused by an apparent bug in Tiger's dynamic linker (current as of 10.4.1), but looks to be fixed in 10.4.3, and Fink has had a workaround in the guise of base-files-1.9.7-1 or later.

If you haven't updated Tiger and/or base-files yet, you can work around this issue by prefixing the name of the software you want to run as follows:

env DYLD_FALLBACK_LIBRARY_PATH=: 

E.g., if you want to use gnucash, you'd use

env DYLD_FALLBACK_LIBRARY_PATH=: gnucash

This method works for applications that are launched via the Application Menu in Apple's X11 as well as a terminal.

You may find it preferable to set this globally (e.g. in your startup script, and/or in your .xinitrc, which you may need to do to run GNOME). Put

export DYLD_FALLBACK_LIBRARY_PATH=:

in your .xinitrc (regardless of your login shell) or your .profile (or other startup script) for bash users and:

setenv DYLD_FALLBACK_LIBRARY_PATH :

is the corresponding command to use in e.g. your .cshrc file for tcsh users.

Note: this will automatically be done if you install a recent enough base-files.

Q9.11: I can't get the help to work for any GNOME application.

A: You need to install the yelp package. This package was not placed within the GNOME bundle because it uses cryptography, and it was decided not to place all of GNOME in the crypto tree just to use the help system.


Copyright Notice

Copyright (c) 2001 Christoph Pfisterer, Copyright (c) 2001-2020 The Fink Project. You may distribute this document in print for private purposes, provided the document and this copyright notice remain complete and unmodified. Any commercial reproduction and any online publication requires the explicit consent of the author.


Generated from $Fink: faq.es.xml,v 1.20 2023/08/04 04:42:29 nieder Exp $