Discussion:
[ast-developers] Solaris 11 |eaccess()|-vs."map-libc" (without -lgen) build failure fix...
Roland Mainz
2013-09-17 01:16:30 UTC
Permalink
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;
Roland Mainz
2013-09-25 00:07:59 UTC
Permalink
Post by Roland Mainz
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 ...).
The patch contains a small extra line where a static variable is
initalised to shut-up Solaris "lint" which keeps complaining about
this issue...
Erm... ping!

Glenn: You forgot to apply the patch (which causes the Solaris build
to fail in libdll) ... ;-((

----

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;
Glenn Fowler
2013-09-25 05:03:52 UTC
Permalink
sorry, it will be in the next alpha
--089e013a05accb843804e72a0b09
Content-Type: text/plain; charset=ISO-8859-1
Post by Roland Mainz
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 ...).
The patch contains a small extra line where a static variable is
initalised to shut-up Solaris "lint" which keeps complaining about
this issue...
Erm... ping!
Glenn: You forgot to apply the patch (which causes the Solaris build
to fail in libdll) ... ;-((
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) roland.mainz at nrubsig.org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)
--089e013a05accb843804e72a0b09
Content-Type: text/plain; charset=US-ASCII;
name="astksh20130913_solaris_eaccess001.diff.txt"
Content-Disposition: attachment;
filename="astksh20130913_solaris_eaccess001.diff.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hloff5zb0
ZGlmZiAtciAtdSBvcmlnaW5hbC9zcmMvbGliL2xpYmFzdC9jb21wL2VhY2Nlc3MuYyBidWlsZF90
ZXN0L3NyYy9saWIvbGliYXN0L2NvbXAvZWFjY2Vzcy5jCi0tLSBzcmMvbGliL2xpYmFzdC9jb21w
L2VhY2Nlc3MuYwkyMDEzLTA4LTI3IDE4OjE3OjU1LjAwMDAwMDAwMCArMDIwMAorKysgc3JjL2xp
Yi9saWJhc3QvY29tcC9lYWNjZXNzLmMJMjAxMy0wOS0xNyAwMzowMTowNi4zNDY4ODY4NDggKzAy
MDAKQEAgLTM4LDYgKzM4LDkgQEAKIAogI3VuZGVmCWVhY2Nlc3MKIAorI3VuZGVmCV9kZWZfbWFw
X2FzdAorI2luY2x1ZGUgPGFzdF9tYXAuaD4KKwogI2lmIGRlZmluZWQoX19FWFBPUlRfXykKICNk
ZWZpbmUgZXh0ZXJuCV9fRVhQT1JUX18KICNlbmRpZgpAQCAtNTUsNyArNTgsNyBAQAogCXJlZ2lz
dGVyIGludAltb2RlOwogCXN0cnVjdCBzdGF0CXN0OwogCi0Jc3RhdGljIGludAlpbml0OworCXN0
YXRpYyBpbnQJaW5pdCA9IDA7CiAJc3RhdGljIHVpZF90CXJ1aWQ7CiAJc3RhdGljIHVpZF90CWV1
aWQ7CiAJc3RhdGljIGdpZF90CXJnaWQ7Cg==
--089e013a05accb843804e72a0b09--
Loading...