Changes between Version 76 and Version 77 of FAQ


Ignore:
Timestamp:
Jul 18, 2009, 1:30:31 PM (15 years ago)
Author:
raimue (Rainer Müller)
Comment:

Add some more anchors to avoid breaking links again if the title is changed. Yes, I realize this also breaks existing links, but avoids that for the future.

Legend:

Unmodified
Added
Removed
Modified
  • FAQ

    v76 v77  
    55== General Questions ==
    66
    7 === A port fails to build ===
     7=== A port fails to build === #buildfails
    88
    99Before filing a bug in the issue tracker, please make sure you have the latest version of MacPorts and of the ports tree by running
     
    2121Also, make sure you have the latest version of Xcode. Old versions of Xcode are known to make certain ports fail.
    2222
    23 === I get the error "C compiler cannot create executables" when I try to install a port ===
     23=== I get the error "C compiler cannot create executables" when I try to install a port === #missingxcode
    2424
    2525You need to install [http://www.macports.org/install.php#requirements Xcode].
     
    3030Some ports need newer versions of Xcode than that which ships with the OS, and will fail to install due to that requirement.  Xcode is not updated via Software Update, you have to download it manually.  To do so, go to http://connect.apple.com/ and log in with your ADC information (the free online account is enough to get access to Xcode).  Once you log in, go to ''Downloads'', then select ''Developer Tools'' on the right section under ''Downloads''.  You can then search for Xcode (there are quite a few versions available, make sure to get the latest for you OS version).
    3131
    32 === Is MacPorts Universal? ===
     32=== Is MacPorts Universal? === #universal
    3333
    3434MacPorts works on both Intel- and PowerPC-based Macs, but the ports you install will be compiled only for the architecture you're currently running on. This means that if you migrate from, say, a PowerPC Mac to an Intel one and use Migration Assistant to copy your data to the new machine, you should reinstall all your ports on the new machine to rebuild them for Intel. It may be simpler to completely remove all of MacPorts and start fresh. See below for uninstallation instructions, but be sure to keep any configuration files you need.
     
    4040See also [wiki:Universal] for a list of ports that were tested for +universal support and the results.
    4141
    42 === Why is /opt/local the default install location for MacPorts? ===
     42=== Why is /opt/local the default install location for MacPorts? === #defaultprefix
    4343
    4444`/opt/local` was chosen so as to avoid stomping on other various installations (e.g. fink uses `/sw` to do the same); `/usr/local` is not a viable choice for several reasons:
     
    4747 3. gcc considers `/usr/local` to be a standard system directory, causing (at least) the include directory to be unable to appear early in the list of include directories, and hence causing MacPorts-installed items to be difficult to use properly for items which need them (where another version is installed elsewhere, like `/usr/X11R6`)
    4848
    49 === How do I remove or uninstall MacPorts? ===
     49=== How do I remove or uninstall MacPorts? === #uninstall
    5050
    5151Uninstalling MacPorts can be a drastic step, and depending on the issue you're experiencing, you may not need to do so. If you're unsure, ask on the macports-users mailing list first.
     
    8080Note that depending on which version of MacPorts you have and which ports you've installed, not all of the above paths will exist on your system. This is ok.
    8181
    82 === What are the folders in `${prefix}/var/macports/ for and why do they take up so much space? ===
     82=== What are the folders in `${prefix}/var/macports/ for and why do they take up so much space? === #diskspace
    8383
    8484`man porthier` says: "MacPorts runtime data", but it contains some more subfolders:
     
    103103 In the subfolder `rsync.macports.org/release/ports` are folders for each port category and the ports themselves therein, where the corresponding Portfile and patches are found. `port sync` and also `port selfupdate` update this from the MacPorts rsync server.
    104104
    105 === I get `Error: checksum (md5/sha1/rmd160) mismatch for port`. What can I do about it? ===
     105=== I get `Error: checksum (md5/sha1/rmd160) mismatch for port`. What can I do about it? === #checksums
    106106
    107107MacPorts computes checksums of downloaded files to ensure they aren't corrupted and haven't been tampered with. Each portfile lists the checksums for the files that the port will download (using md5, sha1 and/or rmd160). If the computed checksum of the downloaded file doesn't match the one listed in the portfile, that means the file you downloaded is not the one the port designer used when creating the port, and so MacPorts stops the installation.
     
    124124 * [http://porticus.alittledrop.com/ Porticus] is another new GUI currently in development.
    125125
    126 === What do I do if `port selfupdate` doesn't work or the Rsync server refuses connections? ===
     126=== What do I do if `port selfupdate` doesn't work or the Rsync server refuses connections? === #selfupdatefails
    127127First try `sudo port -d selfupdate` to get all errors to display. If your connection to the rsync server fails you may get blocked by a firewall or other network control software.
    128128
     
    140140 * [wiki:howto/PortTreeTarball You can download a tarball, built daily, and update with that]
    141141
    142 === When I run `port list installed` I see the identical versions of some ports installed, why? ===
     142=== When I run `port list installed` I see the identical versions of some ports installed, why? === #portlist
    143143Using `port list installed` will give confusing results as the 'list' command bases its version information only on what is the currently-available version; so if you have port '''foo''' installed at versions 1 and 2 (with 2 being the current version available), `list installed` will only show '''foo''' at version 2, twice.
    144144
     
    157157Don't be scared away, MacPorts will still use the X11 server provided by the system.
    158158
    159 === Python fails to build ===
     159=== Python fails to build === #pythonfails
    160160
    161161If you get an error building Python like
     
    165165your Xcode installation is incomplete (you are missing e.g. the QuickTime SDK).
    166166
    167 === How do I get readline support for MacPort's Python? ===
     167=== How do I get readline support for MacPort's Python? === #pythonreadline
    168168
    169169If you're using python24, install the py-readline port.
     
    171171If you're using python25, make sure your python25 port is up to date, at least 2.5.4_4, when the standard modules were reintegrated back into the port itself (see ticket #12369).
    172172
    173 === Will MacPorts link to system libraries rather than its own? ===
     173=== Will MacPorts link to system libraries rather than its own? === #syslibs
    174174
    175175No, MacPorts maintains its own versions of libraries. See the next question for the reason why.
     
    177177You may find some ports that link with some system libraries. Some of these are intentional, such as in cases where the MacPorts version is missing some crucial functionality (e.g. ports that need Kerberos support use the Mac OS X-supplied library, not the MacPorts one). In other cases these are bugs in the relevant ports, and tickets should be filed so it can be corrected.
    178178
    179 === Why is MacPorts using its own libraries? ===
     179=== Why is MacPorts using its own libraries? === #ownlibs
    180180
    181181There are several reasons why MacPorts uses its own libraries. It makes ports more consistent across different versions of Mac OS X. If we can rely on e.g. openssl 0.9.8 from MacPorts, we don't have to test every port that needs ssl for every available openssl installation. Apple's software tends to break from time to time (e.g. openssl refuses to build with an old zlib, but for awhile Apple shipped the old headers of the vulnerable zlib version). Even if Apple's versions aren't broken, they're rarely up-to-date. Apple has a habit of not updating the libraries in Mac OS X until absolutely necessitated by a security vulnerability.
     
    183183The drawbacks of this policy are minimal: Wasting a few megabytes for e.g. a Python installation is next to nothing if you have a multi-gigabyte hard disk, and the time required to build the additional ports decreases as computers get faster.
    184184
    185 === GNOME has an empty menu ===
     185=== GNOME has an empty menu === #gnomemenu
    186186
    187187See the [wiki:GNOME GNOME] section of this Wiki for more information.
     
    213213== Portfile Development and Maintenance Questions ==
    214214
    215 === Is it possible to have a dependency on a specific variant of another port? E.g. "postgresql8 +server"? ===
     215=== Is it possible to have a dependency on a specific variant of another port? E.g. "postgresql8 +server"? === #126
    216216
    217217No.  This is ticket #126.  The dependency engine is currently unable to handle specifying anything beyond "port X requires port Y" or "port X requires file Z which can be provided by port Y."  There have been discussions on revamping the engine (see the mailing list archives) but nothing concrete as yet.  This is why the most useful variants really shouldn't be variants at all but rolled into the port itself.  It can also sometimes be useful to break variants out into separate ports (e.g. the postgresql83-doc and postgresql83-server ports, instead of having +doc or +server variants of the postgresql83 port).
    218218
    219 === Why won't `portindex` work? I have a local repository set up ===
     219=== Why won't `portindex` work? I have a local repository set up === #portindexfails
    220220
    221221Your local repository needs the ports to be nested within a category for portindex to work, as explained in the relevant [http://guide.macports.org/#development.local-repositories documentation].
    222222
    223 === Why was the `cd` command removed from trunk? ===
     223=== Why was the `cd` command removed from trunk? === #cd
    224224
    225225The `cd` command was removed from trunk in r28796. As of release 1.7.0 it will no longer be available for use in Portfiles. `cd` is harmful as it changes the current directory of the whole process and not only of the current Tcl interpreter. Also, it becomes unreliable when used inside phases and other phases begin to rely on it.
     
    227227Please use absolute paths instead, starting with ${worksrcpath}. If you need to run a command with `system`, use it like `system "cd ${worksrcpath} && autoreconf"`.
    228228
    229 === What is the process for becoming a committer? ===
     229=== What is the process for becoming a committer? === #committer
    230230
    231231The process is pretty much the same as for any other open source project. See the relevant [http://guide.macports.org/#project.membership documentation] and the [wiki:NewCommittersGuide New commiters guide] for what commit access to MacPorts entails.
    232232
    233 === Why Tcl? ===
     233=== Why Tcl? === #whytcl
    234234
    235235These mailing list posts by Landon Fuller, one of the original authors, explain why Tcl was chosen for MacPorts:
     
    240240== Runtime Errors ==
    241241
    242 === I try to disable a variant, but it just informs me of the proper usage for the `port` command ===
     242=== I try to disable a variant, but it just informs me of the proper usage for the `port` command === #disablevariants
    243243
    244244When using