Cast the return value of getppid() to int from pid_t in debugger.c,
since it is being passed to sprintf(%d), which wants an int
argument. On Solaris, pid_t is a long for 32-bit programs.
---
debugger.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/debugger.c b/debugger.c
Add a check to configure to see whether -Wl,-rpath can be used without
--enable-new-dtags. Solaris needs the former and doesn't know about the
latter.
---
configure |4
1 file changed, 4 insertions(+)
diff --git a/configure b/configure
index 28d4110..5c5139f 100755
--- a/configure
+++
Linux, FreeBSD, and Solaris all expect to find the prototype for
index() in strings.h. On some operating systems, including
string.h is sufficient to get the prototype, but that's not the case
on Solaris. This patch just modifies notmuch-config.c to include
strings.h to get the prototype.
---
Add a check to configure to see whether -lnsl is needed for programs
that are using gethostbyname(). This change also adds the file
compat/check_ghbn.c, which configure uses to perform its check.
---
compat/check_ghbn.c |8
configure | 17 -
2 files
The timegm(3) function is a non-standard extension to libc which is
available in GNU libc and on some BSDs. Although SunOS had this
function in its libc, Solaris (unfortunately) removed it. This patch
implements a very simple version of timegm() which is good enough for
parse-time-string.c.
Add checks to configure to see whether _POSIX_PTHREAD_SEMANTICS needs
to be defined to get the right number of arguments in the prototypes for
getpwuid_r(). Solaris' default implementation conforms to POSIX.1c
Draft 6, rather than the final POSIX.1c spec. The standards-compliant
version can be
The output of nm on Solaris is substantially different from that on
Linux, and the current version of gen-version-script is tied to the
Linux nm output. This patch separates the parts of nm processing
which are dependent on the output format into a couple shell functions,
and makes another shell
Add checks to configure to see whether _POSIX_PTHREAD_SEMANTICS needs
to be defined to get the right number of arguments in the prototypes for
asctime_r(). Solaris' default implementation conforms to POSIX.1c
Draft 6, rather than the final POSIX.1c spec. The standards-compliant
version can be
Solaris does not ship a version of the strsep() function. This change
adds a check to configure to see whether notmuch needs to provide its
own implementation, and if so, it uses the new version in
compat/strsep.c (which was copied from Mutt, and apparently before
that from glibc).
---
Solaris ships a program called install in /usr/sbin, which performs a
task that's fairly similar to the GNU and BSD install programs but
which uses very different command line arguments. In particular, if it
is invoked without -c, -f, or -n, it will search the target
directory for a file with the
Hi all,
This patch series fixes several issues which are needed to allow notmuch
to build on Solaris 11. I've been testing it for a month or so by
using Karel Zak's fork of mutt along with a copy of notmuch-0.13.2 that
I got to compile. After a friend asked for a copy of my setup, I
decided to
Hi Jani,
I'd prefer to use timegm() where available, and the suggested
alternative [1] elsewhere.
[1] http://www.kernel.org/doc/man-pages/online/pages/man3/timegm.3.html
I considered this alternative, but decided against it because it's
completely MT-unsafe. I don't know whether libnotmuch
That is a valid point. Yet it doesn't change the fact that I'd prefer
to use timegm() where available. Internally, glibc uses the same code
to implement both timegm() and mktime(), and I'd hate it if the
results were subtly different depending on whether the time zone was
specified in the
On Sun, 04 Nov 2012, Blake Jones bla...@foo.net wrote:
Linux, FreeBSD, and Solaris all expect to find the prototype for
index() in strings.h. On some operating systems, including
string.h is sufficient to get the prototype, but that's not the case
on Solaris. This patch just modifies
On Mon, 05 Nov 2012, Blake Jones bla...@foo.net wrote:
+INSTALL=install
+printf Checking for working \install\ program...
+mkdir _tmp_
This doesn't feel like a hot idea.
Out of curiosity, why not?
Note that I'm only referring to creating temp directories like this to
check
Yet another idea for an alternative. Compile by entering 'sh xtimegm.c'
and then run ./xtimegm
Simple cases seems to work. Dst change may (or then may not) give one
hour difference to the expected. The test coverage could be easily
expanded to that ;)
Hmm, I also found this:
The other approaches rely on letting libc do all the hard work of
time zone manipulation, and then reading the tea leaves to find a way
to undo it.
Did you look at the gnu libc version -- I bet it is pretty hairy...
I didn't look at either the GNU or the Solaris libc version. But the
file
Just now I don't have more time to comment and review more, but in the
first 2/3 patches when I tried to compile I got problem NULL not
defined.
Oh! Yes, I should include stdio.h to pull in the definition of NULL.
I'll fix that.
Another thing: you have this
+# Whether the asctime_r
Thanks to Jani Nikula and Tomi Ollila for their comments.
Changes since last version:
- Add feature test for timegm(); move portable implementation of
timegm() into compat/, change libparse-time-string to pull in .o's
from compat/.
- Include stdio.h in compat/check_*.c, to get definition
Add checks to configure to see whether _POSIX_PTHREAD_SEMANTICS needs
to be defined to get the right number of arguments in the prototypes for
getpwuid_r(). Solaris' default implementation conforms to POSIX.1c
Draft 6, rather than the final POSIX.1c spec. The standards-compliant
version can be
Add checks to configure to see whether _POSIX_PTHREAD_SEMANTICS needs
to be defined to get the right number of arguments in the prototypes for
asctime_r(). Solaris' default implementation conforms to POSIX.1c
Draft 6, rather than the final POSIX.1c spec. The standards-compliant
version can be
Add a check to configure to see whether -Wl,-rpath can be used without
--enable-new-dtags. Solaris needs the former and doesn't know about the
latter.
---
configure |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index 9707f11..c9da667 100755
---
Solaris does not ship a version of the strsep() function. This change
adds a check to configure to see whether notmuch needs to provide its
own implementation, and if so, it uses the new version in
compat/strsep.c (which was copied from Mutt, and apparently before
that from glibc).
---
Solaris ships a program called install in /usr/sbin, which performs a
task that's fairly similar to the GNU and BSD install programs but
which uses very different command line arguments. In particular, if it
is invoked without -c, -f, or -n, it will search the target
directory for a file with the
notmuch-config.c has the only use of the function named index() in the
notmuch source. Several other places use the equivalent function
strchr(); this patch just fixes notmuch-config.c to use strchr()
instead. (Solaris needs to include strings.h to get the prototype for
index(), and
The output of nm on Solaris is substantially different from that on
Linux, and the current version of gen-version-script is tied to the
Linux nm output. This patch separates the parts of nm processing
which are dependent on the output format into a couple shell functions,
and makes another shell
Cast the return value of getppid() to int from pid_t in debugger.c,
since it is being passed to sprintf(%d), which wants an int
argument. On Solaris, pid_t is a long for 32-bit programs.
---
debugger.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/debugger.c
The timegm(3) function is a non-standard extension to libc which is
available in GNU libc and on some BSDs. Although SunOS had this
function in its libc, Solaris (unfortunately) removed it. This patch
implements a very simple version of timegm() which is good enough for
parse-time-string.c.
One
diff --git a/vim/Makefile b/vim/Makefile
index f17bebf..7ceba7a 100644
--- a/vim/Makefile
+++ b/vim/Makefile
@@ -5,8 +5,6 @@ files = plugin/notmuch.vim \
prefix = $(HOME)/.vim
destdir = $(prefix)/plugin
-INSTALL = install -D -m644
-
all: help
help:
@@ -17,7
@@ -11,10 +12,44 @@ fi
HEADER=$1
shift
+if [ `uname -s` == SunOS ] ; then
+#
+# Using Solaris nm, a defined symbol looks like this:
+#
The POSIX / Bourne -comformant equality comparison is '='.
Sigh, of course it is. Fixed.
e.g.
$ ./heirloom-sh/sh -c ' [ a == b ]
Would a respun version of these patches help toward testing?
$ grep vim test/*
zsh: exit 1 grep vim test/*
i.e. no vim tests...
Sure -- I was referring to any more general testing you might do.
Anyway, thanks for your comments. Barring any more comments I'll
probably send out an
Updated based on comments from Tomi Ollila last week:
- Cleaned up the $(INSTALL) changes in vim/Makefile.
- Fixed gen-version-script to be compliant with old sh implementation.
___
notmuch mailing list
notmuch@notmuchmail.org
Add checks to configure to see whether _POSIX_PTHREAD_SEMANTICS needs
to be defined to get the right number of arguments in the prototypes for
asctime_r(). Solaris' default implementation conforms to POSIX.1c
Draft 6, rather than the final POSIX.1c spec. The standards-compliant
version can be
Add checks to configure to see whether _POSIX_PTHREAD_SEMANTICS needs
to be defined to get the right number of arguments in the prototypes for
getpwuid_r(). Solaris' default implementation conforms to POSIX.1c
Draft 6, rather than the final POSIX.1c spec. The standards-compliant
version can be
Add a check to configure to see whether -Wl,-rpath can be used without
--enable-new-dtags. Solaris needs the former and doesn't know about the
latter.
---
configure |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index 9707f11..c9da667 100755
---
notmuch-config.c has the only use of the function named index() in the
notmuch source. Several other places use the equivalent function
strchr(); this patch just fixes notmuch-config.c to use strchr()
instead. (Solaris needs to include strings.h to get the prototype for
index(), and
Add a check to configure to see whether -lnsl is needed for programs
that are using gethostbyname(). This change also adds the file
compat/check_ghbn.c, which configure uses to perform its check.
---
compat/check_ghbn.c |9 +
configure | 17 -
2 files
The output of nm on Solaris is substantially different from that on
Linux, and the current version of gen-version-script is tied to the
Linux nm output. This patch separates the parts of nm processing
which are dependent on the output format into a couple shell functions,
and makes another shell
Solaris ships a program called install in /usr/sbin, which performs a
task that's fairly similar to the GNU and BSD install programs but
which uses very different command line arguments. In particular, if it
is invoked without -c, -f, or -n, it will search the target
directory for a file with the
The timegm(3) function is a non-standard extension to libc which is
available in GNU libc and on some BSDs. Although SunOS had this
function in its libc, Solaris (unfortunately) removed it. This patch
implements a very simple version of timegm() which is good enough for
parse-time-string.c.
One
Solaris does not ship a version of the strsep() function. This change
adds a check to configure to see whether notmuch needs to provide its
own implementation, and if so, it uses the new version in
compat/strsep.c (which was copied from Mutt, and apparently before
that from glibc).
---
$ gcc compat/have_strsep.c
compat/have_strsep.c: In function main:
compat/have_strsep.c:7:21: error: expected identifier or ( before const
compat/have_strsep.c:9:29: error: delim undeclared (first use in this
function)
compat/have_strsep.c:9:29: note: each undeclared identifier is reported
I just indexed my mail archive by notmuch and I'm starting to play
with mutt-kz. The biggest stopper right now is that mutt cores when
set already read mail to new (toggle-new in mutt). Once I try to leave
the virtual folder (be it to another folder or because of quitting
mutt) it crashes.
Right, so the problem really seems to be in throwing/catching
exception. Function _notmuch_message_remove_term is supposed to
catch the exception and ignore it. Which does not happen in my case.
Yep, that was exactly what I was seeing.
On a side note, I wonder, is catching exception faster
From: Blake Jones bla...@foo.net
The timegm(3) function is a non-standard extension to libc which is
available in GNU libc and on some BSDs. Although SunOS had this
function in its libc, Solaris (unfortunately) removed it. This patch
implements a very simple version of timegm() which
Cast the return value of getppid() to "int" from "pid_t" in debugger.c,
since it is being passed to sprintf("%d"), which wants an "int"
argument. On Solaris, "pid_t" is a "long" for 32-bit programs.
---
debugger.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/debugger.c
Add a check to "configure" to see whether -Wl,-rpath can be used without
--enable-new-dtags. Solaris needs the former and doesn't know about the
latter.
---
configure |4
1 file changed, 4 insertions(+)
diff --git a/configure b/configure
index 28d4110..5c5139f 100755
--- a/configure
Linux, FreeBSD, and Solaris all expect to find the prototype for
"index()" in . On some operating systems, including
is sufficient to get the prototype, but that's not the case
on Solaris. This patch just modifies notmuch-config.c to include
to get the prototype.
---
notmuch-config.c |1 +
Add a check to "configure" to see whether -lnsl is needed for programs
that are using gethostbyname(). This change also adds the file
"compat/check_ghbn.c", which configure uses to perform its check.
---
compat/check_ghbn.c |8
configure | 17 -
2 files
The timegm(3) function is a non-standard extension to libc which is
available in GNU libc and on some BSDs. Although SunOS had this
function in its libc, Solaris (unfortunately) removed it. This patch
implements a very simple version of timegm() which is good enough for
parse-time-string.c.
Add checks to "configure" to see whether _POSIX_PTHREAD_SEMANTICS needs
to be defined to get the right number of arguments in the prototypes for
getpwuid_r(). Solaris' default implementation conforms to POSIX.1c
Draft 6, rather than the final POSIX.1c spec. The standards-compliant
version can be
The output of "nm" on Solaris is substantially different from that on
Linux, and the current version of gen-version-script is tied to the
Linux "nm" output. This patch separates the parts of "nm" processing
which are dependent on the output format into a couple shell functions,
and makes another
Add checks to "configure" to see whether _POSIX_PTHREAD_SEMANTICS needs
to be defined to get the right number of arguments in the prototypes for
asctime_r(). Solaris' default implementation conforms to POSIX.1c
Draft 6, rather than the final POSIX.1c spec. The standards-compliant
version can be
Solaris does not ship a version of the strsep() function. This change
adds a check to "configure" to see whether notmuch needs to provide its
own implementation, and if so, it uses the new version in
"compat/strsep.c" (which was copied from Mutt, and apparently before
that from glibc).
---
Solaris ships a program called "install" in /usr/sbin, which performs a
task that's fairly similar to the GNU and BSD "install" programs but
which uses very different command line arguments. In particular, if it
is invoked without "-c", "-f", or "-n", it will search the target
directory for a
Hi all,
This patch series fixes several issues which are needed to allow notmuch
to build on Solaris 11. I've been "testing" it for a month or so by
using Karel Zak's fork of mutt along with a copy of notmuch-0.13.2 that
I got to compile. After a friend asked for a copy of my setup, I
decided
Hi Jani,
> I'd prefer to use timegm() where available, and the suggested
> alternative [1] elsewhere.
>
> [1] http://www.kernel.org/doc/man-pages/online/pages/man3/timegm.3.html
I considered this alternative, but decided against it because it's
completely MT-unsafe. I don't know whether
> That is a valid point. Yet it doesn't change the fact that I'd prefer
> to use timegm() where available. Internally, glibc uses the same code
> to implement both timegm() and mktime(), and I'd hate it if the
> results were subtly different depending on whether the time zone was
> specified in
>> On Sun, 04 Nov 2012, Blake Jones wrote:
>>> Linux, FreeBSD, and Solaris all expect to find the prototype for
>>> "index()" in . On some operating systems, including
>>> is sufficient to get the prototype, but that's not the case
>>> on
> > +INSTALL="install"
> > +printf "Checking for working \"install\" program... "
> > +mkdir _tmp_
>
> This doesn't feel like a hot idea.
Out of curiosity, why not? An "install" that behaves as expected is
one of the first things that an autoconf-generated "configure" looks
for. Now,
> On Mon, 05 Nov 2012, Blake Jones wrote:
> >> > +INSTALL="install"
> >> > +printf "Checking for working \"install\" program... "
> >> > +mkdir _tmp_
> >>
> >> This doesn't feel like a hot idea.
> >
> Yet another idea for an alternative. Compile by entering 'sh xtimegm.c'
> and then run ./xtimegm
>
> Simple cases seems to work. Dst change may (or then may not) give one
> hour difference to the expected. The test "coverage" could be easily
> expanded to that ;)
>
> Hmm, I also found this:
>
>> The other approaches rely on letting libc do all the hard work of
>> time zone manipulation, and then reading the tea leaves to find a way
>> to undo it.
>
> Did you look at the gnu libc version -- I bet it is pretty hairy...
I didn't look at either the GNU or the Solaris libc version. But
> Just now I don't have more time to comment and review more, but in the
> first 2/3 patches when I tried to compile I got problem NULL not
> defined.
Oh! Yes, I should include to pull in the definition of NULL.
I'll fix that.
> Another thing: you have this
>
> +# Whether the asctime_r
Thanks to Jani Nikula and Tomi Ollila for their comments.
Changes since last version:
- Add feature test for timegm(); move portable implementation of
timegm() into compat/, change libparse-time-string to pull in .o's
from compat/.
- Include in compat/check_*.c, to get definition of NULL.
Add checks to "configure" to see whether _POSIX_PTHREAD_SEMANTICS needs
to be defined to get the right number of arguments in the prototypes for
getpwuid_r(). Solaris' default implementation conforms to POSIX.1c
Draft 6, rather than the final POSIX.1c spec. The standards-compliant
version can be
Add checks to "configure" to see whether _POSIX_PTHREAD_SEMANTICS needs
to be defined to get the right number of arguments in the prototypes for
asctime_r(). Solaris' default implementation conforms to POSIX.1c
Draft 6, rather than the final POSIX.1c spec. The standards-compliant
version can be
Add a check to "configure" to see whether -lnsl is needed for programs
that are using gethostbyname(). This change also adds the file
"compat/check_ghbn.c", which configure uses to perform its check.
---
compat/check_ghbn.c |9 +
configure | 17 -
2 files
Add a check to "configure" to see whether -Wl,-rpath can be used without
--enable-new-dtags. Solaris needs the former and doesn't know about the
latter.
---
configure |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index 9707f11..c9da667 100755
Solaris does not ship a version of the strsep() function. This change
adds a check to "configure" to see whether notmuch needs to provide its
own implementation, and if so, it uses the new version in
"compat/strsep.c" (which was copied from Mutt, and apparently before
that from glibc).
---
Solaris ships a program called "install" in /usr/sbin, which performs a
task that's fairly similar to the GNU and BSD "install" programs but
which uses very different command line arguments. In particular, if it
is invoked without "-c", "-f", or "-n", it will search the target
directory for a
notmuch-config.c has the only use of the function named "index()" in the
notmuch source. Several other places use the equivalent function
"strchr()"; this patch just fixes notmuch-config.c to use strchr()
instead. (Solaris needs to include to get the prototype for
index(), and notmuch-config.c
The output of "nm" on Solaris is substantially different from that on
Linux, and the current version of gen-version-script is tied to the
Linux "nm" output. This patch separates the parts of "nm" processing
which are dependent on the output format into a couple shell functions,
and makes another
Cast the return value of getppid() to "int" from "pid_t" in debugger.c,
since it is being passed to sprintf("%d"), which wants an "int"
argument. On Solaris, "pid_t" is a "long" for 32-bit programs.
---
debugger.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git
The timegm(3) function is a non-standard extension to libc which is
available in GNU libc and on some BSDs. Although SunOS had this
function in its libc, Solaris (unfortunately) removed it. This patch
implements a very simple version of timegm() which is good enough for
parse-time-string.c.
One
> > diff --git a/vim/Makefile b/vim/Makefile
> > index f17bebf..7ceba7a 100644
> > --- a/vim/Makefile
> > +++ b/vim/Makefile
> > @@ -5,8 +5,6 @@ files = plugin/notmuch.vim \
> > prefix = $(HOME)/.vim
> > destdir = $(prefix)/plugin
> >
> > -INSTALL = install -D -m644
> > -
> > all: help
> >
>> @@ -11,10 +12,44 @@ fi
>> HEADER=$1
>> shift
>>
>> +if [ `uname -s` == SunOS ] ; then
>> +#
>> +# Using Solaris "nm", a defined symbol looks like this:
>> +#
>
> The POSIX / Bourne -comformant equality comparison is '='.
Sigh, of course it is. Fixed.
> e.g.
>
> $
>> Would a respun version of these patches help toward testing?
>
> $ grep vim test/*
> zsh: exit 1 grep vim test/*
>
> i.e. no vim tests...
Sure -- I was referring to any more general testing you might do.
Anyway, thanks for your comments. Barring any more comments I'll
probably send out
Updated based on comments from Tomi Ollila last week:
- Cleaned up the $(INSTALL) changes in vim/Makefile.
- Fixed gen-version-script to be compliant with old "sh" implementation.
Add checks to "configure" to see whether _POSIX_PTHREAD_SEMANTICS needs
to be defined to get the right number of arguments in the prototypes for
asctime_r(). Solaris' default implementation conforms to POSIX.1c
Draft 6, rather than the final POSIX.1c spec. The standards-compliant
version can be
Add checks to "configure" to see whether _POSIX_PTHREAD_SEMANTICS needs
to be defined to get the right number of arguments in the prototypes for
getpwuid_r(). Solaris' default implementation conforms to POSIX.1c
Draft 6, rather than the final POSIX.1c spec. The standards-compliant
version can be
Add a check to "configure" to see whether -Wl,-rpath can be used without
--enable-new-dtags. Solaris needs the former and doesn't know about the
latter.
---
configure |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index 9707f11..c9da667 100755
notmuch-config.c has the only use of the function named "index()" in the
notmuch source. Several other places use the equivalent function
"strchr()"; this patch just fixes notmuch-config.c to use strchr()
instead. (Solaris needs to include to get the prototype for
index(), and notmuch-config.c
The timegm(3) function is a non-standard extension to libc which is
available in GNU libc and on some BSDs. Although SunOS had this
function in its libc, Solaris (unfortunately) removed it. This patch
implements a very simple version of timegm() which is good enough for
parse-time-string.c.
One
Add a check to "configure" to see whether -lnsl is needed for programs
that are using gethostbyname(). This change also adds the file
"compat/check_ghbn.c", which configure uses to perform its check.
---
compat/check_ghbn.c |9 +
configure | 17 -
2 files
The output of "nm" on Solaris is substantially different from that on
Linux, and the current version of gen-version-script is tied to the
Linux "nm" output. This patch separates the parts of "nm" processing
which are dependent on the output format into a couple shell functions,
and makes another
Solaris ships a program called "install" in /usr/sbin, which performs a
task that's fairly similar to the GNU and BSD "install" programs but
which uses very different command line arguments. In particular, if it
is invoked without "-c", "-f", or "-n", it will search the target
directory for a
Cast the return value of getppid() to "int" from "pid_t" in debugger.c,
since it is being passed to sprintf("%d"), which wants an "int"
argument. On Solaris, "pid_t" is a "long" for 32-bit programs.
---
debugger.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git
Solaris does not ship a version of the strsep() function. This change
adds a check to "configure" to see whether notmuch needs to provide its
own implementation, and if so, it uses the new version in
"compat/strsep.c" (which was copied from Mutt, and apparently before
that from glibc).
---
> $ gcc compat/have_strsep.c
> compat/have_strsep.c: In function "main":
> compat/have_strsep.c:7:21: error: expected identifier or "(" before "const"
> compat/have_strsep.c:9:29: error: "delim" undeclared (first use in this
> function)
> compat/have_strsep.c:9:29: note: each undeclared
> I just indexed my mail archive by notmuch and I'm starting to play
> with mutt-kz. The biggest stopper right now is that mutt cores when
> set already read mail to new (toggle-new in mutt). Once I try to leave
> the virtual folder (be it to another folder or because of quitting
> mutt) it
> Right, so the problem really seems to be in throwing/catching
> exception. Function "_notmuch_message_remove_term" is supposed to
> catch the exception and ignore it. Which does not happen in my case.
Yep, that was exactly what I was seeing.
> On a side note, I wonder, is catching exception
> From: Blake Jones
>
> The timegm(3) function is a non-standard extension to libc which is
> available in GNU libc and on some BSDs. Although SunOS had this
> function in its libc, Solaris (unfortunately) removed it. This patch
> implements a very simple version of time
> The copyright header gives FSF "owner"ship to the file -- which would
> be fine by the project -- but does assigning copyright to the FSF work
> like this... ... I started to look around and found (among other
> pages) this:
>
>
94 matches
Mail list logo