All of lore.kernel.org
 help / color / mirror / Atom feed
From: pa3gcu <pa3gcu@zeelandnet.nl>
To: Jonathan Kallay <yoni@kallay.net>, linux-newbie@vger.kernel.org
Subject: Re: gcc version conflict
Date: Fri, 10 Jan 2003 07:00:41 +0000	[thread overview]
Message-ID: <03011007004101.31603@unix.pa3gcu> (raw)
In-Reply-To: <00f901c2b858$a725cb60$6400a8c0@00arc>

On Friday 10 January 2003 03:30, Jonathan Kallay wrote:
> Hi all,
>   I'm trying to compile the kernel module for some NVidia drivers.  I'm
> getting an error message saying that I'm compiling a module with a
> different version of the compiler than the one used to compile the kernel
> (gcc 2.95.4 is what's installed; the kernel version is 2.2.20 and at one
> point I was able to check the compiler version that compiled it but I can't
> remember how I did it).  What's the best way to work around this problem?

This is a FAQ and is in the README you received with the driver/source.
Here is an excrpt;


Q: Compiling the NVdriver kernel module gives this error:

        You appear to be compiling the NVdriver kernel module with
        a compiler different from the one that was used to compile
        the running kernel. This may be perfectly fine, but there
        are cases where this can lead to unexpected behaviour and
        system crashes.

        If you know what you are doing and want to override this
        check, you can do so by setting IGNORE_CC_MISMATCH.

        In any other case, set the CC environment variable to the
        name of the compiler that was used to compile the kernel.

A: You should compile the NVdriver kernel module with the same compiler
   version that was used to compile your kernel.  Some Linux kernel data
   structures are dependent on the version of gcc used to compile it;
   for example, in include/linux/spinlock.h:

        ...
        * Most gcc versions have a nasty bug with empty initializers.
        */
        #if (__GNUC__ > 2)
          typedef struct { } rwlock_t;
          #define RW_LOCK_UNLOCKED (rwlock_t) { }
        #else
          typedef struct { int gcc_is_buggy; } rwlock_t;
          #define RW_LOCK_UNLOCKED (rwlock_t) { 0 }
        #endif

   If the kernel is compiled with gcc 2.x, but gcc 3.x is used when the
   open files in NVdriver are built (or vice versa), the size of rwlock_t
   will vary, and things like ioremap will fail.

   To check what version of gcc was used to compile your kernel, you
   can examine the output of:

        cat /proc/version

   To check what version of gcc is currently in your $PATH, you can
   examine the output of:

        gcc -v


-- 
Regards Richard
pa3gcu@zeelandnet.nl
http://people.zeelandnet.nl/pa3gcu/

-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

      parent reply	other threads:[~2003-01-10  7:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-10  3:30 gcc version conflict Jonathan Kallay
2003-01-10  4:01 ` whitnl73
2003-01-10  7:00 ` pa3gcu [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=03011007004101.31603@unix.pa3gcu \
    --to=pa3gcu@zeelandnet.nl \
    --cc=linux-newbie@vger.kernel.org \
    --cc=yoni@kallay.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.