can't update libzip-0.9.3 to libzip-0.10

Jeremy Chadwick freebsd at jdc.parodius.com
Thu May 12 06:59:49 UTC 2011


On Thu, May 12, 2011 at 08:45:03AM +0200, joerg_surmann wrote:
> Hey Jeremy,
>
> Ok i'll put the files in a attachment
> on the end from this email.

[...snip...]
[attachment: zipconf.h]

Oh dear.  I'm not sure what to make of this:

> #ifndef _HAD_ZIPCONF_H
> #define _HAD_ZIPCONF_H
> 
> /*
>    zipconf.h -- platform specific include file
> 
>    This file was generated automatically by ./make_zipconf.sh
>    based on ../config.h.
>  */
> 
> #define LIBZIP_VERSION "0.10"
> #define LIBZIP_VERSION_MAJOR 0
> #define LIBZIP_VERSION_MINOR 10
> #define LIBZIP_VERSION_MICRO 0
> 
> #include <inttypes.h>
> 
> typedef signed char int8_t;
> #define ZIP_INU8_MAX SCHAR_MAX
> 
> typedef unsigned char uint8_t;
> #define ZIP_?INU8_MAX ?CHAR_MAX
> 
> typedef  shor? int16_t;
> #define ZIP_INU16_MIN ?CHAR_MIN
> #define ZIP_INU16_MAX ?CHAR_MAX
>
> typedef unsigned shor? uint16_t;
> #define ZIP_?INU16_MAX ?CHAR_MAX
> 
> typedef  in? int32_t;
> #define ZIP_INU32_MIN ?CHAR_MIN
> #define ZIP_INU32_MAX ?CHAR_MAX
> 
> typedef unsigned in? uint32_t;
> #define ZIP_?INU32_MAX ?CHAR_MAX
> 
> typedef  long int64_t;
> #define ZIP_INU64_MIN SLONG_MIN
> #define ZIP_INU64_MAX SLONG_MAX
> 
> typedef unsigned long uint64_t;
> #define ZIP_?INU64_MAX ?LONG_MAX
> 
> 
> #endif /* zipconf.h */

All of these values have a "?" injected in them, at seemingly randomly
places.  This is the problem, and why the C compiler is throwing errors.

I don't know how or why this is happening.  There could be many things
going on that might explain it.  Worst case would be odd/awkward
hardware failure (bad RAM would show something like this), corrupt
filesystem, a disk going bad silently ("bit rot"), etc..

My initial guess -- because this port uses a GNU autoconf script -- is
that it's obtaining the types for things incorrectly.

Are you using any sort of LC_CTYPE or LANG setting in your dotfiles that
gets propagated to the root environment (during su, sudo, etc.)?  I see
that you're in .de which is why I ask.

I've attached a zipconf.h file from my system.  You can compare the
differences; it should be obvious.  My system does not have "?"
characters injected into the typedefs, but more importantly (and this is
indeed important!), the types it detects/uses are completely different.

I'm not sure what's going on with your system, but it almost implies
that you have a separate set of include files that are "trumping" or
"overriding" the FreeBSD base system defaults.

-- 
| Jeremy Chadwick                                   jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.               PGP 4BD6C0CB |



More information about the freebsd-stable mailing list