SourceForge.net | 13 Dec 2007 00:50
Picon
Favicon

[ xdvi-Feature Requests-1819017 ] uint32_t conflicts with XeTeX configure

Feature Requests item #1819017, was opened at 2007-10-24 06:59
Message generated for change (Comment added) made by stefanulrich
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=377583&aid=1819017&group_id=23164

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Feasibility: 1 (easy)
Group: Usability Improvement 4
>Status: Closed
Priority: 5
Private: No
Submitted By: Nobuyuki Tsuchimura (tutimura)
Assigned to: Stefan Ulrich (stefanulrich)
Summary: uint32_t conflicts with XeTeX configure

Initial Comment:
'xdvik' uses 'uint32_t', and XeTeX also uses 'uint32_t'.
Their definitions are slightly different from each other.
This is almost OK, unless they are merged into one configure
like TeX Live.

In my environment (RedHat base Linux),
this cause an error while configuring TeX Live 2007.
XeTeX configure alone recognizes we have the system defined 'uint32_t',
and 'xdvik' configure along recognizes we don't.
So the merged configure gets confused with the cached result.
To solve this problem in simple way, we can let 'uint32_t' be the same. We have two ways,
one is to fix xdvik, another is to fix XeTeX.

In my opinion, XeTeX's method which checks
'stdint.h' and 'inttypes.h' is more modern.
So I'd like to suggest to fix xdvik.
I'll attach a simple patch.

I'm not sure but there may be other fixing ways,
for example, using 'xuinit32_t' instead, or something.

----------------------------------------------------------------------

>Comment By: Stefan Ulrich (stefanulrich)
Date: 2007-12-13 00:50

Message:
Logged In: YES 
user_id=177175
Originator: NO

Fixed in CVS STABLE.

----------------------------------------------------------------------

Comment By: Stefan Ulrich (stefanulrich)
Date: 2007-12-11 22:37

Message:
Logged In: YES 
user_id=177175
Originator: NO

Yes, there had already been a ticket for this:

http://sourceforge.net/tracker/index.php?func=detail&aid=1834752&group_id=23164&atid=377580

and I tried to solve this in 22.84.14-CVS1 by adding a custom check to
configure.in:

http://xdvi.cvs.sourceforge.net/xdvi/xdvik/texk/xdvik/configure.in?r1=1.48.2.26&r2=1.48.2.27&sortby=date
http://xdvi.cvs.sourceforge.net/xdvi/xdvik/texk/xdvik/xdvi.h?r1=1.140.2.52&r2=1.140.2.53&sortby=date

but your fix is better (since we should aim to keep acgeneral.m4 identical
between TeX-Live and xdvik), so I'll probably revert the above one and use
acgeneral.m4 instead.

----------------------------------------------------------------------

Comment By: Nobuyuki Tsuchimura (tutimura)
Date: 2007-12-11 19:28

Message:
Logged In: YES 
user_id=599487
Originator: YES

Thank you for adopting my patch, but I'm sorry the patch was not
perfect.
A Japanese user reported that he had a trouble in compiling.
He has "stdint.h" in his system (like Debian or Fedora Core 7),
and uint32_t is defined, but ./configure does not look up
the header file.

So, my additional request is to adopt new "acgeneral.m4"
from TeX Live.
I compared the code in xdvik and in TeX Live SVN.
http://tug.org/svn/texlive/trunk/Build/source/texk/etc/autoconf/
http://tug.org/svn/texlive/trunk/Build/source/texk/etc/autoconf/acgeneral.m4?view=log

I think following diff is necessary.

--- xdvik-22.84.13/texk/etc/autoconf/acgeneral.m4       2003-10-18
09:13:57.000000000 +0900
+++ ./acgeneral.m4      2007-12-11 13:14:43.000000000 +0900
<...snip>
 <at>  <at>  -2037,6 +2050,9  <at>  <at> 
 #if STDC_HEADERS
 #include <stdlib.h>
 #include <stddef.h>
+#endif
+#if HAVE_STDINT_H
+#include <stdint.h>
 #endif], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
 AC_MSG_RESULT($ac_cv_type_$1)
 if test $ac_cv_type_$1 = no; then
<snip...>

----------------------------------------------------------------------

Comment By: Stefan Ulrich (stefanulrich)
Date: 2007-10-24 20:53

Message:
Logged In: YES 
user_id=177175
Originator: NO

Yes, checking for stdint.h and inttypes.h looks like the way to go. Thanks
very much for the patch, I applied it to CVS STABLE (22.84.13-CVS9) and
HEAD.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=377583&aid=1819017&group_id=23164

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace

Gmane