Nmap Development mailing list archives
Zenmap on Mac OS X howto
From: David Fifield <david () bamsoftware com>
Date: Thu, 3 Apr 2008 10:00:54 -0600
Hello, These are instructions for running Zenmap under Mac OS X, without having to override your PYTHONPATH or any other hassle. I describe two ways to do it, using MacPorts and Fink, two common systems for installing Unix software on Mac OS X. I did this on a 10.5.2 system. Start with an up-to-date checkout of Nmap. To use either of these methods, you need the Xcode Tools. It comes with an IDE and everything but basically you just want GCC and the build infrastructure. I found it in a file called XcodeTools.mpkg on the installation CD. You may be able to get the tools from http://developer.apple.com/tools/download/ as well. If you do that, please write back telling what you had to do (in terms of creating an account or anything like that), so we can update the documentation at http://nmap.org/install/inst-macosx.html. Why is this howto necessary? Mac OS X doesn't ship with libraries required by Zenmap: GTK+, PyGTK, and pysqlite. This howto is mostly about getting those dependencies installed. You also need Apple's X11 server installed. I found it installed by default. There is an effort to make a native port of GTK+ to Mac OS X (http://developer.imendio.com/projects/gtk-macosx/), which will eliminate the requirement on the X server. However I built a version of Zenmap against the native library and it has some deficiencies, like not being able to minimize the window. == Using MacPorts MacPorts is easy to install and use, but while they package Nmap, they don't package Zenmap. Use MacPorts to install the dependencies and then build Nmap. 1. Download and run the MacPorts .dmg installer from http://www.macports.org/install.php. I used version 1.6.0. 2. The installer was supposed to make changes to my .profile, but for some reason it didn't. If that happens, make the changes to PATH and MANPATH recommended at http://guide.macports.org/#installing.shell. 3. Install PyGTK and all its dependencies: sudo port install py25-gtk 4. Install pysqlite. Note that this will install the sqlite3 package as a dependency. sudo port install py25-sqlite3 5. Uninstall sqlite3. There is some problem with the MacPorts sqlite3, and if you try to run Zenmap you'll get an error message reading "NULL result without error in PyObject_Call". The most helpful web page I could find about this problem is http://trac.edgewall.org/ticket/2969#comment:30. Anyway, removing the MacPorts sqlite3 so that pysqlite uses the sqlite3 that comes with Mac OS X fixes the problem. sudo port uninstall -f sqlite3 The "-f" option uninstalls sqlite3 without uninstalling py25-sqlite3. 6. Now you have Python, PyGTK, and pysqlite installed in the MacPorts tree at /opt/local. Build Nmap, telling it which Python to use: cd nmap ./configure make PYTHON=/opt/local/bin/python2.5 sudo make install 7. Run Zenmap. sudo /usr/local/bin/zenmap == Using Fink Fink is harder to set up, but both Nmap and Zenmap are packaged courtesy of Daniel Johnson, so you don't need to compile Nmap yourself. 1. Download and extract the Fink source tarball from http://www.finkproject.org/download/index.php. I used version 0.28.1. Note there are binary distributions for versions of Mac OS X prior to 10.5. I didn't try those, because 10.5 is only supported in the source distribution. 2. Run the bootstrap script. cd fink-0.28.1 ./bootstrap When you get the chance, select the "unstable" distribution. 3. Set up your environment variables. /sw/bin/pathsetup.sh Then open a new terminal window to make sure the changes are applied. 4. Run fink selfupdate Choose "rsync" when you get the chance. 5. Install Nmap and Zenmap (both are in the nmap package). fink install nmap 6. Run Zenmap. /sw/bin/zenmap Any Mac users care to comment? I'm working on creating a .app bundle of Zenmap, however that is turning out to be more difficult than anticipated. Can anyone in the know tell me the distinction between MacPorts and DarwinPorts? Wikipedia says DarwinPorts is the old name, but it still seems to have an independent web site. David Fifield _______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://SecLists.Org
Current thread:
- Zenmap on Mac OS X howto David Fifield (Apr 03)
- Re: Zenmap on Mac OS X howto Daniel Johnson (Apr 03)
- Re: Zenmap on Mac OS X howto David Fifield (Apr 03)
- Re: Zenmap on Mac OS X howto Daniel Johnson (Apr 03)