Red Hat Bugzilla – Bug 72212
modutils incorrectly? decides freeswan ipsec built with gcc2.x
Last modified: 2014-03-16 22:30:19 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 Galeon/1.2.5 (X11; Linux i686; U;) Gecko/20020809
Description of problem:
Install freeswan 1.98b on null (kernel 2.4.18-12.3 from rawhide). I usually use
freeswan's "make xrpm" to generate RPM packages
cat /proc/version shows:
Linux version 2.4.18-12.3 (email@example.com) (gcc version
3.2 (Red Hat Linux Rawhide 3.2-1)) #1 Tue Aug 20 14:44:47 EDT 2002
gcc -v gives:Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --host=i386-redhat-linux --with-system-zlib --enable-__cxa_atexit
Thread model: posix
gcc version 3.2 (Red Hat Linux Rawhide 3.2-1)
Since the kernel build and gcc versions are clearly 3.2, I don't understand why
insmod refuses to install the ipsec.o module:
"The module you are trying to load is compiled with a version 2 compiler..."
I don't think there's any 2.x object code in there - if I knew how to find out,
I could say for sure :) In any event, the only gcc 2.96 filesets I have
installed are the compatibility ones.
Version-Release number of selected component (if applicable): 2.4.18-2
Steps to Reproduce:
Actual Results: Freeswan ipsec module won't load unless you force it
Expected Results: Module should load without further intervention
Incidentally, this is actually the root cause of bug #71981, which was closed
off as notabug and the resolution "Nvidia should compile their driver with gcc 3.x"
Whilst this may well be true from a perfectionist standpoint, one may take the
view that whether or not the module in question is compiled "properly" or not,
it may nevertheless work.
The Nvidia driver specifically does seem to work just fine for me (and, I
believe, for many others). It's therefore a little frustrating to have this
spanner thrown in the works for what may be argued is an arbitrary reason,
although I do understand the thinking behind it from RedHat's point of view and
greater probability of a stable system etc.
Would it be possible to consider changing the modutils gcc-check behaviour so
that it downgrades its activities to a warning instead of a refusal to load?
Failing that, perhaps an override switch in modules.conf to allow a globally
defined choice as to behaviour in the event of a mismatch - warn or fail. Either
way, this would be preferable to having to hack init scripts to add the -f flag...
Freeswan's build process processes perl to make a .s file; this process *inserts*
symbols (.gcc2_compiled) to match gcc2 output. I don't think we can support that.