unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#11797: trunk does not build on NetBSD
@ 2012-06-27  9:44 Herbert J. Skuhra
  2012-06-28  0:05 ` Glenn Morris
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Herbert J. Skuhra @ 2012-06-27  9:44 UTC (permalink / raw)
  To: 11797

[-- Attachment #1: Type: text/plain, Size: 2944 bytes --]

Hi,

I get the following error when I run 'gmake bootstrap' on NetBSD-current:

sysdep.c:2528:16: error: 'CTL_KERN' undeclared (first use in this function)
sysdep.c:2528:16: note: each undeclared identifier is reported only
once for each function it appears in
sysdep.c:2528:26: error: 'KERN_PROC' undeclared (first use in this function)
sysdep.c:2528:37: error: 'KERN_PROC_PROC' undeclared (first use in
this function)
sysdep.c:2537:3: warning: implicit declaration of function 'sysctl'
sysdep.c:2548:18: error: invalid application of 'sizeof' to incomplete
type 'struct kinfo_proc'
sysdep.c:2548:7: warning: division by zero
sysdep.c:2554:7: error: invalid use of undefined type 'struct kinfo_proc'
sysdep.c:2554:25: error: dereferencing pointer to incomplete type
sysdep.c:2554:25: error: request for member 'ki_pid' in something not
a structure or union
sysdep.c:2554:7: error: invalid use of undefined type 'struct kinfo_proc'
sysdep.c:2554:25: error: dereferencing pointer to incomplete type
sysdep.c:2554:25: error: request for member 'ki_pid' in something not
a structure or union
sysdep.c:2554:25: warning: comparison between pointer and integer
sysdep.c:2554:7: error: invalid use of undefined type 'struct kinfo_proc'
sysdep.c:2554:25: error: dereferencing pointer to incomplete type
sysdep.c:2554:25: error: request for member 'ki_pid' in something not
a structure or union
sysdep.c:2554:25: warning: comparison between pointer and integer
sysdep.c:2554:7: error: invalid use of undefined type 'struct kinfo_proc'
sysdep.c:2554:25: error: dereferencing pointer to incomplete type
sysdep.c:2554:25: error: request for member 'ki_pid' in something not
a structure or union
sysdep.c:2554:7: error: incompatible type for argument 1 of 'make_float'
lisp.h:2744:20: note: expected 'double' but argument is of type 'int *'
sysdep.c:2554:7: error: invalid use of undefined type 'struct kinfo_proc'
sysdep.c:2554:25: error: dereferencing pointer to incomplete type
sysdep.c:2554:25: error: request for member 'ki_pid' in something not
a structure or union
sysdep.c:2554:25: warning: pointer/integer type mismatch in
conditional expression
sysdep.c:2554:7: warning: passing argument 1 of 'Fcons' makes integer
from pointer without a cast
lisp.h:2687:1: note: expected 'Lisp_Object' but argument is of type 'int *'
gmake[2]: *** [sysdep.o] Error 1
gmake[2]: Leaving directory `/home/herbert/source/emacs/trunk/src'
gmake[1]: *** [src] Error 2
gmake[1]: Leaving directory `/home/herbert/source/emacs/trunk'
gmake: *** [bootstrap] Error 2

% uname -rms
NetBSD 6.99.8 amd64
% bzr revno
108764
% ./autogen.sh
% CPPFLAGS='-I/usr/pkg/include' LDFLAGS='-L/usr/pkg/lib' ./configure
--prefix=/usr/local/emacs --with-x-toolkit=gtk3
% gmake bootstrap

Notes:

1. I have to modify the configure script so that it checks for -lpng15
instead of -lpng
2. I have to revert 108471 (see my notes to bug #11398)

The attached patch fixes the build.

-- 
Herbert

[-- Attachment #2: patch_src_sysdep_c.txt --]
[-- Type: text/plain, Size: 831 bytes --]

--- src/sysdep.c.bak	2012-06-27 11:32:44.000000000 +0200
+++ src/sysdep.c	2012-06-27 11:34:21.000000000 +0200
@@ -45,7 +45,7 @@
 #include <math.h>
 #endif
 
-#ifdef DARWIN_OS
+#if defined(DARWIN_OS) || defined(__NetBSD__)
 #include <sys/sysctl.h>
 #endif
 
@@ -2522,7 +2522,7 @@
 Lisp_Object
 list_system_processes (void)
 {
-#ifdef DARWIN_OS
+#if defined(DARWIN_OS) || defined(__NetBSD__)
   int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL};
 #else
   int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PROC};
@@ -2548,7 +2548,7 @@
   len /= sizeof (struct kinfo_proc);
   for (i = 0; i < len; i++)
     {
-#ifdef DARWIN_OS
+#if defined(DARWIN_OS) || defined(__NetBSD__)
       proclist = Fcons (make_fixnum_or_float (procs[i].kp_proc.p_pid), proclist);
 #else
       proclist = Fcons (make_fixnum_or_float (procs[i].ki_pid), proclist);

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

* bug#11797: trunk does not build on NetBSD
  2012-06-27  9:44 bug#11797: trunk does not build on NetBSD Herbert J. Skuhra
@ 2012-06-28  0:05 ` Glenn Morris
  2012-06-28 10:18   ` Herbert J. Skuhra
  2012-07-07  2:35 ` Paul Eggert
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Glenn Morris @ 2012-06-28  0:05 UTC (permalink / raw)
  To: Herbert J. Skuhra; +Cc: 11797

"Herbert J. Skuhra" wrote:

> 1. I have to modify the configure script so that it checks for -lpng15
> instead of -lpng

Not the main part of your report of course, but really?
There's no "libpng" on NetBSD, only "libpng15"?
Isn't that a PITA for compiling a bunch of software, not just Emacs?
You aren't just missing the equivalent of a "libpng-devel" package that
provides the unversioned .so?





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

* bug#11797: trunk does not build on NetBSD
  2012-06-28  0:05 ` Glenn Morris
@ 2012-06-28 10:18   ` Herbert J. Skuhra
  2012-06-28 17:29     ` Glenn Morris
  0 siblings, 1 reply; 7+ messages in thread
From: Herbert J. Skuhra @ 2012-06-28 10:18 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 11797

On Thu, Jun 28, 2012 at 2:05 AM, Glenn Morris <rgm@gnu.org> wrote:
> "Herbert J. Skuhra" wrote:
>
>> 1. I have to modify the configure script so that it checks for -lpng15
>> instead of -lpng
>
> Not the main part of your report of course, but really?
> There's no "libpng" on NetBSD, only "libpng15"?

I've built png from pkgsrc and I have only:

/usr/pkg/lib/libpng15.la
/usr/pkg/lib/libpng15.a
/usr/pkg/lib/libpng15.so
/usr/pkg/lib/libpng15.so.15
/usr/pkg/lib/libpng15.so.15.11.0

> Isn't that a PITA for compiling a bunch of software, not just Emacs?

Yes, when the software does not use pkg-config or libpng-confg to
detect libpng.

> You aren't just missing the equivalent of a "libpng-devel" package that
> provides the unversioned .so?

pkgsrc has a workaround for software that does not use pkg-config or
libpng-config.

Excerpt from /usr/pkgsrc/graphics/png/buildlink3.mk:

# Some software directly tries to link against -lpng instead of
# using pkg-config or libpng-config to find the proper arguments
# instead of installing symlinks. Work around this with buildlink
# magic: packages outside pkgsrc will need to be converted to
# one of the proper methods or fail.
BUILDLINK_TRANSFORM+=   l:png:png15





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

* bug#11797: trunk does not build on NetBSD
  2012-06-28 10:18   ` Herbert J. Skuhra
@ 2012-06-28 17:29     ` Glenn Morris
  0 siblings, 0 replies; 7+ messages in thread
From: Glenn Morris @ 2012-06-28 17:29 UTC (permalink / raw)
  To: Herbert J. Skuhra; +Cc: 11797

"Herbert J. Skuhra" wrote:

> Yes, when the software does not use pkg-config or libpng-confg to
> detect libpng.

So in other words a configure script has to use pkg-config for
absolutely every library? Yay...





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

* bug#11797: trunk does not build on NetBSD
  2012-06-27  9:44 bug#11797: trunk does not build on NetBSD Herbert J. Skuhra
  2012-06-28  0:05 ` Glenn Morris
@ 2012-07-07  2:35 ` Paul Eggert
  2012-07-07  9:14 ` Han Boetes
  2012-07-13  1:27 ` bug#11797: fixed in trunk Paul Eggert
  3 siblings, 0 replies; 7+ messages in thread
From: Paul Eggert @ 2012-07-07  2:35 UTC (permalink / raw)
  To: 11797; +Cc: Herbert J. Skuhra

I have installed a fix for this in the trunk, as bzr 108929.
This is related to a similar patch I recently installed,
for OpenBSD, in trunk bzr 108891.  Should these be backported
to Emacs 24?





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

* bug#11797: trunk does not build on NetBSD
  2012-06-27  9:44 bug#11797: trunk does not build on NetBSD Herbert J. Skuhra
  2012-06-28  0:05 ` Glenn Morris
  2012-07-07  2:35 ` Paul Eggert
@ 2012-07-07  9:14 ` Han Boetes
  2012-07-13  1:27 ` bug#11797: fixed in trunk Paul Eggert
  3 siblings, 0 replies; 7+ messages in thread
From: Han Boetes @ 2012-07-07  9:14 UTC (permalink / raw)
  To: 11797; +Cc: Paul Eggert

I noticed a similar problem on OpenBSD not building and offered Paul
Eggert an account on my machine so he could fix the issue. This is what
he changed. Since he used __OpenBSD__ I don't think it will work on
NetBSD but it's a sure step in the right direction.

Please consider reading:

http://www.openbsd.org/faq/ports/guide.html#PortsGeneric





~/nfs/Emacs/emacs% bzr diff -r-40.. src/sysdep.c
=== modified file 'src/sysdep.c'
--- src/sysdep.c        2012-07-05 18:35:48 +0000
+++ src/sysdep.c        2012-07-06 08:28:29 +0000
@@ -38,17 +38,17 @@
 #include "sysselect.h"
 #include "blockinput.h"

+#ifdef BSD_SYSTEM
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#endif
+
 #ifdef __FreeBSD__
-#include <sys/sysctl.h>
 #include <sys/user.h>
 #include <sys/resource.h>
 #include <math.h>
 #endif

-#ifdef DARWIN_OS
-#include <sys/sysctl.h>
-#endif
-
 #ifdef WINDOWSNT
 #define read sys_read
 #define write sys_write
@@ -2520,7 +2520,7 @@
 Lisp_Object
 list_system_processes (void)
 {
-#ifdef DARWIN_OS
+#if defined DARWIN_OS || defined __OpenBSD__
   int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL};
 #else
   int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PROC};
@@ -2548,6 +2548,8 @@
     {
 #ifdef DARWIN_OS
       proclist = Fcons (make_fixnum_or_float (procs[i].kp_proc.p_pid),
proclist);
+#elif defined __OpenBSD__
+      proclist = Fcons (make_fixnum_or_float (procs[i].p_pid), proclist);
 #else
       proclist = Fcons (make_fixnum_or_float (procs[i].ki_pid), proclist);
 #endif






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

* bug#11797: fixed in trunk
  2012-06-27  9:44 bug#11797: trunk does not build on NetBSD Herbert J. Skuhra
                   ` (2 preceding siblings ...)
  2012-07-07  9:14 ` Han Boetes
@ 2012-07-13  1:27 ` Paul Eggert
  3 siblings, 0 replies; 7+ messages in thread
From: Paul Eggert @ 2012-07-13  1:27 UTC (permalink / raw)
  To: 11797-done

Since this is fixed in the trunk I am marking this
as 'done'.  If there's a desire to backport this to
Emacs 24 that can be opened as a separate bug report.





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

end of thread, other threads:[~2012-07-13  1:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-27  9:44 bug#11797: trunk does not build on NetBSD Herbert J. Skuhra
2012-06-28  0:05 ` Glenn Morris
2012-06-28 10:18   ` Herbert J. Skuhra
2012-06-28 17:29     ` Glenn Morris
2012-07-07  2:35 ` Paul Eggert
2012-07-07  9:14 ` Han Boetes
2012-07-13  1:27 ` bug#11797: fixed in trunk Paul Eggert

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).