Roland Mainz
2013-09-17 01:16:30 UTC
Hi!
----
Attached (as "astksh20130913_solaris_eaccess001.diff.txt") is a fix
which solves the long-standing build failure with map-libc on Solaris
which happens because |eaccess()| is in libgen (some sort of generic
SystemV utility library) and not in libc ...
... the issue turned to be out simply a symbol name issue... libast
provided |eaccess()| as |eaccess()| and not as |_ast_eacces()| as
expected under "map-libc" rules (the usual workaround was to link with
-lgen ...).
* Notes:
The patch contains a small extra line where a static variable is
initalised to shut-up Solaris "lint" which keeps complaining about
this issue...
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) roland.mainz at nrubsig.org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)
-------------- next part --------------
diff -r -u original/src/lib/libast/comp/eaccess.c build_test/src/lib/libast/comp/eaccess.c
--- src/lib/libast/comp/eaccess.c 2013-08-27 18:17:55.000000000 +0200
+++ src/lib/libast/comp/eaccess.c 2013-09-17 03:01:06.346886848 +0200
@@ -38,6 +38,9 @@
#undef eaccess
+#undef _def_map_ast
+#include <ast_map.h>
+
#if defined(__EXPORT__)
#define extern __EXPORT__
#endif
@@ -55,7 +58,7 @@
register int mode;
struct stat st;
- static int init;
+ static int init = 0;
static uid_t ruid;
static uid_t euid;
static gid_t rgid;
----
Attached (as "astksh20130913_solaris_eaccess001.diff.txt") is a fix
which solves the long-standing build failure with map-libc on Solaris
which happens because |eaccess()| is in libgen (some sort of generic
SystemV utility library) and not in libc ...
... the issue turned to be out simply a symbol name issue... libast
provided |eaccess()| as |eaccess()| and not as |_ast_eacces()| as
expected under "map-libc" rules (the usual workaround was to link with
-lgen ...).
* Notes:
The patch contains a small extra line where a static variable is
initalised to shut-up Solaris "lint" which keeps complaining about
this issue...
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) roland.mainz at nrubsig.org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)
-------------- next part --------------
diff -r -u original/src/lib/libast/comp/eaccess.c build_test/src/lib/libast/comp/eaccess.c
--- src/lib/libast/comp/eaccess.c 2013-08-27 18:17:55.000000000 +0200
+++ src/lib/libast/comp/eaccess.c 2013-09-17 03:01:06.346886848 +0200
@@ -38,6 +38,9 @@
#undef eaccess
+#undef _def_map_ast
+#include <ast_map.h>
+
#if defined(__EXPORT__)
#define extern __EXPORT__
#endif
@@ -55,7 +58,7 @@
register int mode;
struct stat st;
- static int init;
+ static int init = 0;
static uid_t ruid;
static uid_t euid;
static gid_t rgid;