Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Aug 1997 10:39:40 -0400 (EDT)
From:      Brian Clapper <bmc@WillsCreek.COM>
To:        TobyN@sysdac.com
Cc:        questions@FreeBSD.ORG
Subject:   Re: Ports and package installation problems
Message-ID:  <199708171439.KAA00809@current.willscreek.com>
In-Reply-To: <33F6AF0A.6C64@sysdac.com>
References:  <199708161621.MAA04713@current.willscreek.com> <33F6AF0A.6C64@sysdac.com>

next in thread | previous in thread | raw e-mail | index | archive | help
[ This note is a response to a letter Toby Norris <TobyN.sysdac.com> sent
  directly to me.  After spending a fair amount of time typing it in, I
  decided it might be of use to someone other than Toby, so I've taken the
  liberty of CC'ing `freebsd-questions'.  Of course, it might also simply
  recapitulate stuff that's already there; if so, sorry.

  To borrow an old quote posted to USENET years ago by David Palmer (who
  was `palmer@tybalt.caltech.edu' back when I snarfed the quote): "Of
  course, someone who knows more about this will correct me if I'm wrong,
  and someone who knows less will correct me if I'm right." ]

Toby Norris wrote:

>   You are absolutely right about
> what I was doing. I have been successfully installing from the
> packages/all directory on my dos partition.  I'm installing and testing
> all sorts of really neat programs.  I am kind of dissapointed about
> the fortran compiler though.  I didn't know that it was just a front end
> for the gcc compiler.  Do you know if there is a real fortran
> compiler/optimizer out there for FreeBSD?  I'm afraid that g77 might not
> let me port this really big legacy code.

I cut my eye teeth on Fortran, back in the early '80s, but I haven't used
it since about 1985, and I'm afraid I've had little incentive to keep up
with the Fortran camp.  However, I've heard good things about g77.  You may
get lucky.  Consider this: The typical compiler compiles code to assembler,
then assembles it.  This arguably makes the resulting compiled code better
tuned to the operating environment for which it was compiled--but it also
means you have to have a different version of the compiler for every
platform.  g77 merely compiles down to C, instead of assembler, and uses
gcc to compile the C code to assembler.  Gcc is *very* *good*.  It has been
around for more than a decade now, and it continues to improve.  If g77
produces decent C code, gcc should be able to produce a decent, efficient
executable from it.  The only real issue should be the faithfulness of the
Fortran translation (i.e., how compliant is it with the Fortran 77
standard? or the Fortran 95 one?)

Translators are not necessarily inherently inferior.  For years, C++ was
nothing more than a front-end for C.  The original C++ compiler from AT&T
goes by the name "cfront", as a matter of fact.  As recently as four years
ago, I was using a cfront-based C++ compiler.  It produced perfectly decent
code; the only drawback was that it was difficult to debug with a symbolic
debugger, since the debugger thought it was dealing with the back-end C
code that the C++ compiler produced.  Other than that, I had no problems at
all with the code produced by the translator.

For another example, look at the GNU Ada Translator (GNAT, not to be
confused with GNATS, the bug tracking tool).  GNAT is a full-featured Ada
compiler that supports most of Ada 83 and Ada 95.  It was developed at NYU
(or was it CUNY?  I don't remember), and handed over to the GNU folks.  Ada
is an extremely semantically rich (read, "f---ing enormous") language.  The
original authors apparently wanted to spend their time on the Ada part of
the compiler, without worrying about writing a back-end assembler
code-generator (and rewriting it, over and over, for every platform).  So
they wrote a C back-end code generator, relying on gcc to do what it does
very well: generate good assembler for the native platform.  From what I've
read, GNAT is a pretty decent Ada "compiler."

My advice is to try g77 with an open mind.  You might be surprised.  If it
turns out to suck, you might be able to find some commercial Fortran
compilers that'll work on FreeBSD (e.g., a SCO or Linux product that can be
run under the appropriate emulation subsystem on FreeBSD).

> I just bought "The Complete FreeBSD" book and its a big help.  It
> mentions an atapi cdrom driver that I can't find anywhere: no on my cd
> and not at the ftp site.

The ATAPI CD-ROM driver is part of the kernel.  To enable it, you need to
create a kernel configuration file for your system, then add the following
lines to it:

        options         ATAPI   #Enable ATAPI support for IDE bus
        options         ATAPI_STATIC    #Don't do it as an LKM
        device          wcd0    #IDE CD-ROM

The ATAPI_STATIC may not be necessary anymore; I've had that config file
around for awhile.

If you've never configured a custom kernel before, read (carefully!)  the
section entitled "Configuring the FreeBSD Kernel" in the FreeBSD Handbook
(http://WWW.FreeBSD.ORG/handbook/handbook37.html#39).  The Complete FreeBSD
probably also has that info, though I don't own a copy, so I can't say for
sure.

I've had the ATAPI code enabled in my kernel(s) since I was running 2.1.6.
It never worked with my CD-ROM (a NEC 8x ATAPI), until I installed FreeBSD
2.2.2.  Since I've installed 2.2.2, I've *never* had a problem accessing my
ATAPI CD-ROM.  Not once.  Never.  (Did I mention that I've never had a
problem?) A lot of work went into the ATAPI driver for 2.2.2.  I don't know
if the same massively-updated driver was shipped with 2.2.1 (Jordan?
Soren?). I bypassed 2.2.1 and went directly from 2.1.7 to 2.2.2.  You might
try 2.2.2.

> One thing that I still have to do that I
> couldn't do that isn't mentioned in the book is configure my network.
> I need to have tcpip for a local area network plus ppp setup through
> my modem to my ISP.

I do that now.  I have two machines at home, networked via 10Base2; the
ethernet cards use the `ed' network drivers (`man 4 ed').  When I dial up
to my ISP, my gateway box does so over a 28.8 modem, using the kernel-based
ppp software.  (See http://WWW.FreeBSD.ORG/handbook/handbook183.html#428)

Finally, I'm using private network addresses at home (i.e., network
addresses that are reserved for private nets and are never seen on the
Internet proper--see RFC 1918 for details); to simplify network access for
the machine behind my gateway, I use the IP firewall kernel module (ipfw)
and the `natd' network address translation daemon on the gateway; it
transparently translates internal addresses to the legal Internet address
assigned to my ppp link, allowing the machine behind my gateway to use the
gateway as if it were a standard router.  It all Just Works.

This stuff is easy enough--provided you understand something about TCP/IP
networking in the UNIX environment.  If you don't, you'll need to bone up
on that first.  I can't possibly give you enough information over e-mail to
substitute for that kind of knowledge.  My advice:

- Depending on your current level of TCP/IP knowledge, start with a primer
  on TCP/IP.  There's one available here:
        http://pclt.cis.yale.edu/pclt/comm/tcpip.htm
  There's another one here:
        http://www.Sun.COM/sunworldonline/swol-11-1995/swol-11-sysadmin.html
  I'm sure there are others on the 'net.  I got the first one from Yahoo,
  and the second one from the Unix Guru Universe (www.ugu.com).  The second
  one is a bit Sun-specific, but it might still be helpful.

- Then, start poking through the more technical networking tutorials at
  Unix Guru Universe.  Examples of pointers I found at UGU (via
  `http://www.ugu.com/sui/ugu/show?I=help.articles.network&F=1111111111&G=Y')

        - Integrating Your Machine with the Network
          http://www.uwsg.indiana.edu/usail/index/network.html

        - Network Administrator's Guide (NAG)
          http://www.uni-tuebingen.de/zdv/projekte/linux/books/nag/nag.html
          Linux-specific, but many of the concepts and approaches,
          translate to BSD easily enough.

- Next, read the networking docs in the FreeBSD handbook and in the
  Complete FreeBSD book you bought.

- Finally, you might consider picking up a decent UNIX network administration
  book.  The handbook contains pointers to some good references.  See
  http://WWW.FreeBSD.ORG/handbook/handbook304.html#642 for details.  For
  example, you'll probably find these two helpful:

        - Hunt, Craig. TCP/IP Network Administration. O'Reilly & Associates,
          Inc., 1992.  ISBN 0-937175-82-X
          Details at: http://www.ora.com/catalog/tcp/

        - Nemeth, Evi. UNIX System Administration Handbook. 2nd
          ed. Prentice Hall, 1995.  ISBN 0131510517
          Details at: http://www.prenhall.com/allbooks/ptr_0131510517.html

> Then there's my Ensoniq sound board that I want
> FreeBSD to recognize so I can play midi files.  Can you help me with
> either of these two items?

Sorry, I can't help you with the Ensoniq board.  However, you're not the
first person to try it.  Search the FreeBSD mailing list archives to see
what others have experienced:

- Go to http://WWW.FreeBSD.ORG/search.html
- In the section entitled "Mailing list archives", enter "ensoniq" in
  the search box.  Make sure the Questions archive is selected.  (It should
  be.)  Set the number of results to 35, and press search.

When I did that, I got 35 hits. I'll leave it to you to read through them.

Hint: Always check the archive.  Lots of times, what you're trying to do
has been explored already.

Good luck.
-----
Brian Clapper, bmc@WillsCreek.COM, http://WWW.WillsCreek.COM/
"To vacillate or not to vacillate, that is the question ... or is it?"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708171439.KAA00809>