unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Build failure on Debian unstable
@ 2007-05-23 15:20 Sven Joachim
  2007-05-23 15:55 ` Chong Yidong
  0 siblings, 1 reply; 4+ messages in thread
From: Sven Joachim @ 2007-05-23 15:20 UTC (permalink / raw)
  To: emacs-devel

Please have a look at http://bugs.debian.org/423462, it says that
Emacs currently fails to build:

[Quoting from the bug report]

,----
| In file included from ./config.h:979,
|                  from dispnew.c:23:
| ./s/gnu-linux.h:49:24: error: operator '>' has no left operand
| ./s/gnu-linux.h:52:24: error: operator '>=' has no left operand
| ./s/gnu-linux.h:55:24: error: operator '>=' has no left operand
| 
| The offending code in gnu-linux.h references LINUX_VERSION_CODE,
| 
| #if LINUX_VERSION_CODE > 0x10200
| #define LINUX_SIGIO_DOES_WORK
| #endif /* LINUX_VERSION_CODE > 0x10200 */
| #if LINUX_VERSION_CODE >= 0x20000
| #define LINUX_MAP_SHARED_DOES_WORK
| #endif /* LINUX_VERSION_CODE >= 0x20000 */
| #if LINUX_VERSION_CODE >= 0x20400
| 
| ... which is defined in /usr/include/linux/version.h:
| 
| #define LINUX_VERSION_CODE
| #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
`----

I verified that this does indeed happen.  While it is an incompatible
change that the Debian maintainers did not give LINUX_VERSION_CODE a
version, I tend to agree Steve Langasek that it is very unreliable to
check LINUX_VERSION_CODE to determine the version of the Linux kernel,
since the kernel version is not really related to what
/usr/include/linux/version.h states about it (and it's entirely
possible to build Emacs with a new kernel but run it under an older
one).

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Build failure on Debian unstable
  2007-05-23 15:20 Build failure on Debian unstable Sven Joachim
@ 2007-05-23 15:55 ` Chong Yidong
  2007-05-23 18:53   ` Glenn Morris
  0 siblings, 1 reply; 4+ messages in thread
From: Chong Yidong @ 2007-05-23 15:55 UTC (permalink / raw)
  To: Sven Joachim; +Cc: emacs-devel

Sven Joachim <svenjoac@gmx.de> writes:

> Please have a look at http://bugs.debian.org/423462, it says that
> Emacs currently fails to build:
>
> I verified that this does indeed happen.  While it is an incompatible
> change that the Debian maintainers did not give LINUX_VERSION_CODE a
> version, I tend to agree Steve Langasek that it is very unreliable to
> check LINUX_VERSION_CODE to determine the version of the Linux kernel,
> since the kernel version is not really related to what
> /usr/include/linux/version.h states about it (and it's entirely
> possible to build Emacs with a new kernel but run it under an older
> one).

>From reading the bug report, it seems that many software packages,
including the Sendmail and Postfix mail transport agents, do the same
thing.  So this should not be urgent enough to block the Emacs 22.1
release.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Build failure on Debian unstable
  2007-05-23 15:55 ` Chong Yidong
@ 2007-05-23 18:53   ` Glenn Morris
  2007-05-23 20:15     ` Chong Yidong
  0 siblings, 1 reply; 4+ messages in thread
From: Glenn Morris @ 2007-05-23 18:53 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Sven Joachim, emacs-devel

Chong Yidong wrote:

> From reading the bug report, it seems that many software packages,
> including the Sendmail and Postfix mail transport agents, do the same
> thing.  So this should not be urgent enough to block the Emacs 22.1
> release.

Perhaps Debian will revert this problematic change. For now, we could
add a PROBLEMS entry about it. I know the version number could be
worked out more elegantly, I tried to find a portable way. Maybe there
is a better way.


*** Compiling on a GNU/Linux system fails with a missing left operand in gnu-linux.h

The actual error messages have the form:

  ../src/s/gnu-linux.h:49:24: error: operator '>' has no left operand

This error occurs because your system defines LINUX_VERSION_CODE in
the standard header file linux/version.h but does not give it a value.
As a workaround, you can edit the file src/s/gnu-linux.h to add the
needed definition.  On the line after "#include <linux/version.h>",
add a line as shown below:

#include <linux/version.h>
#define LINUX_VERSION_CODE 132626

The number to use depends on your kernel version (the example shown
is for kernel 2.6.18).  The number can be obtained by running this
command in the shell:

uname -r | sed -e 's/\./ /g' -e 's/-.*//' | awk '{print $1*(2^16) + $2*(2^8) + $3}'

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Build failure on Debian unstable
  2007-05-23 18:53   ` Glenn Morris
@ 2007-05-23 20:15     ` Chong Yidong
  0 siblings, 0 replies; 4+ messages in thread
From: Chong Yidong @ 2007-05-23 20:15 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Sven Joachim, emacs-devel

Glenn Morris <rgm@gnu.org> writes:

> Chong Yidong wrote:
>
>> From reading the bug report, it seems that many software packages,
>> including the Sendmail and Postfix mail transport agents, do the same
>> thing.  So this should not be urgent enough to block the Emacs 22.1
>> release.
>
> Perhaps Debian will revert this problematic change. For now, we could
> add a PROBLEMS entry about it.

I checked in your patch.  Thanks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-05-23 20:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-23 15:20 Build failure on Debian unstable Sven Joachim
2007-05-23 15:55 ` Chong Yidong
2007-05-23 18:53   ` Glenn Morris
2007-05-23 20:15     ` Chong Yidong

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).