Executive summary: make did not work until I installed libICE-devel.x86_64, libSM-devel.x86_64, libXaw-devel.x86_64, libXext-devel.x86_64, libXmu-devel.x86_64, libXt-devel.x86_64 and netpbm-devel.x86_64. -frames option was disabled until I installed netpbm and metpbm-devel and chagnes the ./configure command string slightly. Make now completes, so I hope everything works, though I haven't tested yet and it gives plenty of warnings. When I sent the previous post, ./configure was working, but I soon found that make did not (see full output at end of post). Here is the first error: ncview.includes.h:42:27: error: X11/Intrinsic.h: No such file or directory No file with the name "Intrinsic.h" anywhere on my machine. [root at sock ncview-1.93g]# rpm -qs xorg-x11-proto-devel-7.1-13.el5 |grep Intrinsic [root at sock ncview-1.93g]# find /usr|grep Intrinsic.h [root at sock ncview-1.93g]# My first guess was - version conflict? I guess I need to see if there are older or newer versions of X that contain this file (& the others). It's not clear to me whether my X is too old or too new according to the README: [root at sock ncview-1.93g]# cat README INSTALL|grep X This is the source for "ncview", a X Windows (Release 4 or higher) yum info xorg-x11-proto-devel-7.1-13.el5 [snip] Version : 7.1 Release : 13.el5 [snip] Description: X.Org X11 Protocol headers Both 7 and 13 > 4, but do any of them refer to the same thing? Since I was stumped, I downloaded an old source rpm of ncview for fedora and looked at the spec file. [root at sock junk]# rpm2cpio ncview-1.92e-13.fc9.src.rpm |cpio -i --make-directories [root at sock junk]# tar zxvf ncview-1.92e.tar.gz [root at sock junk]# cat ncview.spec|grep BuildRequires: BuildRequires: xorg-x11-proto-devel libXaw-devel libXt-devel libXext-devel BuildRequires: libXmu-devel libICE-devel libSM-devel libX11-devel BuildRequires: netcdf-devel netcdf-static udunits-devel netpbm-devel Wonder if any are not installed? [root at sock junk]# rpm -q libXaw-devel libXt-devel libXext-devel libXmu-devel libICE-devel libSM-devel libX11-devel netcdf-devel netcdf-static udunits-devel netpbm-devel |grep 'is not installed' package libXaw-devel is not installed package libXt-devel is not installed package libXext-devel is not installed package libXmu-devel is not installed package libICE-devel is not installed package libSM-devel is not installed package netpbm-devel is not installed Installed them: [root at sock ncview-1.93g]#yum install libICE-devel.x86_64 libSM-devel.x86_64 libXaw-devel.x86_64 libXext-devel.x86_64 libXmu-devel.x86_64 libXt-devel.x86_64 netpbm-devel.x86_64 [snip] Complete! make now seems to run, with some warnings I hope I can ignore (full text below). 'Make install' seems happy, now I just need to run with some actual data and see if it works. I BCC'ed the author of ncview and he replied in a helpful way. I still wish the error message could be better. At the very least, if I am only missing the development headers, the error message should not be scolding me about the libraries. But that may be a shortcoming of the way that configure is designed and the X11 monster has evolved. X11 intimidates me, it is too big. One more observation: This message appears in the ./configure output: "Note: the -frames option is NOT enabled, because I could not find the location of the PPM include file 'ppm.h' or library file 'libppm.a'. " I finally found ppm.h in /usr/include and configure is happy when I give it this: ./configure --x-libraries=/usr/lib64 --x-includes=/usr/include/X11 --with-netcdf_incdir=/usr/include/netcdf-3 -with-ppm_incdir= /usr/include I think the netpbm and netpbm-devel packages are what was needed - "checking for ppm_writeppm in -lnetpbm... yes" [root at sock ncview-1.93g]# rpm -qs netpbm-devel|grep -i 'ppm.h$' normal /usr/include/ppm.h mahalo, Dave #configure works: [root at sock ncview-1.93g]# ./configure --x-libraries=/usr/lib64 --x-includes=/usr/include/X11 --with-netcdf_incdir=/usr/include/netcdf-3 checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for library containing strerror... none required checking how to run the C preprocessor... gcc -E checking for egrep... grep -E checking for ANSI C header files... yes checking for X... libraries /usr/lib64, headers /usr/include/X11 checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... no checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking /usr/include/netcdf-3/netcdf.h usability... yes checking /usr/include/netcdf-3/netcdf.h presence... yes checking for /usr/include/netcdf-3/netcdf.h... yes Using user-specified netCDF include dir=/usr/include/netcdf-3 Found netcdf.h in: /usr/include/netcdf-3 checking for nc_open in -lnetcdf... yes Found netcdf library file libnetcdf.a in directory . checking udunits.h usability... yes checking udunits.h presence... yes checking for udunits.h... yes checking for /usr/local/lib/libudunits.a... no checking for /usr/lib/libudunits.a... yes **************************************************************************** Udunits support enabled. Note: Udunits did not used to work with MAC OS X If you are using Mac OS X and have trouble, make sure you are using the latest udunits package. If it still doesn't work, remove the udunits library and remake ncview udunits dirs: include: . library: /usr/lib libname: udunits **************************************************************************** checking /usr/local/include/ppm.h usability... no checking /usr/local/include/ppm.h presence... no checking for /usr/local/include/ppm.h... no checking /usr/include/ppm.h usability... no checking /usr/include/ppm.h presence... no checking for /usr/include/ppm.h... no checking /root/include/ppm.h usability... no checking /root/include/ppm.h presence... no checking for /root/include/ppm.h... no checking for ppm_writeppm in -lppm... no checking for /usr/local/lib/libppm.so... no checking for /usr/lib/libppm.so... no checking for /lib/libppm.so... no checking for /root/lib/libppm.so... no checking for ppm_writeppm in -lnetpbm... no checking for /usr/local/lib/libnetpbm.so... no checking for /usr/lib/libnetpbm.so... no checking for /lib/libnetpbm.so... no checking for /root/lib/libnetpbm.so... no ************************************************************************ Note: the -frames option is NOT enabled, because I could not find the location of the PPM include file 'ppm.h' or library file 'libppm.a'. Ncview uses the ppm package to dump out the frames viewed, which is an easy way to make an mpeg video of the data if you want. If you do not want this feature, then don't worry about the lack of ppm support. If you DO want this, then you must tell me where to find the ppm package by giving arguments to configure, as follows: ./configure -with-ppm_incdir=include_directory -with-ppm_libdir=library_directory ************************************************************************ checking for a BSD-compatible install... /usr/bin/install -c configure: creating ./config.status config.status: creating Makefile #before additional installs, make blows up: [root at sock ncview-1.93g]# make gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o ncview.o ncview.c In file included from ncview.c:24: ncview.includes.h:42:27: error: X11/Intrinsic.h: No such file or directory ncview.includes.h:43:28: error: X11/IntrinsicP.h: No such file or directory ncview.includes.h:44:28: error: X11/StringDefs.h: No such file or directory ncview.includes.h:46:23: error: X11/Shell.h: No such file or directory ncview.includes.h:51:26: error: X11/Xaw/Form.h: No such file or directory ncview.includes.h:52:25: error: X11/Xaw/Box.h: No such file or directory ncview.includes.h:53:29: error: X11/Xaw/Command.h: No such file or directory ncview.includes.h:54:28: error: X11/Xaw/Toggle.h: No such file or directory ncview.includes.h:55:28: error: X11/Xaw/Simple.h: No such file or directory ncview.includes.h:56:28: error: X11/Xaw/Dialog.h: No such file or directory ncview.includes.h:57:31: error: X11/Xaw/Scrollbar.h: No such file or directory ncview.includes.h:58:30: error: X11/Xaw/Viewport.h: No such file or directory ncview.includes.h:59:26: error: X11/Xaw/List.h: No such file or directory ncview.includes.h:60:31: error: X11/Xaw/AsciiText.h: No such file or directory ncview.includes.h:61:32: error: X11/Xaw/MenuButton.h: No such file or directory ncview.includes.h:62:32: error: X11/Xaw/SimpleMenu.h: No such file or directory ncview.includes.h:63:28: error: X11/Xaw/SmeBSB.h: No such file or directory ncview.includes.h:64:29: error: X11/Xaw/SmeLine.h: No such file or directory In file included from ncview.includes.h:66, from ncview.c:24: SciPlot.h:28:22: error: X11/Core.h: No such file or directory In file included from ncview.includes.h:66, from ncview.c:24: SciPlot.h:119: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘sciplotWidgetClass’ SciPlot.h:136: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘SciPlotPSCreateFancy’ SciPlot.h:137: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘SciPlotPSCreate’ SciPlot.h:138: error: expected ‘)’ before ‘wi’ SciPlot.h:139: error: expected ‘)’ before ‘wi’ SciPlot.h:140: error: expected ‘)’ before ‘wi’ SciPlot.h:141: error: expected ‘)’ before ‘wi’ SciPlot.h:142: error: expected ‘)’ before ‘wi’ SciPlot.h:143: error: expected ‘)’ before ‘wi’ SciPlot.h:144: error: expected ‘)’ before ‘wi’ SciPlot.h:145: error: expected ‘)’ before ‘wi’ SciPlot.h:146: error: expected ‘)’ before ‘wi’ SciPlot.h:147: error: expected ‘)’ before ‘wi’ SciPlot.h:148: error: expected ‘)’ before ‘wi’ SciPlot.h:149: error: expected ‘)’ before ‘wi’ SciPlot.h:150: error: expected ‘)’ before ‘wi’ SciPlot.h:151: error: expected ‘)’ before ‘wi’ SciPlot.h:152: error: expected ‘)’ before ‘wi’ SciPlot.h:153: error: expected ‘)’ before ‘wi’ SciPlot.h:154: error: expected ‘)’ before ‘wi’ SciPlot.h:155: error: expected ‘)’ before ‘wi’ SciPlot.h:156: error: expected ‘)’ before ‘wi’ SciPlot.h:157: error: expected ‘)’ before ‘wi’ SciPlot.h:158: error: expected ‘)’ before ‘w’ SciPlot.h:159: error: expected ‘)’ before ‘wi’ SciPlot.h:160: error: expected ‘)’ before ‘wi’ SciPlot.h:161: error: expected ‘)’ before ‘wi’ SciPlot.h:162: error: expected ‘)’ before ‘wi’ In file included from ncview.c:26: ncview.protos.h:187: error: expected ‘)’ before ‘procedure’ ncview.protos.h:220: error: expected ‘)’ before ‘w’ ncview.protos.h:225: error: expected ‘)’ before ‘scrollbar’ ncview.protos.h:257: error: expected ‘)’ before ‘*’ token ncview.protos.h:262: error: expected ‘)’ before ‘procedure’ ncview.protos.h:299: warning: parameter names (without types) in function declaration ncview.c: In function ‘parse_options’: ncview.c:149: warning: incompatible implicit declaration of built-in function ‘strlen’ ncview.c:150: warning: incompatible implicit declaration of built-in function ‘strcpy’ ncview.c:239: warning: incompatible implicit declaration of built-in function ‘strstr’ ncview.c:251: warning: incompatible implicit declaration of built-in function ‘strlen’ ncview.c:256: warning: incompatible implicit declaration of built-in function ‘strncpy’ ncview.c:264: warning: incompatible implicit declaration of built-in function ‘strcpy’ ncview.c: In function ‘get_cmaps_from_dir’: ncview.c:389: warning: incompatible implicit declaration of built-in function ‘strstr’ ncview.c: In function ‘init_cmap_from_file’: ncview.c:451: warning: incompatible implicit declaration of built-in function ‘strlen’ ncview.c:452: warning: incompatible implicit declaration of built-in function ‘strncpy’ make: *** [ncview.o] Error 1 #after installing 7 additional packages: [root at sock ncview-1.93g]# make gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o ncview.o ncview.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o file.o file.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o util.o util.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o do_buttons.o do_buttons.c do_buttons.c: In function ‘do_rewind’: do_buttons.c:96: warning: passing argument 1 of ‘in_timer_set’ from incompatible pointer type do_buttons.c:101: warning: passing argument 1 of ‘in_timer_set’ from incompatible pointer type do_buttons.c: In function ‘do_fastforward’: do_buttons.c:160: warning: passing argument 1 of ‘in_timer_set’ from incompatible pointer type do_buttons.c:165: warning: passing argument 1 of ‘in_timer_set’ from incompatible pointer type gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o file_netcdf.o file_netcdf.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o view.o view.c view.c: In function ‘view_draw’: view.c:616: warning: passing argument 1 of ‘in_timer_set’ from incompatible pointer type view.c:668: warning: passing argument 1 of ‘in_timer_set’ from incompatible pointer type view.c: In function ‘view_check_new_data’: view.c:716: warning: passing argument 1 of ‘in_timer_set’ from incompatible pointer type gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o do_print.o do_print.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o epic_time.o epic_time.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/interface.o interface/interface.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/x_interface.o interface/x_interface.c interface/x_interface.c: In function ‘x_initialize’: interface/x_interface.c:713: warning: passing argument 4 of ‘XtAddEventHandler’ from incompatible pointer type interface/x_interface.c: In function ‘x_init_widgets_varsel_menu_inner’: interface/x_interface.c:1302: warning: cast to pointer from integer of different size interface/x_interface.c: In function ‘dimsel_callback’: interface/x_interface.c:3043: warning: cast from pointer to integer of different size interface/x_interface.c: In function ‘error_popup_callback’: interface/x_interface.c:3275: warning: cast from pointer to integer of different size interface/x_interface.c: In function ‘x_init_dim_info’: interface/x_interface.c:3488: warning: cast to pointer from integer of different size interface/x_interface.c: In function ‘varsel_menu_select’: interface/x_interface.c:3685: warning: cast from pointer to integer of different size gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/dataedit.o interface/dataedit.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/display_info.o interface/display_info.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/plot_xy.o interface/plot_xy.c interface/plot_xy.c: In function ‘x_popup_XY_graph’: interface/plot_xy.c:388: warning: cast to pointer from integer of different size interface/plot_xy.c: In function ‘xy_track_pointer’: interface/plot_xy.c:715: warning: cast from pointer to integer of different size gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/utils.o interface/utils.c interface/utils.c: In function ‘interp’: interface/utils.c:59: warning: comparison is always false due to limited range of data type gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/range.o interface/range.c interface/range.c: In function ‘range_popup_callback’: interface/range.c:315: warning: cast from pointer to integer of different size gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/printer_options.o interface/printer_options.c interface/printer_options.c: In function ‘printer_options’: interface/printer_options.c:101: warning: cast to pointer from integer of different size interface/printer_options.c:182: warning: cast from pointer to integer of different size interface/printer_options.c: In function ‘po_popup_callback’: interface/printer_options.c:533: warning: cast from pointer to integer of different size gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o overlay.o overlay.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/filesel.o interface/filesel.c interface/filesel.c: In function ‘fs_popup_callback’: interface/filesel.c:260: warning: cast from pointer to integer of different size gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/set_options.o interface/set_options.c interface/set_options.c: In function ‘opt_popup_callback’: interface/set_options.c:270: warning: cast from pointer to integer of different size interface/set_options.c: In function ‘overlay_set_callback’: interface/set_options.c:310: warning: cast from pointer to integer of different size interface/set_options.c: In function ‘overlay_unset_callback’: interface/set_options.c:322: warning: cast from pointer to integer of different size interface/set_options.c: In function ‘shrink_set_callback’: interface/set_options.c:332: warning: cast from pointer to integer of different size interface/set_options.c: In function ‘shrink_unset_callback’: interface/set_options.c:339: warning: cast from pointer to integer of different size gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/plot_range.o interface/plot_range.c interface/plot_range.c: In function ‘plot_range_popup_callback’: interface/plot_range.c:215: warning: cast from pointer to integer of different size gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o udu.o udu.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o SciPlot.o SciPlot.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/RadioWidget.o interface/RadioWidget.c interface/RadioWidget.c: In function ‘button_click_callback’: interface/RadioWidget.c:171: warning: cast to pointer from integer of different size interface/RadioWidget.c:176: warning: cast to pointer from integer of different size gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -DNCVIEW_LIB_DIR=\"/usr/local/lib/ncview\" \ -I. -I/usr/include/X11 -I/usr/include/netcdf-3 -I. -c -o interface/cbar.o interface/cbar.c gcc -g -O2 -I/usr/include/X11 -DINC_UDUNITS -o ncview ncview.o file.o util.o do_buttons.o file_netcdf.o view.o do_print.o epic_time.o interface/interface.o interface/x_interface.o interface/dataedit.o interface/display_info.o interface/plot_xy.o interface/utils.o interface/range.o interface/printer_options.o overlay.o interface/filesel.o interface/set_options.o interface/plot_range.o udu.o SciPlot.o interface/RadioWidget.o interface/cbar.o -L. -L/usr/lib \ -L/usr/lib64 -lnetcdf -ludunits -lXaw -lXmu \ \ -lXt -lXext -lX11 -lm /usr/bin/ld: skipping incompatible /usr/lib/libudunits.a when searching for -ludunits [root at sock ncview-1.93g]# make install sed s=NCVIEW_LIB_DIR=/usr/local/lib/ncview= < ncview.1.sed > ncview.1 ---------------------------------------------------- Installing binary in directory /usr/local/bin ---------------------------------------------------- if test ! -d /usr/local/bin; then mkdir -p /usr/local/bin; fi; /usr/bin/install -c ncview /usr/local/bin/ncview -------------------------------------------------------- Installing manual in directory /usr/local/man/man1 -------------------------------------------------------- if test ! -d /usr/local/man/man1; then mkdir -p /usr/local/man/man1; fi; /usr/bin/install -c ncview.1 /usr/local/man/man1/ncview.1 ------------------------------------ Installing application defaults file ------------------------------------ /bin/sh ./install-appdef "/usr/bin/install -c " -------------------------------------------------------- Installing app-defaults file in /usr/lib/X11/app-defaults -------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.centos.org/pipermail/centos/attachments/20091106/0ca70518/attachment-0005.html>