Fink

F.A.Q. - 7. Compile Problems - Specific Packages

Q7.1: A package fails to build with errors involving 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: I want to switch to Fink's XFree86 packages, but I can't install xfree86-base | xfree86, because it conflicts with 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 and above, install Fink's xfree86 package, with "fink install xfree86"--the latest version (XFree86-4.4.x as of May 25th, 2004) isn't in the binary distro yet, and is currently only in the unstable tree [see how to install unstable packages].

Q7.3: How do I change from the non-threaded version of Fink's XFree86 packages to the threaded version (or vice-versa)?

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: I can't update libiconv.

A: If you get errors of the form:

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

you can solve this problem by running

fink remove gettext-dev
fink install libiconv

Q7.5: 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:

  • Reinstall BSD.pkg (from your installation media). If /usr/bin/c++filt doesn't appear, keep trying.

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

  • 10.4: Flush out your old Xcode Tools versions via running /Developer/Tools/uninstall-devtools.pl in a terminal. Then (re)install XCode (2.4.1 or later).
  • 10.5: Flush out your old Xcode Tools versions via running /Developer/Library/uninstall-devtools in a terminal. Then (re)install Xcode (3.0 or later).

Q7.6: 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.7: 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.8: 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.

Next: 8. Package Usage Problems - General