discuss@mandoc.bsd.lv
 help / color / mirror / Atom feed
From: Ingo Schwarze <schwarze@usta.de>
To: Paul Onyschuk <ptmelville@gmail.com>
Cc: discuss@mdocml.bsd.lv
Subject: Re: Portability of fts() functions
Date: Sun, 10 Aug 2014 04:46:22 +0200	[thread overview]
Message-ID: <20140810024622.GD32716@iris.usta.de> (raw)
In-Reply-To: <20140810012653.1335f4c61425e53a657ac8dc@gmail.com>

Hi Paul,

Paul Onyschuk wrote on Sun, Aug 10, 2014 at 01:26:53AM +0200:
> On Sat, 9 Aug 2014 23:59:19 +0200 Ingo Schwarze wrote:

>> Oh you mean if mandoc is compiled on a 32bit glibc platform with 32bit
>> off_t but more than 2 billion files in one file system or files larger
>> than 2 GB inside a manual tree, mandoc will compile all right,
>> but i may crash at runtime due to the broken fts(3) implementation
>> contained in glibc?  Did i get that right?

> I think you got it right.
 
>> I'm not sure what i could do about that - both in the long term
>> and as a quick fix for this release.  What would you suggest?

> There isn't much you to do about for time now I guess.  Explanation in
> readme and  that "BUILD_TARGETS += db-build" won't compile on systems
> without fts(3) would do.

I've added a comment to the relevant place in the Makefile.

>> Indeed, that sounds bad.
>> 
>> I guess i won't change that for this release, though.  I worry that
>> if we are very unlucky, whatever guard i put in there might break
>> on another system that was already tested and may not be tested
>> again.
>> 
>> For the next release, i have to keep this in mind.
>> I might do some more cleanup related to configure, anyway.

> What about something like that before 'set -e':
> 
> echo "/* RUNNING ./CONFIGURE - SHOULD BE USED ONLY VIA MAKE, READ INSTALL */"
> 
> Maybe that would be enough? 

Sounds reasonable for now and certainly not dangerous; done.

Thanks,
  Ingo


Index: Makefile
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/Makefile,v
retrieving revision 1.434
diff -u -p -r1.434 Makefile
--- Makefile	8 Aug 2014 23:47:21 -0000	1.434
+++ Makefile	10 Aug 2014 02:42:13 -0000
@@ -52,9 +52,10 @@ INSTALL_MAN	 = $(INSTALL_DATA)
 
 # --- user settings related to database support ------------------------
 
-# If you want to build without database support, for example to avoid
-# the dependency on SQLite3, comment the following line.
-# However, you won't get apropos(1) and makewhatis(8) in that case.
+# Building apropos(1) and makewhatis(8) requires both SQLite3 and fts(3).
+# To avoid those dependencies, comment the following line.
+# Be careful: the fts(3) implementation in glibc is broken on 32bit
+# machines, see: https://sourceware.org/bugzilla/show_bug.cgi?id=15838
 #
 BUILD_TARGETS	+= db-build
 
Index: configure
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/configure,v
retrieving revision 1.7
diff -u -p -r1.7 configure
--- configure	8 Aug 2014 23:47:21 -0000	1.7
+++ configure	10 Aug 2014 02:42:13 -0000
@@ -14,6 +14,8 @@
 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
+echo "/* RUNNING ./CONFIGURE - SHOULD BE USED ONLY VIA MAKE, READ INSTALL */"
+
 set -e
 exec > config.h 2> config.log
 
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

  reply	other threads:[~2014-08-10  2:47 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-09 10:38 Paul Onyschuk
2014-08-09 15:49 ` Ingo Schwarze
2014-08-09 17:09   ` Paul Onyschuk
2014-08-09 21:59     ` Ingo Schwarze
2014-08-09 23:26       ` Paul Onyschuk
2014-08-10  2:46         ` Ingo Schwarze [this message]
2014-08-10  1:23     ` man(1) replacement Ingo Schwarze
2014-08-10 10:53   ` Portability of fts() functions Paul Onyschuk
2014-08-11  3:28     ` Ingo Schwarze
  -- strict thread matches above, loose matches on Subject: below --
2014-08-09  9:54 Paul Onyschuk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140810024622.GD32716@iris.usta.de \
    --to=schwarze@usta.de \
    --cc=discuss@mdocml.bsd.lv \
    --cc=ptmelville@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 NNTP newsgroup(s).