Lockergnome    

  Syndicate This Newsletter  07.18.2003 GnomeREPORT

For one thing, I want to let folks know that I haven't forgotten the distribution coverage for the EGGS section, but I'm having a hard time getting some companies to either send me the products they promised, or answer my e-mails. I'll add more distribution coverage once I've got some new items to cover.

The Lockergnome staff is in a frenzy of preparation. If you're going to Gnomedex, have a great time! I won't be there this year since I'm so busy churning out material (and didn't know early enough to leave the time open in my schedule), but maybe next year. However, I'll have friends and compatriots there, so I'll be virtually with you.

Not that much else to say this week. Workin' hard, hopin' Canada Post doesn't go on strike in the morning, and I'll talk to you folks next week. Anything you want to see in particular? Gimme a shout and I'll see what I can do.

Digitally Yours,              
Dee-Ann LeBlanc       


 GnomeEGGS

Finding Out What You're Running

Brad B. asks:

"When I look for software online and they list requirements like 'must have Python x.xx,' how does one find out if their distribution came with 'Python x.xx' or some other such library? Is it a Find File thing, or do I need to go to the dreaded Console?"
Dee-Ann responds:

I'm such a geek. I like working at the console. Of course, you can also open a terminal window in your GUI and not completely leave the GUI if you're not comforable when faced with only a black screen with white letters. I've decided to cover this in EGGS instead of MAN because there's a number of ways to do this, partially depending on what distribution you're running.

If you're running an RPM-based distribution, such as Red Hat, Mandrake, or SuSE, you can get a package's version number by using the rpm command. I'll use Python as the example, since you mentioned it specifically. If you have Python installed on your system, you can type:

rpm -q python

This gives me the results:

python-2.2.2-26

The last item in the version number, the -26, is probably related to the distribution's version of the Python package. This one would be the 26th variant on Python 2.2.2. Don't worry about this issue. What matters is the 2.2.2.

If you're running a DEB-based distribution, like Debian or Knoppix, then you can find out what version of the package in question is using the apt-cache utility. In this case, you'd type:

apt-cache show python

This gives me the following results when I type it in Knoppix:

Package: python
Status: install ok installed
Priority: standard
Section: interpreters
Installed-Size: 52
Maintainer: Matthias Klose 
Source: python2.2
Version: 2.2.2-6
Depends: python2.2 (>= 2.2.2-5)
Suggests: python-doc, python-tk
Conflicts: python2.1 (<= 2.1.2), python-base, python1.5-base (<= 1.5.2-18.3), 
python2.1-base (<= 2.1.1-1.1), python-tk (<= 1.5.2-17), python-gdbm (<= 1.5.2-17), python-mpz
(<= 1.5.2-17), python-examples (<= 1.5.2-17), python-elisp (<= 1.5.2-17),
python-regrtest (<= 1.5.2-17), idle (<= 1.5.2-17), forg (<= 0.03-1), grc (<= 1.0.1),
ipcheck (<= 0.132-1), muttzilla (<= 0.40-9),plwm (<= 2.3-1), pms (<= 0.2.17-1),
pycmail (<= 0.1), python-pyqt (<= 2.5-1), python-stats(<= 0.5-1), python-xlib
(<= 0.8-1), pythondoc (<= 0.6-2), sip (<= 2.5-2), snappea (<= 3.0d3-8), twisted
(<= 0.10.2-1), python-ssl Description: An interactive object-oriented scripting language (default version) Python, the interpretive, interactive object oriented language, includes an extensive class library with lots of goodies for network programming, system administration, sounds and graphics. This package is a dependency package, which depends on Debian's default Python version (currently v2.2).
Notice the bolded pair of lines, there's the information you're looking for.

If you're not utilizing RPM or DEB, don't worry. There's a number of ways you can find out what version you're running. If you're running the version that came with your distribution, you can use the filesystem movement commands (ls for listing the contents of a directory, and cd for changing directories) to look through its packages on the CD-ROM, which likely have the version number in the name. For example:

python-2.2.2.tar.gz

Finally, you can usually ask a program itself what version it is. Just like you can find this information in a GUI tool by clicking Help | About, there are a number of ways to ask a command-line program. In the case of Python, our example, I type python and look what I get:

$ python
Python 2.2.2 (#1, Feb 24 2003, 19:13:11)
[GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Oddly, if I type exit or quit to get out, I'm told:

'Use Ctrl-D (i.e. EOF) to exit.'

So, I get out with Ctrl-D. What if I want to know what version of Perl I'm running? Just typing perl gets me into "the program's expecting input" territory. I Ctrl-C out of there and look at the man page (typing man perl). No information on how to get the version in there. So, I type perl -h, which is a commonly-used format for getting help information (another is command -h). Now we're getting somewhere! I get a long list of options. I cut these down to just what I want and use a pipe to send the output of perl -h as input to grep, which is a program that will search for the text I specify:

$ perl -h | grep version
  -v              print version, subversion (includes VERY IMPORTANT perl info)
Great! So, I can finally get the version information:

perl -v

This is perl, v5.8.0 built for i386-linux-thread-multi
(with 1 registered patch, see perl -V for more detail)

Copyright 1987-2002, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using 'man perl' or 'perldoc perl'.  If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.
Hope that helps!

Submit a Resource | Discuss | Recommend It!

 Gnomedex 3.0

What's this summer's hottest fashion trend? Gnomedex T-Shirts! Order yours today to ensure that you get the proper size for your body. "Will I be able to pick up my shirt(s) up at the convention center?" you ask? Well, the answer is YES. When ordering, on the page where you can put in your shipping address you will be given the option to have the shirt shipped to you ($5) or you can pick it up at Gnomedex in Des Moines (FREE).

Already, these have created quite a buzz online. Robert Skobel says: "I love these white tees!" John P. Dvorak claims: "I predict that in one month, everyone will have one." Dave Wyner notes: "Yes, but are they RSS compatible?" Gnome-Girl exclaims: "Yo, dawg! They be fly and all that sh*t." Joey Ito writes: "I stuck one on my wiki." Slashdoft cheers: "There's no other t-shirt like it - anywhere." Jayson DeFillippo scribbles: "I wash mine in SOAP." Menah Trott proclaims: "I love #FFFFFF stuff." Jason Blair extols: "It's the one thing I dare not say is mine."

UPDATE: Mark Kanter spews: "I'll wait for someone else to review it, and then quote them heavily in my blog - which has an impossible URL to remember." Anvil Dash screams: "I'd rather go naked." Even Williams asserts: "I'd rather see Anvil Dash go naked." Halley Suit interjects: "All the alpha males are wearing them." Dock Surls laments: "I lost mine last year." Don Boxx giggles: "I wear it when I code." Metaflitter chimes: "This is your worst post yet, Chris." Lowernce Lessig laughs: "I've already copywritten mine." Tim O'Rally records: "We're already writing a 'Gnomedex T-Shirts Hacks' book."


 GnomeCHICKS

Compiling Software from Source, Part IV

So, I grabbed the latest non-beta TIFF libraries from ftp://ftp.remotesensing.org/pub/libtiff (tiff-v3.5.7.tar.gz), the latest PNG libraries from ftp://swrinde.nde.swri.edu/pub/png/src/ (libpng-1.2.5.tar.bz2) and the latest JPEG libraries from ftp://ftp.uu.net/graphics/jpeg/ (jpegsrc.v6b.tar.gz).

I start with tiff, uncompressing and unpackaging it. It's an Autoconf setup so I type ./configure and I'm off to the races. Then it's make, then I su over to root, and then make install. What a relief, something worked with no complaints. Just so you'll know what it looks like, here's the end of this make install:

cd ..; /bin/sh ../port/install.sh -m 444    -F /usr/local/man/man3
    -idb tiff.man.dev -src lib/TIFFWriteTile.3t -O TIFFWriteTile.3t make[2]: Leaving directory '/home/dee/Downloads/GNOME2.2.1/tiff-v3.5.7/man/lib' make[1]: Leaving directory '/home/dee/Downloads/GNOME2.2.1/tiff-v3.5.7/man'
libpng has a much uglier installation routine. First, I have to find two files: zlib.h and zconf.h. I already have zlib installed on my system but apparently I need to copy them or add a symlink into the libpng directory. I type locate zlib.h and get:
$ locate zlib.h
/usr/X11R6/include/X11/extensions/lbxzlib.h
/usr/include/zlib.h
/usr/include/mozilla-1.4/zlib/zlib.h
/usr/include/mozilla-1.4/nss/jzlib.h
/usr/src/linux-2.4.20-18.9/arch/ppc/boot/include/zlib.h
/usr/src/linux-2.4.20-18.9/arch/ppc64/boot/zlib.h
/usr/src/linux-2.4.20-18.9/include/linux/zlib.h
I make a zlib directory in the same directory that libpng is in (~/Downloads/GNOME2.2.1), and then I copy the /usr/include/zlib.h file into that directory. Next, I use locate zconf.h and get:
$ locate zconf.h
/usr/include/zconf.h
/usr/include/mozilla-1.4/zlib/zconf.h
/usr/include/mozilla-1.4/nss/jzconf.h
/usr/src/linux-2.4.20-18.9/include/linux/zconf.h
After soft linking (ln -s) /usr/include/zconf.h into ~/Downloads/GNOME2.2.1/zlib, I return to the libpng directory and, after reading the INSTALL file yet again, change to the scripts subdirectory. Here, I copy the file makefile.linux into the main libpng directory, renaming it along the way:

cp makefile.linux ../Makefile

Now, I cross my fingers and type make to start the library build process. If you think this whole routine is a pain, remember that this was the only way to do it "way back when!" It builds with no problem, so I type make install to finish it off. Phew. Now where in the heck was I? Oh yeah, I have to still compile the JPEG libraries. I uncompress and unpackage them, and discover in the install file that I'm back to ./configure, make, make install. The nice thing is that libraries are relatively small, usually, so this process goes pretty fast.

Finally, I'm out of the detour. I go back and look at last week's article (isn't that sad?) to find that it was gtk+ that I was trying to build when I had to go off chasing libraries. Again, I cross my fingers and type ./configure, hoping that this time it won't complain. But it does. After banging my head on my desk for a moment, I look back to see where the JPEG library installed its files:

# make install
/usr/bin/install -c cjpeg /usr/local/bin/cjpeg
/usr/bin/install -c djpeg /usr/local/bin/djpeg
/usr/bin/install -c jpegtran /usr/local/bin/jpegtran
/usr/bin/install -c rdjpgcom /usr/local/bin/rdjpgcom
/usr/bin/install -c wrjpgcom /usr/local/bin/wrjpgcom
/usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/man/man1/cjpeg.1
/usr/bin/install -c -m 644 ./djpeg.1 /usr/local/man/man1/djpeg.1
/usr/bin/install -c -m 644 ./jpegtran.1 /usr/local/man/man1/jpegtran.1
/usr/bin/install -c -m 644 ./rdjpgcom.1 /usr/local/man/man1/rdjpgcom.1
/usr/bin/install -c -m 644 ./wrjpgcom.1 /usr/local/man/man1/wrjpgcom.1
Uh oh. No source code was installed, just binaries. I look back in the Makefile and down into the rules, and sure enough, the install target doesn't include the libraries or the headers. Here are the items I need:

install-lib: libjpeg.$(A) install-headers
        $(INSTALL_LIB) libjpeg.$(A) $(libdir)/$(binprefix)libjpeg.$(A)

install-headers: jconfig.h
        $(INSTALL_DATA) jconfig.h $(includedir)/jconfig.h
        $(INSTALL_DATA) $(srcdir)/jpeglib.h $(includedir)/jpeglib.h
        $(INSTALL_DATA) $(srcdir)/jmorecfg.h $(includedir)/jmorecfg.h
        $(INSTALL_DATA) $(srcdir)/jerror.h $(includedir)/jerror.h
I've bolded the interesting lines above. If I just do the headers, I'll have to then do the libraries, but I can do both at once by using install-lib first. So:
# make install-lib
/usr/bin/install -c -m 644 jconfig.h /usr/local/include/jconfig.h
/usr/bin/install -c -m 644 ./jpeglib.h /usr/local/include/jpeglib.h
/usr/bin/install -c -m 644 ./jmorecfg.h /usr/local/include/jmorecfg.h
/usr/bin/install -c -m 644 ./jerror.h /usr/local/include/jerror.h
/usr/bin/install -c -m 644 libjpeg.a /usr/local/lib/libjpeg.a
Much better. Back over to the GTK+ source code directory. A quick ./configure and if the fates shine upon me ... yay ... they do! Now I can type make and compile GTK+, then make install to put the files in place, and leave this week's part on a perkier note.

Next week: I continue with the valiant struggle that is compiling GNOME from source.

(I'm sure the GNOME team would laugh at me. They've got a special method for doing this that's a lot easier. But that's not the point, as I said before. This is a learning "workshop.")

Submit a Resource | Discuss | Recommend It!


 GnomePENGUINS

Introduction to DocBook, Part III

So far, I have the file:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
     "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> <article class="journalarticle"> <articleinfo> <author> <firstname>Dee-Ann</firstname> <surname>LeBlanc</surname> </author> </articleinfo> <para>This is my very first DocBook article.</para> </article>
As usual, markup languages are really easier to follow if things are indented within their container tags, so I'll change this to:
  <articleinfo>
    <author>
      <firstname>Dee-Ann</firstname>
      <surname>LeBlanc</surname>
    </author>
  </articleinfo>
  <para>This is my very first DocBook article.</para>
</article>
Much better. Now I go back to the listing of how an article is laid out at http://www.docbook.org/tdg/en/html/article.html ... this lets me look at the various elements I might want to use. Let me add just some general text first:
  </articleinfo>
  <para>This is my very first DocBook article.</para>
  <para>Being a technical writer, I'm kind of anal about formatting. If I find 
myself listing steps, for example, then I'll often want to use a numbered list.
For example, when writing a DocBook article, you have to: 1. Start with the XML
version tag. 2. Add the DOCTYPE declaration. 3. Start the article container tag.
4. Fill in some article info. 5. Write the article. 6. Close the article. </article>
This isn't going to come out very pretty. How about I put the word "anal" in Italics. To do this, I need the emphasis tag:

<para>Being a technical writer, I'm kind of <emphasis>anal</emphasis> about formatting.

Now, rather than having my numbered list embedded in the paragraph, I want to break it up. For that, I need a procedure:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> <article class="journalarticle"> <articleinfo> <author> <firstname>Dee-Ann</firstname> <surname>LeBlanc</surname> </author> </articleinfo> <para>This is my very first DocBook article.</para> <para>Being a technical writer, I'm kind of <emphasis>anal</emphasis>
about formatting. If I find myself listing steps, for example, then I'll
often want to use a numbered list. For example, when writing a DocBook article,
you have to:</para> <procedure> <step><para>Start with the XML version tag.</para></step> <step><para>Add the DOCTYPE declaration.</para></step> <step><para>Start the article container tag. </para></step> <step><para>Fill in some article info. </para></step> <step><para>Write the article. </para></step> <step><para>Close the article.</para></step> </procedure> </article>
Notice that I closed my paragraph before beginning the procedural list. Also, I removed the manual numbering. Now let's take a look at what we have. Copy the text above into a document, say, "mysecond.docbook." Now:
$ docbook2html mysecond.docbook
Using catalogs: /etc/sgml/xml-docbook-4.2-1.0-17.cat
Using stylesheet: /usr/share/sgml/docbook/utils-0.6.12/docbook-utils.dsl#html
Working on: /home/dee/docbook/mysecond.docbook
Done.
View the HTML file and there it is, our nicely formatted article.

That wraps up your introduction to DocBook. Go forth and make documentation!

Submit a Resource | Discuss | Recommend It!


 GnomeVOICE

Joel Bates writes:
"Might be a little belated, but 'Welcome!' to the Gnome crew. Seems like you're settling in well. I'm a Linux-user wannabe (it is part of my new job's responsibilities), and the newsletter has been helpful for information. I look forward to the future.

"I couldn't help but notice in the July 4 article you sent that you mentioned 'sometimes there just aren't enough computers.' Could I make a suggestion?

"VMWARE. Randy Nieland should be able to back me up on this - VMWARE (as you may already know) allows you to emulate different PCs on one platform. It's available in Linux and Windows, and I use it personally for dabbling in the different OSes. This might help you in the future. Price is a little steep - about $300-400, but worth it. I have a 1.5GHz AMD CPU + 1 GB RAM, and it runs well with two or three systems emulated at once. This may minimize the hardware that you may need to have around the house. There's a bit of a learning curve, but it's slick and definitely worth it."

Dee-Ann responds:

I have used VMWare on occasion, but I find it cumbersome and often not as reliable as I'd like. Where it comes in really handy is when I need to get screenshots of things where it's otherwise almost impossible to do so! It's hard to get a BIOS screenshot, for example, since the computer isn't even really running. :)

However, one of you readers might find VMWare quite useful!

Submit a Resource | Discuss | Recommend It!


 GnomeCLICK

Author Morris Rosenthal has taken the boot failure diagnosis flow charts from his latest book, Computer Repair with Diagnostic Flowcharts - ISBN 0972380116 ($14.95). You can get the free poster through the book's main page.

Submit a Resource | Discuss | Recommend It!


 GnomeMAN

In response to the problem regarding SuSE Linux and the CD player, Joe Joseph says:

"I had the same problem. KSCD has a configuration file - click the tiny hammer and screwdriver symbol on the panel of the player. Set the CD-ROM device as applicable; mine was set to /dev/cdrom when it is actually /dev/dvd. There should have been a reference to this in the SuSE manual."
Hope that helps!

Submit a Question | Discuss | Recommend It!


Cool Tools:
 GnomeDomains
 GnomePortable
 Gnomies.com
 GnomeSavings
 GnomePersonals
 GnomeJobs

Reading Materials:
 CPU Magazine
 Computing Guides
 Internet Business  PayPal Library
 HOT! Wi-Fi Help

Current Content:
 Windows Daily
 Digital Media
 Tech Specialist
 Penguin Shell
 Apple Core
 Web Weekly
 Technology News
 File Of The Day

Search:

Our Community:
 Gnomedex Conference
 The Forums
 Live Chat Room
 Tell a Friend!
 Watch The Webcams
 About Lockergnome

Contact Us:
 General Feedback
 Sponsorships
 Submit a Link
 Ask a Question
 E-mail the Editor
 The Editor's Site

 


Past Issues:
Software:
Register a Domain:
Domain Transfers:
Hardware:
Amazon Products:

Get Listed Here

Question: which group is 250,000+ strong and always looking for stuff to make their personal and professional lives run smoother?

 

Get yourname@gnomies.com today

 


©1996-2003, Lockergnome LLC. ISSN: 1095-3965. All Rights Reserved. Please read our Terms of Service. Web site hosted by DigitalDaze. Domain registered at DNS Central. Powered by Lyris ListManager. Chris Pirillo fueled by Peet's Coffee. Headers provided by Habeas. Statistics provided by Urchin.