#2329 closed defect (wontfix)
linux/cdrom.h and linux/raw.h configure failures
Reported by: | Owned by: | Randy McMurchy | |
---|---|---|---|
Priority: | normal | Milestone: | 6.3 |
Component: | BOOK | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description ¶
I often get:
checking linux/raw.h usability... no checking linux/raw.h presence... yes configure: WARNING: linux/raw.h: present but cannot be compiled configure: WARNING: linux/raw.h: check for missing prerequisite headers? configure: WARNING: linux/raw.h: see the Autoconf documentation configure: WARNING: linux/raw.h: section "Present But Cannot Be Compiled" configure: WARNING: linux/raw.h: proceeding with the preprocessor's result configure: WARNING: linux/raw.h: in the future, the compiler will take precedence configure: WARNING: ## ------------------------------------------ ## configure: WARNING: ## Report this to the AC_PACKAGE_NAME lists. ## configure: WARNING: ## ------------------------------------------ ## checking for linux/raw.h... yes checking sys/raw.h usability... yes checking sys/raw.h presence... yes
and
checking linux/cdrom.h usability... no checking linux/cdrom.h presence... yes configure: WARNING: linux/cdrom.h: present but cannot be compiled configure: WARNING: linux/cdrom.h: check for missing prerequisite headers? configure: WARNING: linux/cdrom.h: see the Autoconf documentation configure: WARNING: linux/cdrom.h: section "Present But Cannot Be Compiled" configure: WARNING: linux/cdrom.h: proceeding with the preprocessor's result configure: WARNING: linux/cdrom.h: in the future, the compiler will take precedence configure: WARNING: ## ------------------------------------------ ## configure: WARNING: ## Report this to the AC_PACKAGE_NAME lists. ## configure: WARNING: ## ------------------------------------------ ## checking for linux/cdrom.h... yes
These are caused by "-std=iso9899:1990" being used during ./configure, the conftest programs fail because many linux kernel headers are not ANSI compliant. We can fix this by passing "--disable-warnings" to ./configure so that "-std=iso9899:1990" does not get used. This affects many packages, almost all the KDE packages, and I think MPlayer too, and others. This also affects all recent kernels (back to 2.4).
Change History (8)
comment:1 by , 18 years ago
comment:2 by , 18 years ago
I see the warnings, but what are the effects?
In config.h for kdebase, even though I get the warning I still still have
#define HAVE_LINUX_RAW_H 1
In kdemultimedia, it is not checking for linux/raw.h at all and I get:
checking linux/cdrom.h usability... yes checking linux/cdrom.h presence... yes checking for linux/cdrom.h... yes
Please explain the consequences of what you are seeing.
comment:3 by , 17 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
Type: | task → defect |
As it appears the warning messages don't affect building or running packages (unless we hear more from Robert), I'm ready to close this ticket.
Anyone else have any comments/
comment:4 by , 17 years ago
Robert D.,
Do you have any comments about this? It appears that it is mostly centered around KDE packages, so I'm curious what your take on this is.
comment:5 by , 17 years ago
I have seen this in KDE packages, but also several others as well. The problem seems to be that the cdrom.h header is checked, but that header does not include its dependencies.
I currently does not seem to have any negative effects in compilation, or loss of functionality. However, future versions of autoconf are going to error on this, rather than printing a warning. So, patches will likely be required when autoconf begins to enforce results of the compiler test, but is ok for now.
follow-up: 8 comment:7 by , 17 years ago
Although I like getting credit for just watching things unfold, s/Dan/Robert/. :)
comment:8 by , 17 years ago
Fair enough. It looked broken, so I thought it was broken. Thanks for checking it out further.
The above issue affects kdebase-3.5.6, kdenetwork, and kdemultimedia.