Re: Compilation of avifile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 20 Oct 2002, HoytDuff wrote:

>Date: Sun, 20 Oct 2002 13:32:22 -0400
>From: HoytDuff <hoyt@cavtel.net>
>To: psyche-list@redhat.com
>Content-Type: text/plain;
>  charset="iso-8859-1"
>List-Id: Discussion of Red Hat Linux 8.0 (Psyche) <psyche-list.redhat.com>
>Subject: Re: Compilation of avifile
>
>On Sunday 20 October 2002 11:13 am, Mike A. Harris scribbled in crayon on a 
>yellow legal pad:
>> I get to see this about 50 times a day.  Quite often, the
>> solution to their problem is in the last 20 lines of error log
>> output.  ;o)
>
>Perhaps what is needed is a brief tutorial on understanding those last 20 
>lines and applying that knowledge to fix the problem.

That would be completely impossible.  The failure point during a 
software build can be absolutely anywhere, and could be caused by 
any one of 100000 or more code bugs in the code being compiled.  
It could be caused by incompatibility of library versions a user 
has installed on their system compared to what the given package 
is looking for.  It could be caused by the user not installing 
all of the proper development packages required to build the 
software, or missing header files, missing libraries, or missing 
other applications needed during the compilation of the software.

There are literally hundreds of thousands of problems that could 
occur and cause a software build to fail.  Compiler bugs are one 
of them, but they're much more rare to find than some people 
think.

So it is basically impossible to write a short 
tutorial/guide/howto on fixing all problems that occur during 
software compilation.  Someone could certainly write a guide 
however that covers things in more generalized and abstract 
terms, such as:

1) Make sure to read the README, INSTALLING, and other 
   documentation that comes with the source code you are trying 
   to build, and read it completely before attempting to compile.

2) Make sure your system includes all of the required libraries, 
   and header files the software needs to build properly, and 
   that you hae the proper version of the libraries needed
   installed on your system, as well as the developmental .so's
   for these libraries.

3) Make sure you have a compiler installed, and that the code you 
   are compiling has been tested with that compiler.  All too 
   often, code compiles with one compiler, and not with another 
   one.  Unknowledgeable users tend to blame the problem on the 
   compiler that wont compile the code, rather than finding the 
   real problem.  A typical cause for this, is that the 
   author of the software, did not follow proper official 
   standards such as ISO C99 or ISO C++ 98, and that their code 
   compiled ok on an older compiler which did not adhere to 
   standards, but their code does not compile on newer standards 
   compliant compilers such as gcc 3.2, or gcc 2.96 for example.
   In short: Don't blame the compiler, it is sometimes at fault, 
   but "sometimes" is very very rare.  Look in 100 other places 
   before considering a compiler fault.

   Reference: http://www.redhat.com/advice/speaks_gcc.html

4) If you get an "Internal Compiler Error" (ICE), you also might 
   conclude that the compiler is buggy, as it has just basically 
   told you that itself.  The most frequent cause of these errors 
   however, surprisingly enough, are buggy hardware rather than 
   real compiler bugs.  The usual culprit is memory which is bad, 
   or has recently gone bad, or overheating 
   CPU/memory/powersupply, or other odd hardware failures.  Users 
   who encounter Internal Compiler Errors, should immediately 
   suspect bad hardware, and test their hardware by using
   "memtest86".  Another test which is helpful to determine if an 
   ICE might be a true compiler bug/problem, is to wipe out the 
   source code you are compiling completely, untar it, and 
   compile it again, saving the output to a logfile.  Repeat this 
   procedure several times using different logfiles.  Examine the 
   logfiles afterward, and if you see that the build has failed 
   in a random spot each time, it is 99.999% chance that your 
   hardware is faulty or malfunctioning.  If it occurs in the 
   exact same spot every single time, and on multiple different 
   machines, then it is more likely a real compiler bug.
 
Well, there are some pointers to help get anyone started who is
interested in turning it into a HOWTO.  ;o)

Hope this helps.

TTYL

-- 
Mike A. Harris		ftp://people.redhat.com/mharris
OS Systems Engineer
XFree86 maintainer
Red Hat Inc.



-- 
Psyche-list mailing list
Psyche-list@redhat.com
https://listman.redhat.com/mailman/listinfo/psyche-list

[Index of Archives]     [Fedora General Discussion]     [Red Hat General Discussion]     [Centos]     [Kernel]     [Red Hat Install]     [Red Hat Watch]     [Red Hat Development]     [Red Hat 9]     [Gimp]     [Yosemite News]

  Powered by Linux