https://bugs.exim.org/show_bug.cgi?id=3145

            Bug ID: 3145
           Summary: Please add two things for compiling under Siolaris
                    11.4
           Product: Exim
           Version: 4.98.2
          Hardware: x86
                OS: Solaris
            Status: NEW
          Severity: bug
          Priority: medium
         Component: Unfiled
          Assignee: unalloca...@exim.org
          Reporter: l...@timmann.de
                CC: exim-dev@lists.exim.org

Hi Exim-Team!

To compile successfully under Solaris 11.4 I needed to patch the
OS/os.h-SunOS5.

First problem as mentioned in https://bugs.exim.org/show_bug.cgi?id=3042#c12 :
/usr/bin/gcc -m64 -B/usr/ccs/bin/amd64 -shared dnsdb.c

dnsdb.c: In function ‘dnsdb_find’:
dnsdb.c:537:51: error: ‘u_int32_t’ undeclared (first use in this function); did
you mean ‘uint32_t’?
  537 |           if (!rr_bad_increment(rr, p, 5 * sizeof(u_int32_t)))
      |                                                   ^~~~~~~~~
      |                                                   uint32_t
dnsdb.c:537:51: note: each undeclared identifier is reported only once for each
function it appears in
gmake[2]: *** [Makefile:38: dnsdb.so] Error 1

And please add strings.h needed for bzero() in queryprogram.c:

/usr/bin/gcc -m64 -B/usr/ccs/bin/amd64 queryprogram.c
queryprogram.c: In function ‘queryprogram_router_entry’:
queryprogram.c:237:1: error: implicit declaration of function ‘bzero’
[-Wimplicit-function-declaration]
  237 | bzero(&addr_prop, sizeof(addr_prop));
      | ^~~~~
queryprogram.c:237:1: warning: incompatible implicit declaration of built-in
function ‘bzero’ [-Wbuiltin-declaration-mismatch]
gmake[2]: *** [Makefile:22: queryprogram.o] Error 1
gmake[2]: Leaving directory
'/opt/src/build/exim-4.98.2/build-SunOS5-5.11-i386/routers'


My patch for Solaris 11.4 is:

$ diff -rub exim-4.98.2/OS/os.h-SunOS5 exim-4.98.2_compileready/OS/os.h-SunOS5
--- exim-4.98.2/OS/os.h-SunOS5  2025-03-21 14:45:58.000000000 +0100
+++ exim-4.98.2_compileready/OS/os.h-SunOS5     2025-04-14 12:10:36.508370936
+0200
@@ -56,4 +56,12 @@
 # define MAX(a,b) (((a)>(b))?(a):(b))
 #endif

+/* u_int16_t -> uint16_t */
+# define u_int16_t uint16_t
+
+/* u_int32_t -> uint32_t */
+# define u_int32_t uint32_t
+
+#include "strings.h"
+
 /* End */

Would be nice to have it in the next version.
Thanks,
   Lars

-- 
You are receiving this mail because:
You are on the CC list for the bug.

-- 
## subscription configuration (requires account):
##   https://lists.exim.org/mailman3/postorius/lists/exim-dev.lists.exim.org/
## unsubscribe (doesn't require an account):
##   exim-dev-unsubscr...@lists.exim.org
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to