Jump to content

Garbled Cracklesound


Guest BarryFandango
 Share

Recommended Posts

Guest BarryFandango

Steve Scrimpshire,

 

Thanks, that really helps. What do those lines actually do? I know "su" lets you switch to root, which is obviously required for "make install." But the rest is a mystery and I want to understand all of this. Don't be afraid to get technical! 8)

Link to comment
Share on other sites

  • Replies 31
  • Created
  • Last Reply

Top Posters In This Topic

Steve Scrimpshire,

 

Thanks, that really helps.  What do those lines actually do?  I know "su" lets you switch to root, which is obviously required for "make install."  But the rest is a mystery and I want to understand all of this.  Don't be afraid to get technical!   8)

 

$ tar -jxvf name-of-file.tar.bz2 [ENTER]

 

That untars and uncompresses the file into its parts, which are a directory and sometimes subdirectories, usually with the same name as the tar file.

You can do:

 

man tar

or

tar --help

 

to see which switch is doing what (-jxvf)

 

$ cd [type in new directory name][ENTER]

 

'cd' is change directory

 

$ cat README | more [ENTER]

[hit q to exit the cat command]

$ cat INSTALL | more [ENTER]

hit q to exit the cat command

 

'cat' prints the contents of the file onto the shell window...the '|' (pipe) 'pipes' (what else?...lol) the output of the 'cat' command into the input of the 'more' command (kinda, sorta like ' more "cat README" ' if you can imagine 'cat README' being a variable or an array). The 'more' command only prints one screen's worth of info and you have to hit enter to scroll down (or maybe it's the down arrow, I forget...lol) If you didn't use the 'more' command, sometimes the file is so large that it overruns the shell's history buffer (not sure of the technical terminology for that) and you wouldn't be able to scroll back far enough to read the beginning of the file. This is not usually a problem with README or INSTALL files, but it doesn't hurt. You could also use 'less' instead of more...they do basically the same thing.

 

$ ./configure [hit ENTER]

'./configure' executes the (usually bash) script called configure in the directory. It checks for the right development stuff...compilers, dependencies, locations of libraries it needs, etc....cuz whatever they wrote may conflict with some compilers. It usually writes info on the locations of these files to a file called 'config.cache' or similar.

 

$ make [hit ENTER]

 

'make' is a compiler command that reads the MAKEFILE for where to put stuff, what libraries to use, etc. (I'm a little hazy on this myself)

 

# make install

 

'make install' does the same thing as 'make', but it only reads the stuff listed under the 'install' heading in the MAKEFILE and installs everything. The reason you have to be root is that a lot of the places it writes to cannot be written to by a regular user.

 

They usually include a 'clean' function in the MAKEFILE, too to clean up intermediate stuff like the config.cache and sometimes they put a 'make uninstall' function in there, too, to allow for easier uninstalling of the file.

 

Hope I didn't get too basic and insult you. Some of this I don't really comprehend and may be explaining it incorrectly or with improper terminology, but it's close.

Link to comment
Share on other sites

Guest BarryFandango

Steve,

 

No, that's great, thanks. Very helpful. I'm slowly putting all this together. It makes an odd kind of sense that linux groups similar types of files instead of applications, although it would seem to make uninstallation a lot trickier. On the other hand the win32 application-centric philosophy is ridiculous, because every program still installs components to system directories, the registry, etc. so the advantage is lost.

 

In the installation procedure you described, how will i know if i'm missing required dependencies? Will ./configure report it? And just to confirm, a "dependency" is a module required for the program to run, right?

 

is "./" the command used to run any shell script? What about "/."? I'm just wondering where Slashdot.org gets it name :)

Link to comment
Share on other sites

'./configure' will fail and report errors (usually) if you are missing compiler dependencies and 'make' will fail if you are missing other dependencies. It also will usually report what you are missing, though it usually tells you by file name and not by package name. If it reports a missing file, you can go to http://rpmfind..net and type the file name into the search field and it will tell you lists of packages that file is in.

 

The './' just means that you are in the directory the script is in. If the script was in the directory above you, you would type ../configure (I think that's how it works...lol) and if it were two directories above you, it would be ../../configure I'm kinda guessing on this part, but I think I have it about right. Ever notice how in some FTP programs or on FTP sites, you see:

.

..

somefile

anotherfile

yadayada

 

and the .. takes you one directory up? That's what this is. Once again, I'm guessing alot...lol.

Link to comment
Share on other sites

Guest BarryFandango

OK well i'm starting to feel more comfortable moving around in the CLI. I un-tarred the four ALSA packages for rc7. Browsing the alsa-tools package, i notices a folder called Envy24-control which looks very promising (envy24 is the chip on my soundcard.)

 

When i tried to install alsa-driver, which seemed like the logical first choice, i got the following:

 

checking for gcc... no

checking for cc... no

checking for cc... no

checking for cl... no

configure: no acceptable cc found in $PATH

 

I also tried alsa-lib, just for fun, and got the following similar result:

 

checking build system type... i686-pc-linux-gnuoldld

checking host system type... i686-pc-linux-gnuoldld

checking target system type... i686-pc-linux-gnuoldld

checking for a BSD compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for mawk... no

checking for gawk... gawk

checking whether make sets ${MAKE}... yes

checking for gcc... no

checking for cc... no

checking for cc... no

checking for cl... no

configure: error: no acceptable cc found in $PATH

 

Any advice?

Link to comment
Share on other sites

You don't have development packages installed. Open your software manager and type in 'cc' without the quotes in the search field and 'Search by File'. Install g++, gcc, etc...you may have to search for g++ separately. You can run the software manager from the console by typing, as root

 

rpmdrake

Link to comment
Share on other sites

Guest BarryFandango

Ok, ./configure made it much farther this time. the error reported (I think it's an error) is:

 

checking for gcc... gcc

(etc etc)...

checking for directory with kernel source... /lib/modules/2.4.19-16mdk/build

checking for kernel version... The file /lib/modules/2.4.19-16mdk/build/include/linux/version.h does not exist.

Please, install the package with full kernel sources for your distribution or use --with-kernel=dir option to specify another directory with kernel sources (defauls is /usr/src/linux).

 

What does this look like to you?

Link to comment
Share on other sites

You have to install the kernel source for the version of kernel you are using. If you aren't sure which kernel you are using, in a terminal, type:

 

uname -r

 

You can install the sources with rpmdrake, just search for the kernel version and you should see one that *-source or something like that.

Link to comment
Share on other sites

Ok, ./configure made it much farther this time.  the error reported (I think it's an error) is:

 

checking for gcc... gcc

(etc etc)...

checking for directory with kernel source... /lib/modules/2.4.19-16mdk/build

checking for kernel version... The file /lib/modules/2.4.19-16mdk/build/include/linux/version.h does not exist.

Please, install the package with full kernel sources for your distribution or use --with-kernel=dir option to specify another directory with kernel sources (defauls is /usr/src/linux).

 

What does this look like to you?

 

You have to install the kernel-source RPM. It's on one of your Mandrake CD's, probably the second one.

Link to comment
Share on other sites

Guest BarryFandango

More progress. Now ./configure succeeds, printing lots of 'checking' lines followed by some config.status lines. The last one is:

 

config.status: include/version.h is unchanged

 

Wonderful. So I run 'make', and LOTS of text appears... forever. It seems to be stuck in a loop. the only line i could make out in the nonstop stream was:

 

/lib/modules/2.4.19-16mdk/build/include/linux/modules/util_mem.ver:51:1: warning: this is the location of the previous definition

 

At first I thought it was working, but as time went on i started to wonder... :)

Link to comment
Share on other sites

Guest BarryFandango

ok, never mind - i ran it again with the |more piped in to get a better look at what was happening, and for some reason it worked this time, as did "make install." Oh yeah!

Link to comment
Share on other sites

Guest BarryFandango

Wheeeeeeeeeeeeeeeee haw!

 

Who would have thought it would feel so strangely rewarding to spend two weeks making my computer do the same thing it did in windows with less than one minute of configuration.

 

To any users of the audiophile 2496 or any of midiman's high end delta sound cards (the 1010, etc) what you need is the program "envy24control" written by Jaroslav Kysela. It is included in the alsa-tools package. I used RC7 and it works fine. The program provides an interface exactly like the Windows M-Audio Control Center, same sliders, labels, SPDIF options, etc etc.

 

Thanks very much for your help mr scrimpshire and others who helped. Your patience is greatly appreciated and this ended up being a very educational experience for this newbie.

Link to comment
Share on other sites

Hey, my Dad's not here...I'm just Steve. You must be from the South, too (I know MI is not the South, but I'm originally from MS). No problem. I, too, find Linux very rewarding, even with the extra hassle sometimes. Way more stable than Windows.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share


×
×
  • Create New...