Compile pronlem with old centosls

I don’t know what is wrong, and couldn’t find anything about it by
googling.

Any ideas?

[root@s164 nginx-0.8.1]# ./configure
checking for OS

  • Linux 2.6.9-34.ELsmp i686
    checking for C compiler … found
  • using GNU C compiler
  • gcc version: 3.4.6 20060404 (Red Hat 3.4.6-10)
    checking for gcc -pipe switch … found
    checking for gcc variadic macros … found
    checking for C99 variadic macros … found
    checking for unistd.h … found
    checking for inttypes.h … found
    checking for limits.h … not found
    checking for sys/filio.h … not found
    checking for sys/param.h … not found
    checking for sys/mount.h … found
    checking for sys/statvfs.h … found
    checking for crypt.h … found
    checking for Linux specific features
  • rt signals found
    checking for epoll … found
    checking for sendfile() … not found
    checking for sendfile64() … not found
    checking for sys/prctl.h … not found
    checking for prctl(PR_SET_DUMPABLE) … not found
    checking for sched_setaffinity() … found
    checking for crypt_r() … found
    checking for sys/vfs.h … found
    checking for nobody group … found
    checking for poll() … found
    checking for /dev/poll … not found
    checking for kqueue … not found
    checking for crypt() … not found
    checking for crypt() in libcrypt … found
    checking for O_DIRECT … found
    checking for F_NOCACHE … not found
    checking for directio() … not found
    checking for statfs() … found
    checking for statvfs() … found
    checking for dlopen() … not found
    checking for dlopen() in libdl … found
    checking for sched_yield() … found
    checking for PCRE library … not found
    checking for PCRE library in /usr/local/ … not found
    checking for PCRE library in /usr/include/pcre/ … found
    checking for system md library … not found
    checking for system md5 library … not found
    checking for OpenSSL md5 crypto library … found
    checking for zlib library … found
    creating objs/Makefile
    checking for int size … 4 bytes
    checking for long size … 4 bytes
    checking for long long size … 8 bytes
    checking for void * size … 4 bytes
    checking for uint64_t … uint64_t not found u_int64_t not found
    ./configure: error: can not define uint64_t
    [root@s164 nginx-0.8.1]#

with gcc4 the problem is the same:

[root@s164 nginx-0.8.1]# CC=gcc4 CXX=g++4 ./configure
checking for OS

  • Linux 2.6.9-34.ELsmp i686
    checking for C compiler … found
  • using GNU C compiler
  • gcc version: 4.1.2 20071124 (Red Hat 4.1.2-42)
    checking for gcc -pipe switch … found
    checking for gcc variadic macros … found
    checking for C99 variadic macros … found
    checking for unistd.h … found
    checking for inttypes.h … found
    checking for limits.h … not found
    checking for sys/filio.h … not found
    checking for sys/param.h … not found
    checking for sys/mount.h … found
    checking for sys/statvfs.h … found
    checking for crypt.h … found
    checking for Linux specific features
  • rt signals found
    checking for epoll … found
    checking for sendfile() … not found
    checking for sendfile64() … not found
    checking for sys/prctl.h … not found
    checking for prctl(PR_SET_DUMPABLE) … not found
    checking for sched_setaffinity() … found
    checking for crypt_r() … found
    checking for sys/vfs.h … found
    checking for nobody group … found
    checking for poll() … found
    checking for /dev/poll … not found
    checking for kqueue … not found
    checking for crypt() … not found
    checking for crypt() in libcrypt … found
    checking for O_DIRECT … found
    checking for F_NOCACHE … not found
    checking for directio() … not found
    checking for statfs() … found
    checking for statvfs() … found
    checking for dlopen() … not found
    checking for dlopen() in libdl … found
    checking for sched_yield() … found
    checking for PCRE library … not found
    checking for PCRE library in /usr/local/ … not found
    checking for PCRE library in /usr/include/pcre/ … found
    checking for system md library … not found
    checking for system md5 library … not found
    checking for OpenSSL md5 crypto library … found
    checking for zlib library … found
    creating objs/Makefile
    checking for int size … 4 bytes
    checking for long size … 4 bytes
    checking for long long size … 8 bytes
    checking for void * size … 4 bytes
    checking for uint64_t … uint64_t not found u_int64_t not found
    ./configure: error: can not define uint64_t
    [root@s164 nginx-0.8.1]#

Thanks :slight_smile:

On Mon, Jun 15, 2009 at 04:35:43PM +0200, Alejandro Mart??nez wrote:

  • gcc version: 3.4.6 20060404 (Red Hat 3.4.6-10)
    checking for crypt.h … found
    checking for nobody group … found
    checking for dlopen() … not found
    checking for int size … 4 bytes
    [root@s164 nginx-0.8.1]# CC=gcc4 CXX=g++4 ./configure
    checking for limits.h … not found
    checking for sys/prctl.h … not found
    checking for O_DIRECT … found
    checking for system md library … not found
    [root@s164 nginx-0.8.1]#
    The earliest RedHat I ever built nginx on was 6.2.
    Could you run

grep -r int64_t /usr/include

to see if int64_t is on the host ?

On Mon, Jun 15, 2009 at 09:12:59PM +0200, Alejandro Mart??nez wrote:

checking for sys/prctl.h … not found

fgrep -r int64_t /usr/include

/usr/include/stdint.h:typedef long int int64_t;
/usr/include/stdint.h:typedef long long int int64_t;
/usr/include/stdint.h:typedef unsigned long int uint64_t;
/usr/include/stdint.h:typedef unsigned long long int uint64_t;

Try the attached patch.

Hello Igor,

Tuesday, June 16, 2009, 3:08:10 AM, you wrote:

#include <stddef.h> /* offsetof() */
#include <stdio.h>

IMHO,

#include <stdint.h>

is a little bit proper.

Igor S. wrote:

On Mon, Jun 15, 2009 at 04:35:43PM +0200, Alejandro Mart??nez wrote:

  • gcc version: 3.4.6 20060404 (Red Hat 3.4.6-10)
    checking for crypt.h … found
    checking for nobody group … found
    checking for dlopen() … not found
    checking for int size … 4 bytes
    [root@s164 nginx-0.8.1]# CC=gcc4 CXX=g++4 ./configure
    checking for limits.h … not found
    checking for sys/prctl.h … not found
    checking for O_DIRECT … found
    checking for system md library … not found
    [root@s164 nginx-0.8.1]#
    The earliest RedHat I ever built nginx on was 6.2.
    Could you run

grep -r int64_t /usr/include

to see if int64_t is on the host ?

fgrep -r int64_t /usr/include
/usr/include/vorbis/vorbisfile.h: int (*seek_func) (void
*datasource, ogg_int64_t offset, int whence);
/usr/include/vorbis/vorbisfile.h: ogg_int64_t offset;
/usr/include/vorbis/vorbisfile.h: ogg_int64_t end;
/usr/include/vorbis/vorbisfile.h: ogg_int64_t *offsets;
/usr/include/vorbis/vorbisfile.h: ogg_int64_t *dataoffsets;
/usr/include/vorbis/vorbisfile.h: ogg_int64_t pcmlengths; /
overloaded to maintain binary
/usr/include/vorbis/vorbisfile.h: ogg_int64_t pcm_offset;
/usr/include/vorbis/vorbisfile.h:extern ogg_int64_t
ov_raw_total(OggVorbis_File *vf,int i);
/usr/include/vorbis/vorbisfile.h:extern ogg_int64_t
ov_pcm_total(OggVorbis_File *vf,int i);
/usr/include/vorbis/vorbisfile.h:extern int ov_raw_seek(OggVorbis_File
*vf,ogg_int64_t pos);
/usr/include/vorbis/vorbisfile.h:extern int ov_pcm_seek(OggVorbis_File
*vf,ogg_int64_t pos);
/usr/include/vorbis/vorbisfile.h:extern int
ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos);
/usr/include/vorbis/vorbisfile.h:extern int
ov_raw_seek_lap(OggVorbis_File *vf,ogg_int64_t pos);
/usr/include/vorbis/vorbisfile.h:extern int
ov_pcm_seek_lap(OggVorbis_File *vf,ogg_int64_t pos);
/usr/include/vorbis/vorbisfile.h:extern int
ov_pcm_seek_page_lap(OggVorbis_File *vf,ogg_int64_t pos);
/usr/include/vorbis/vorbisfile.h:extern ogg_int64_t
ov_raw_tell(OggVorbis_File *vf);
/usr/include/vorbis/vorbisfile.h:extern ogg_int64_t
ov_pcm_tell(OggVorbis_File vf);
/usr/include/vorbis/codec.h: ogg_int64_t granulepos;
/usr/include/vorbis/codec.h: ogg_int64_t sequence;
/usr/include/vorbis/codec.h: ogg_int64_t glue_bits;
/usr/include/vorbis/codec.h: ogg_int64_t time_bits;
/usr/include/vorbis/codec.h: ogg_int64_t floor_bits;
/usr/include/vorbis/codec.h: ogg_int64_t res_bits;
/usr/include/vorbis/codec.h: ogg_int64_t granulepos;
/usr/include/vorbis/codec.h: ogg_int64_t sequence;
/usr/include/vorbis/codec.h: ogg_int64_t
granulepos);
/usr/include/packer.h:typedef uint64_t int64;
/usr/include/idn-int.h:/
some system headers have good uint64_t /
/usr/include/idn-int.h:typedef u_int64_t uint64_t;
/usr/include/idn-int.h:typedef long long int64_t;
/usr/include/idn-int.h:typedef unsigned long long uint64_t;
/usr/include/idn-int.h:typedef __int64 int64_t;
/usr/include/idn-int.h:typedef unsigned __int64 uint64_t;
/usr/include/idn-int.h:typedef long long int64_t;
/usr/include/idn-int.h:typedef unsigned long long uint64_t;
/usr/include/idn-int.h:typedef long int64_t;
/usr/include/idn-int.h:typedef unsigned long uint64_t;
/usr/include/idn-int.h: /
compiler/cpu type to define int64_t /
/usr/include/idn-int.h:typedef unsigned long uint64_t;
/usr/include/idn-int.h:typedef long int64_t;
/usr/include/idn-int.h:typedef unsigned long long uint64_t;
/usr/include/idn-int.h:typedef long long int64_t;
/usr/include/idn-int.h:typedef int64_t int_least64_t;
/usr/include/idn-int.h:typedef uint64_t uint_least64_t;
/usr/include/idn-int.h:typedef int64_t int_fast64_t;
/usr/include/idn-int.h:typedef uint64_t uint_fast64_t;
/usr/include/idn-int.h:typedef int64_t intmax_t;
/usr/include/idn-int.h:typedef uint64_t uintmax_t;
/usr/include/idn-int.h:typedef uint64_t uintptr_t;
/usr/include/idn-int.h:typedef int64_t intptr_t;
/usr/include/sys/epoll.h: uint64_t u64;
/usr/include/sys/quota.h: u_int64_t dqb_bhardlimit; /
absolute
limit on disk quota blocks alloc /
/usr/include/sys/quota.h: u_int64_t dqb_bsoftlimit; /
preferred
limit on disk quota blocks /
/usr/include/sys/quota.h: u_int64_t dqb_curspace; /
current quota
block count /
/usr/include/sys/quota.h: u_int64_t dqb_ihardlimit; /
maximum #
allocated inodes /
/usr/include/sys/quota.h: u_int64_t dqb_isoftlimit; /
preferred
inode limit /
/usr/include/sys/quota.h: u_int64_t dqb_curinodes; /
current #
allocated inodes /
/usr/include/sys/quota.h: u_int64_t dqb_btime; /
time limit
for excessive disk use /
/usr/include/sys/quota.h: u_int64_t dqb_itime; /
time limit
for excessive files */
/usr/include/sys/quota.h: u_int64_t dqi_bgrace;
/usr/include/sys/quota.h: u_int64_t dqi_igrace;
/usr/include/sys/raw.h: uint64_t block_major;
/usr/include/sys/raw.h: uint64_t block_minor;
/usr/include/sys/types.h:extension typedef long long int int64_t;
/usr/include/sys/types.h:extension typedef unsigned long long int
u_int64_t;
/usr/include/elfutils/libebl.h: const char *(*dynamic_tag_name)
(int64_t, char *, size_t);
/usr/include/elfutils/libebl.h: bool (*dynamic_tag_check) (int64_t);
/usr/include/elfutils/libebl.h:extern const char *ebl_dynamic_tag_name
(Ebl *ebl, int64_t tag,
/usr/include/elfutils/libebl.h:extern bool ebl_dynamic_tag_check (Ebl
*ebl, int64_t tag);
/usr/include/elf.h:typedef uint64_t Elf32_Xword;
/usr/include/elf.h:typedef int64_t Elf32_Sxword;
/usr/include/elf.h:typedef uint64_t Elf64_Xword;
/usr/include/elf.h:typedef int64_t Elf64_Sxword;
/usr/include/elf.h:typedef uint64_t Elf64_Addr;
/usr/include/elf.h:typedef uint64_t Elf64_Off;
/usr/include/rpc/xdr.h:extern bool_t xdr_int64_t (XDR *__xdrs, int64_t
*__ip) __THROW;
/usr/include/rpc/xdr.h:extern bool_t xdr_uint64_t (XDR *__xdrs, uint64_t
__up) __THROW;
/usr/include/linux/netfilter_ipv6/ip6_tables.h: u_int64_t pcnt, bcnt;
/
Packet and byte counters /
Binary file /usr/include/linux/in6.h matches
/usr/include/linux/netfilter_arp/arp_tables.h: u_int64_t pcnt, bcnt;
/
Packet and byte counters /
/usr/include/linux/netfilter_ipv4/ip_tables.h: u_int64_t pcnt, bcnt;
/
Packet and byte counters */
Binary file /usr/include/linux/sound.h matches
Binary file /usr/include/linux/swap.h matches
/usr/include/stdint.h:typedef long int int64_t;
/usr/include/stdint.h:typedef long long int int64_t;
/usr/include/stdint.h:typedef unsigned long int uint64_t;
/usr/include/stdint.h:typedef unsigned long long int uint64_t;
/usr/include/bfd.h:typedef BFD_HOST_64_BIT bfd_int64_t;
/usr/include/bfd.h:typedef BFD_HOST_U_64_BIT bfd_uint64_t;
/usr/include/bfd.h:typedef bfd_signed_vma bfd_int64_t;
/usr/include/bfd.h:typedef bfd_vma bfd_uint64_t;
/usr/include/bfd.h:bfd_uint64_t bfd_getb64 (const void *);
/usr/include/bfd.h:bfd_uint64_t bfd_getl64 (const void *);
/usr/include/bfd.h:bfd_int64_t bfd_getb_signed_64 (const void *);
/usr/include/bfd.h:bfd_int64_t bfd_getl_signed_64 (const void *);
/usr/include/bfd.h:void bfd_putb64 (bfd_uint64_t, void *);
/usr/include/bfd.h:void bfd_putl64 (bfd_uint64_t, void *);
/usr/include/bfd.h:bfd_uint64_t bfd_get_bits (const void *, int,
bfd_boolean);
/usr/include/bfd.h:void bfd_put_bits (bfd_uint64_t, void *, int,
bfd_boolean);
/usr/include/bfd.h: bfd_uint64_t (*bfd_getx64) (const void *);
/usr/include/bfd.h: bfd_int64_t (*bfd_getx_signed_64) (const void
*);
/usr/include/bfd.h: void (*bfd_putx64) (bfd_uint64_t, void
*);
/usr/include/bfd.h: bfd_uint64_t (*bfd_h_getx64) (const void *);
/usr/include/bfd.h: bfd_int64_t (*bfd_h_getx_signed_64) (const void
*);
/usr/include/bfd.h: void (*bfd_h_putx64) (bfd_uint64_t, void
);
/usr/include/dmraid/metadata.h: uint64_t sectors; /
Device size. /
/usr/include/dmraid/metadata.h: uint64_t offset; /
on disk
metadata offset in sectors. /
/usr/include/dmraid/metadata.h: uint64_t offset; /
Data
offset on device. /
/usr/include/dmraid/metadata.h: uint64_t sectors; /

Length of the segment to map. */
/usr/include/dmraid/metadata.h: uint64_t n64;
/usr/include/dmraid/metadata.h:extern uint64_t total_sectors(struct
lib_context *lc, struct raid_set *rs);
/usr/include/dmraid/metadata.h: char *path, void data,
size_t size, uint64_t offset);
/usr/include/dmraid/format.h: uint64_t sector; /
Sector of the
I/O error. */
/usr/include/dmraid/format.h: uint64_t u64;
/usr/include/dmraid/format.h: size_t *size,
uint64_t *offset,
/usr/include/dmraid/format.h: size_t size, uint64_t offset,
/usr/include/dmraid/reconfig.h: uint64_t offset;
/usr/include/dmraid/reconfig.h: uint64_t length;
/usr/include/dmraid/misc.h:static inline uint64_t round_down(uint64_t
what, unsigned int by)
/usr/include/dmraid/misc.h: return what & ~((uint64_t) by - 1);
/usr/include/dmraid/misc.h:static inline uint64_t round_up(uint64_t
what, unsigned int by)
/usr/include/dmraid/misc.h: uint64_t t = round_down(what, by);
/usr/include/dmraid/misc.h:static inline uint64_t div_up(uint64_t what,
unsigned int by)
/usr/include/dmraid/lib_context.h: uint64_t u64;
/usr/include/dmraid/lib_context.h: uint64_t u32;
/usr/include/bits/socket.h:# define __ss_aligntype __uint64_t
/usr/include/bits/types.h:typedef signed long int __int64_t;
/usr/include/bits/types.h:typedef unsigned long int __uint64_t;
/usr/include/bits/types.h:extension typedef signed long long int
__int64_t;
/usr/include/bits/types.h:extension typedef unsigned long long int
__uint64_t;
/usr/include/libdevmapper.h: uint64_t device[0];
/usr/include/libdevmapper.h: uint64_t dev;
/usr/include/libdevmapper.h:int dm_task_set_sector(struct dm_task *dmt,
uint64_t sector);
/usr/include/libdevmapper.h: uint64_t start,
/usr/include/libdevmapper.h: uint64_t size, const char
*ttype, const char *params);
/usr/include/libdevmapper.h: void *next, uint64_t
*start, uint64_t length,
/usr/include/libdevmapper.h:
uint64_t size,
/usr/include/libdevmapper.h: uint64_t
size,
/usr/include/libdevmapper.h: uint64_t
size);
/usr/include/libdevmapper.h: uint64_t
size);
/usr/include/libdevmapper.h: uint64_t
size);
/usr/include/libdevmapper.h: uint64_t
size,
/usr/include/libdevmapper.h: uint64_t
size);
/usr/include/libdevmapper.h: uint64_t
offset);
/usr/include/boost/cstdint.hpp: using ::int64_t;
/usr/include/boost/cstdint.hpp: using ::uint64_t;
/usr/include/boost/cstdint.hpp: using ::int64_t;
/usr/include/boost/cstdint.hpp: typedef int64_t int_least64_t;
/usr/include/boost/cstdint.hpp: typedef int64_t int_fast64_t;
/usr/include/boost/cstdint.hpp: using ::uint64_t;
/usr/include/boost/cstdint.hpp: typedef uint64_t uint_least64_t;
/usr/include/boost/cstdint.hpp: typedef uint64_t uint_fast64_t;
/usr/include/boost/cstdint.hpp: typedef int64_t intmax_t;
/usr/include/boost/cstdint.hpp: typedef uint64_t uintmax_t;
/usr/include/boost/cstdint.hpp: typedef ::boost::long_long_type
int64_t;
/usr/include/boost/cstdint.hpp: typedef ::boost::ulong_long_type
uint64_t;
/usr/include/boost/cstdint.hpp: typedef long
int64_t;
/usr/include/boost/cstdint.hpp: typedef unsigned long
uint64_t;
/usr/include/boost/cstdint.hpp: extension typedef long long
int64_t;
/usr/include/boost/cstdint.hpp: extension typedef unsigned long
long uint64_t;
/usr/include/boost/cstdint.hpp: typedef __int64 int64_t;
/usr/include/boost/cstdint.hpp: typedef unsigned __int64
uint64_t;
/usr/include/boost/random/linear_congruential.hpp:// emulate the
lrand48() C library function; requires support for uint64_t
/usr/include/boost/random/linear_congruential.hpp: explicit
rand48(uint64_t x0) : lcf(x0) { }
/usr/include/boost/random/linear_congruential.hpp: void seed(uint64_t
x0) { lcf.seed(x0); }
/usr/include/boost/random/linear_congruential.hpp:
random::linear_congruential<uint64_t,
/usr/include/boost/random/linear_congruential.hpp:
uint64_t(0xDEECE66DUL) | (uint64_t(0x5) << 32), // xxxxULL is not
portable
/usr/include/boost/random/linear_congruential.hpp: 0xB,
uint64_t(1)<<48, /
unknown */ 0> lcf;
/usr/include/boost/random/linear_congruential.hpp: static uint64_t
cnv(int32_t x)
/usr/include/boost/random/linear_congruential.hpp: { return
(static_cast<uint64_t>(x) << 16) | 0x330e; }
/usr/include/boost/random/ranlux.hpp: typedef
random::subtract_with_carry<int64_t, (int64_t(1)<<48), 10, 24, 0>
ranlux64_base;
/usr/include/boost/random/detail/const_mod.hpp:class const_mod<uint64_t,
uint64_t(1) << 48>
/usr/include/boost/random/detail/const_mod.hpp: typedef uint64_t
IntType;
/usr/include/boost/random/detail/const_mod.hpp: static IntType
mod(IntType x) { return x &= ((uint64_t(1) << 48)-1); }
/usr/include/boost/archive/polymorphic_oarchive.hpp:// determine if its
necessary to handle (u)int64_t specifically
/usr/include/boost/archive/polymorphic_oarchive.hpp: virtual void
save(const boost::int64_t t) = 0;
/usr/include/boost/archive/polymorphic_oarchive.hpp: virtual void
save(const boost::uint64_t t) = 0;
/usr/include/boost/archive/detail/polymorphic_oarchive_impl.hpp:
virtual void save(const boost::int64_t t){
/usr/include/boost/archive/detail/polymorphic_oarchive_impl.hpp:
virtual void save(const boost::uint64_t t){
/usr/include/boost/archive/detail/polymorphic_iarchive_impl.hpp:
virtual void load(boost::int64_t & t){
/usr/include/boost/archive/detail/polymorphic_iarchive_impl.hpp:
virtual void load(boost::uint64_t & t){
/usr/include/boost/archive/dinkumware.hpp:operator<<(basic_ostream
& os, boost::uint64_t t){
/usr/include/boost/archive/dinkumware.hpp:operator<<(basic_ostream
&os, boost::int64_t t){
/usr/include/boost/archive/dinkumware.hpp: os <<
static_castboost::uint64_t(t);
/usr/include/boost/archive/dinkumware.hpp:operator>>(basic_istream
&is, boost::int64_t & t){
/usr/include/boost/archive/dinkumware.hpp:operator>>(basic_istream
&is, boost::uint64_t & t){
/usr/include/boost/archive/dinkumware.hpp: boost::int64_t it;
/usr/include/boost/archive/polymorphic_iarchive.hpp:// determine if its
necessary to handle (u)int64_t specifically
/usr/include/boost/archive/polymorphic_iarchive.hpp: virtual void
load(boost::int64_t & t) = 0;
/usr/include/boost/archive/polymorphic_iarchive.hpp: virtual void
load(boost::uint64_t & t) = 0;
/usr/include/boost/config/platform/linux.hpp: // <stdint.h> defines
int64_t unconditionally, but <sys/types.h> defines
/usr/include/boost/config/platform/linux.hpp: // int64_t only if
GNUC. Thus, assume a fully usable <stdint.h>
/usr/include/boost/date_time/compiler_config.hpp:#define INT64_C(value)
int64_t(value)
/usr/include/boost/date_time/posix_time/time_formatters_limited.hpp:
boost::int64_t frac_sec =
/usr/include/boost/date_time/posix_time/time_formatters_limited.hpp:
boost::int64_t frac_sec =
/usr/include/boost/date_time/posix_time/posix_time_system.hpp: typedef
date_time::counted_time_rep<millisec_posix_time_system_config>
int64_time_rep;
/usr/include/boost/date_time/posix_time/posix_time_system.hpp: typedef
date_time::counted_time_system<int64_time_rep> posix_time_system;
/usr/include/boost/date_time/posix_time/posix_time_config.hpp://
typedef date_time::time_resolution_traits<boost::int64_t,
boost::date_time::tenth,
/usr/include/boost/date_time/posix_time/posix_time_config.hpp:
BOOST_STATIC_CONSTANT(boost::int64_t, tick_per_second = 1000000000);
/usr/include/boost/date_time/posix_time/posix_time_config.hpp:
typedef boost::int64_t time_rep_type;
/usr/include/boost/date_time/posix_time/posix_time_config.hpp:
BOOST_STATIC_CONSTANT(boost::int64_t, tick_per_second = 1000000);
/usr/include/boost/date_time/posix_time/time_formatters.hpp:
boost::int64_t frac_sec =
/usr/include/boost/date_time/posix_time/time_formatters.hpp:
boost::int64_t frac_sec =
/usr/include/boost/date_time/time_resolution_traits.hpp: typedef
boost::int64_t int_type;
/usr/include/boost/date_time/time_resolution_traits.hpp: typedef
boost::int64_t impl_type;
/usr/include/boost/date_time/time_resolution_traits.hpp: typedef
boost::int64_t int_type;
/usr/include/boost/date_time/time_resolution_traits.hpp: typedef
boost::date_time::int_adapterboost::int64_t impl_type;
/usr/include/boost/date_time/time_resolution_traits.hpp:
boost::int64_t resolution_adjust,
/usr/include/boost/date_time/time_facet.hpp: ss <<
_i64toa(static_castboost::int64_t(frac_sec), buff, 10);
/usr/include/boost/date_time/filetime_functions.hpp: uint64_t c1 =
27111902UL;
/usr/include/boost/date_time/filetime_functions.hpp: uint64_t c2 =
3577643008UL; // issues warning without ‘UL’
/usr/include/boost/date_time/filetime_functions.hpp: const uint64_t
OFFSET = (c1 << 32) + c2;
/usr/include/boost/date_time/filetime_functions.hpp: uint64_t
filetime = ft.dwHighDateTime;
/usr/include/boost/date_time/filetime_functions.hpp: uint64_t sec =
filetime / 10000000;
/usr/include/boost/date_time/filetime_functions.hpp: uint64_t sub_sec
= (filetime % 10000000) * 100; // nanoseconds
/usr/include/boost/date_time/filetime_functions.hpp: uint64_t sub_sec
= (filetime % 10000000) / 10; // truncate to microseconds
/usr/include/boost/date_time/time_parsing.hpp: boost::int64_t fs=0;
/usr/include/boost/date_time/time_parsing.hpp: fs =
boost::lexical_castboost::int64_t(*beg);
/usr/include/boost/date_time/microsec_time_clock.hpp:
boost::uint64_t c1 = 27111902;
/usr/include/boost/date_time/microsec_time_clock.hpp:
boost::uint64_t c2 = 3577643008UL; // ‘UL’ removes compiler warnings
/usr/include/boost/date_time/microsec_time_clock.hpp: const
boost::uint64_t OFFSET = (c1 << 32) + c2;
/usr/include/boost/date_time/microsec_time_clock.hpp:
boost::uint64_t filetime = ft.dwHighDateTime;
/usr/include/boost/serialization/collection_traits.hpp:// determine if
its necessary to handle (u)int64_t specifically
/usr/include/boost/serialization/collection_traits.hpp:
BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::int64_t, C)
/usr/include/boost/serialization/collection_traits.hpp:
BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::uint64_t, C)
/usr/include/c++/3.4.3/i386-redhat-linux/bits/c++config.h:// Define if
int64_t is available in <stdint.h>.
/usr/include/c++/3.4.3/bits/postypes.h:#include <stdint.h> // For
int64_t
/usr/include/c++/3.4.3/bits/postypes.h: typedef int64_t
streamoff;
/usr/include/c++/3.4.6/i386-redhat-linux/bits/c++config.h:// Define if
int64_t is available in <stdint.h>.
/usr/include/c++/3.4.6/bits/postypes.h:#include <stdint.h> // For
int64_t
/usr/include/c++/3.4.6/bits/postypes.h: typedef int64_t
streamoff;
/usr/include/dbus-1.0/dbus/dbus-message.h:dbus_int64_t
dbus_message_iter_get_int64 (DBusMessageIter *iter);
/usr/include/dbus-1.0/dbus/dbus-message.h:dbus_uint64_t
dbus_message_iter_get_uint64 (DBusMessageIter *iter);
/usr/include/dbus-1.0/dbus/dbus-message.h:
dbus_int64_t **value,
/usr/include/dbus-1.0/dbus/dbus-message.h:
dbus_uint64_t **value,
/usr/include/dbus-1.0/dbus/dbus-message.h:
dbus_int64_t value);
/usr/include/dbus-1.0/dbus/dbus-message.h:
dbus_uint64_t value);
/usr/include/dbus-1.0/dbus/dbus-message.h:
const dbus_int64_t value,
/usr/include/dbus-1.0/dbus/dbus-message.h:
const dbus_uint64_t value,
/usr/include/dbus-1.0/dbus/dbus-types.h: * @typedef dbus_uint64_t
/usr/include/dbus-1.0/dbus/dbus-types.h: * @typedef dbus_int64_t
/usr/include/ogg/os_types.h: typedef _G_int64_t ogg_int64_t;
/usr/include/ogg/os_types.h: typedef long long ogg_int64_t;
/usr/include/ogg/os_types.h: typedef unsigned long long
ogg_uint64_t;
/usr/include/ogg/os_types.h: typedef long long ogg_int64_t;
/usr/include/ogg/os_types.h: typedef __int64 ogg_int64_t;
/usr/include/ogg/os_types.h: typedef SInt64 ogg_int64_t;
/usr/include/ogg/os_types.h: typedef int64_t ogg_int64_t;
/usr/include/ogg/os_types.h: typedef int64_t ogg_int64_t;
/usr/include/ogg/os_types.h: typedef long long ogg_int64_t;
/usr/include/ogg/os_types.h: typedef long long ogg_int64_t;
/usr/include/ogg/os_types.h: typedef long ogg_int64_t;
/usr/include/ogg/os_types.h: typedef long long int ogg_int64_t;
/usr/include/ogg/ogg.h: ogg_int64_t granule_vals; / granulepos values
for headers. Not compact
/usr/include/ogg/ogg.h: ogg_int64_t packetno; /
sequence number
for decode; the framing
/usr/include/ogg/ogg.h: ogg_int64_t granulepos;
/usr/include/ogg/ogg.h: ogg_int64_t granulepos;
/usr/include/ogg/ogg.h: ogg_int64_t packetno; /
sequence number
for decode; the framing
/usr/include/ogg/ogg.h:extern ogg_int64_t ogg_page_granulepos(ogg_page
*og);
/usr/include/ogg/config_types.h:typedef int64_t ogg_int64_t;

and in case you mean uint64_t:

fgrep -r uint64_t /usr/include
/usr/include/packer.h:typedef uint64_t int64;
/usr/include/idn-int.h:/* some system headers have good uint64_t */
/usr/include/idn-int.h:typedef u_int64_t uint64_t;
/usr/include/idn-int.h:typedef unsigned long long uint64_t;
/usr/include/idn-int.h:typedef unsigned __int64 uint64_t;
/usr/include/idn-int.h:typedef unsigned long long uint64_t;
/usr/include/idn-int.h:typedef unsigned long uint64_t;
/usr/include/idn-int.h:typedef unsigned long uint64_t;
/usr/include/idn-int.h:typedef unsigned long long uint64_t;
/usr/include/idn-int.h:typedef uint64_t uint_least64_t;
/usr/include/idn-int.h:typedef uint64_t uint_fast64_t;
/usr/include/idn-int.h:typedef uint64_t uintmax_t;
/usr/include/idn-int.h:typedef uint64_t uintptr_t;
/usr/include/sys/epoll.h: uint64_t u64;
/usr/include/sys/raw.h: uint64_t block_major;
/usr/include/sys/raw.h: uint64_t block_minor;
/usr/include/elf.h:typedef uint64_t Elf32_Xword;
/usr/include/elf.h:typedef uint64_t Elf64_Xword;
/usr/include/elf.h:typedef uint64_t Elf64_Addr;
/usr/include/elf.h:typedef uint64_t Elf64_Off;
/usr/include/rpc/xdr.h:extern bool_t xdr_uint64_t (XDR *__xdrs, uint64_t
*__up) __THROW;
Binary file /usr/include/linux/in6.h matches
Binary file /usr/include/linux/sound.h matches
Binary file /usr/include/linux/swap.h matches
/usr/include/stdint.h:typedef unsigned long int uint64_t;
/usr/include/stdint.h:typedef unsigned long long int uint64_t;
/usr/include/bfd.h:typedef BFD_HOST_U_64_BIT bfd_uint64_t;
/usr/include/bfd.h:typedef bfd_vma bfd_uint64_t;
/usr/include/bfd.h:bfd_uint64_t bfd_getb64 (const void *);
/usr/include/bfd.h:bfd_uint64_t bfd_getl64 (const void *);
/usr/include/bfd.h:void bfd_putb64 (bfd_uint64_t, void *);
/usr/include/bfd.h:void bfd_putl64 (bfd_uint64_t, void *);
/usr/include/bfd.h:bfd_uint64_t bfd_get_bits (const void *, int,
bfd_boolean);
/usr/include/bfd.h:void bfd_put_bits (bfd_uint64_t, void *, int,
bfd_boolean);
/usr/include/bfd.h: bfd_uint64_t (*bfd_getx64) (const void *);
/usr/include/bfd.h: void (*bfd_putx64) (bfd_uint64_t, void
*);
/usr/include/bfd.h: bfd_uint64_t (*bfd_h_getx64) (const void *);
/usr/include/bfd.h: void (*bfd_h_putx64) (bfd_uint64_t, void
);
/usr/include/dmraid/metadata.h: uint64_t sectors; /
Device size. /
/usr/include/dmraid/metadata.h: uint64_t offset; /
on disk
metadata offset in sectors. /
/usr/include/dmraid/metadata.h: uint64_t offset; /
Data
offset on device. /
/usr/include/dmraid/metadata.h: uint64_t sectors; /

Length of the segment to map. */
/usr/include/dmraid/metadata.h: uint64_t n64;
/usr/include/dmraid/metadata.h:extern uint64_t total_sectors(struct
lib_context *lc, struct raid_set *rs);
/usr/include/dmraid/metadata.h: char *path, void data,
size_t size, uint64_t offset);
/usr/include/dmraid/format.h: uint64_t sector; /
Sector of the
I/O error. */
/usr/include/dmraid/format.h: uint64_t u64;
/usr/include/dmraid/format.h: size_t *size,
uint64_t *offset,
/usr/include/dmraid/format.h: size_t size, uint64_t offset,
/usr/include/dmraid/reconfig.h: uint64_t offset;
/usr/include/dmraid/reconfig.h: uint64_t length;
/usr/include/dmraid/misc.h:static inline uint64_t round_down(uint64_t
what, unsigned int by)
/usr/include/dmraid/misc.h: return what & ~((uint64_t) by - 1);
/usr/include/dmraid/misc.h:static inline uint64_t round_up(uint64_t
what, unsigned int by)
/usr/include/dmraid/misc.h: uint64_t t = round_down(what, by);
/usr/include/dmraid/misc.h:static inline uint64_t div_up(uint64_t what,
unsigned int by)
/usr/include/dmraid/lib_context.h: uint64_t u64;
/usr/include/dmraid/lib_context.h: uint64_t u32;
/usr/include/bits/socket.h:# define __ss_aligntype __uint64_t
/usr/include/bits/types.h:typedef unsigned long int __uint64_t;
/usr/include/bits/types.h:extension typedef unsigned long long int
__uint64_t;
/usr/include/libdevmapper.h: uint64_t device[0];
/usr/include/libdevmapper.h: uint64_t dev;
/usr/include/libdevmapper.h:int dm_task_set_sector(struct dm_task *dmt,
uint64_t sector);
/usr/include/libdevmapper.h: uint64_t start,
/usr/include/libdevmapper.h: uint64_t size, const char
*ttype, const char *params);
/usr/include/libdevmapper.h: void *next, uint64_t
*start, uint64_t length,
/usr/include/libdevmapper.h:
uint64_t size,
/usr/include/libdevmapper.h: uint64_t
size,
/usr/include/libdevmapper.h: uint64_t
size);
/usr/include/libdevmapper.h: uint64_t
size);
/usr/include/libdevmapper.h: uint64_t
size);
/usr/include/libdevmapper.h: uint64_t
size,
/usr/include/libdevmapper.h: uint64_t
size);
/usr/include/libdevmapper.h: uint64_t
offset);
/usr/include/boost/cstdint.hpp: using ::uint64_t;
/usr/include/boost/cstdint.hpp: using ::uint64_t;
/usr/include/boost/cstdint.hpp: typedef uint64_t uint_least64_t;
/usr/include/boost/cstdint.hpp: typedef uint64_t uint_fast64_t;
/usr/include/boost/cstdint.hpp: typedef uint64_t uintmax_t;
/usr/include/boost/cstdint.hpp: typedef ::boost::ulong_long_type
uint64_t;
/usr/include/boost/cstdint.hpp: typedef unsigned long
uint64_t;
/usr/include/boost/cstdint.hpp: extension typedef unsigned long
long uint64_t;
/usr/include/boost/cstdint.hpp: typedef unsigned __int64
uint64_t;
/usr/include/boost/random/linear_congruential.hpp:// emulate the
lrand48() C library function; requires support for uint64_t
/usr/include/boost/random/linear_congruential.hpp: explicit
rand48(uint64_t x0) : lcf(x0) { }
/usr/include/boost/random/linear_congruential.hpp: void seed(uint64_t
x0) { lcf.seed(x0); }
/usr/include/boost/random/linear_congruential.hpp:
random::linear_congruential<uint64_t,
/usr/include/boost/random/linear_congruential.hpp:
uint64_t(0xDEECE66DUL) | (uint64_t(0x5) << 32), // xxxxULL is not
portable
/usr/include/boost/random/linear_congruential.hpp: 0xB,
uint64_t(1)<<48, /
unknown */ 0> lcf;
/usr/include/boost/random/linear_congruential.hpp: static uint64_t
cnv(int32_t x)
/usr/include/boost/random/linear_congruential.hpp: { return
(static_cast<uint64_t>(x) << 16) | 0x330e; }
/usr/include/boost/random/detail/const_mod.hpp:class const_mod<uint64_t,
uint64_t(1) << 48>
/usr/include/boost/random/detail/const_mod.hpp: typedef uint64_t
IntType;
/usr/include/boost/random/detail/const_mod.hpp: static IntType
mod(IntType x) { return x &= ((uint64_t(1) << 48)-1); }
/usr/include/boost/archive/polymorphic_oarchive.hpp: virtual void
save(const boost::uint64_t t) = 0;
/usr/include/boost/archive/detail/polymorphic_oarchive_impl.hpp:
virtual void save(const boost::uint64_t t){
/usr/include/boost/archive/detail/polymorphic_iarchive_impl.hpp:
virtual void load(boost::uint64_t & t){
/usr/include/boost/archive/dinkumware.hpp:operator<<(basic_ostream
& os, boost::uint64_t t){
/usr/include/boost/archive/dinkumware.hpp: os <<
static_castboost::uint64_t(t);
/usr/include/boost/archive/dinkumware.hpp:operator>>(basic_istream
&is, boost::uint64_t & t){
/usr/include/boost/archive/polymorphic_iarchive.hpp: virtual void
load(boost::uint64_t & t) = 0;
/usr/include/boost/date_time/filetime_functions.hpp: uint64_t c1 =
27111902UL;
/usr/include/boost/date_time/filetime_functions.hpp: uint64_t c2 =
3577643008UL; // issues warning without ‘UL’
/usr/include/boost/date_time/filetime_functions.hpp: const uint64_t
OFFSET = (c1 << 32) + c2;
/usr/include/boost/date_time/filetime_functions.hpp: uint64_t
filetime = ft.dwHighDateTime;
/usr/include/boost/date_time/filetime_functions.hpp: uint64_t sec =
filetime / 10000000;
/usr/include/boost/date_time/filetime_functions.hpp: uint64_t sub_sec
= (filetime % 10000000) * 100; // nanoseconds
/usr/include/boost/date_time/filetime_functions.hpp: uint64_t sub_sec
= (filetime % 10000000) / 10; // truncate to microseconds
/usr/include/boost/date_time/microsec_time_clock.hpp:
boost::uint64_t c1 = 27111902;
/usr/include/boost/date_time/microsec_time_clock.hpp:
boost::uint64_t c2 = 3577643008UL; // ‘UL’ removes compiler warnings
/usr/include/boost/date_time/microsec_time_clock.hpp: const
boost::uint64_t OFFSET = (c1 << 32) + c2;
/usr/include/boost/date_time/microsec_time_clock.hpp:
boost::uint64_t filetime = ft.dwHighDateTime;
/usr/include/boost/serialization/collection_traits.hpp:
BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::uint64_t, C)
/usr/include/dbus-1.0/dbus/dbus-message.h:dbus_uint64_t
dbus_message_iter_get_uint64 (DBusMessageIter *iter);
/usr/include/dbus-1.0/dbus/dbus-message.h:
dbus_uint64_t **value,
/usr/include/dbus-1.0/dbus/dbus-message.h:
dbus_uint64_t value);
/usr/include/dbus-1.0/dbus/dbus-message.h:
const dbus_uint64_t *value,
/usr/include/dbus-1.0/dbus/dbus-types.h: * @typedef dbus_uint64_t
/usr/include/ogg/os_types.h: typedef unsigned long long
ogg_uint64_t;

thank you for your time :).

Igor S. wrote:

On Mon, Jun 15, 2009 at 09:12:59PM +0200, Alejandro Mart??nez wrote:

checking for sys/prctl.h … not found

fgrep -r int64_t /usr/include

/usr/include/stdint.h:typedef long int int64_t;
/usr/include/stdint.h:typedef long long int int64_t;
/usr/include/stdint.h:typedef unsigned long int uint64_t;
/usr/include/stdint.h:typedef unsigned long long int uint64_t;

Try the attached patch.

Thank you again for your time, but that didn’t fix it :(.

I might try to update to a more recent centos.

On Tue, Jun 16, 2009 at 02:39:24PM +0700, Denis F. Latypoff wrote:

#include <sys/time.h>
is a little bit proper.
Probably. I did as it is on other platforms.
Also, <inttypes.h> includes <stdint.h>:

On Tue, Jun 16, 2009 at 03:15:36PM +0200, Alejandro Mart??nez wrote:

/usr/include/stdint.h:typedef unsigned long long int uint64_t;

Try the attached patch.

Thank you again for your time, but that didn’t fix it :(.

I might try to update to a more recent centos.

Try to change <inttypes.h> to <stdint.h> in the patch.

Igor S. wrote:

On Tue, Jun 16, 2009 at 03:15:36PM +0200, Alejandro Mart??nez wrote:

/usr/include/stdint.h:typedef unsigned long long int uint64_t;

Try the attached patch.

Thank you again for your time, but that didn’t fix it :(.

I might try to update to a more recent centos.

Try to change <inttypes.h> to <stdint.h> in the patch.

still no luck.

it doesn’t seem to care for whatever i put in
src/os/unix/ngx_linux_config.h

even if i put random characters everywhere :P.

On Tue, Jun 16, 2009 at 04:06:57PM +0200, Alejandro Mart??nez wrote:

Try to change <inttypes.h> to <stdint.h> in the patch.

still no luck.

it doesn’t seem to care for whatever i put in
src/os/unix/ngx_linux_config.h

even if i put random characters everywhere :P.

Sorry, I missed that the issue is on ./configure stage.
Could you show

grep -20 int64 objs/autoconf.err

?

Igor S. wrote:

On Tue, Jun 16, 2009 at 04:06:57PM +0200, Alejandro Mart??nez wrote:

Try to change <inttypes.h> to <stdint.h> in the patch.

still no luck.

it doesn’t seem to care for whatever i put in
src/os/unix/ngx_linux_config.h

even if i put random characters everywhere :P.

Sorry, I missed that the issue is on ./configure stage.
Could you show

grep -20 int64 objs/autoconf.err

?

sure.


./configure: error: can not define uint64_t
[root@s164 nginx-0.8.1]# grep -20 int64 objs/autoconf.err


checking for long size

objs/autotest.c: In function âmainâ:
objs/autotest.c:11: warning: incompatible implicit declaration of
built-in function âprintfâ


checking for long long size

objs/autotest.c: In function âmainâ:
objs/autotest.c:11: warning: incompatible implicit declaration of
built-in function âprintfâ


checking for void * size

objs/autotest.c: In function âmainâ:
objs/autotest.c:11: warning: incompatible implicit declaration of
built-in function âprintfâ


checking for uint64_t

In file included from /usr/include/bits/local_lim.h:36,
from /usr/include/bits/posix1_lim.h:153,
from /usr/include/limits.h:144,
from
/usr/lib/gcc/i386-redhat-linux5E/4.1.2/include/limits.h:122,
from
/usr/lib/gcc/i386-redhat-linux5E/4.1.2/include/syslimits.h:7,
from
/usr/lib/gcc/i386-redhat-linux5E/4.1.2/include/limits.h:11,
from /usr/include/bits/socket.h:31,
from /usr/include/sys/socket.h:35,
from objs/autotest.c:4:
/usr/include/linux/limits.h:1:2: error: invalid preprocessing directive
#!
/usr/include/linux/limits.h:3:3: error: invalid preprocessing directive
#Copyright
/usr/include/linux/limits.h:5:3: error: invalid preprocessing directive
#This
/usr/include/linux/limits.h:6:3: error: invalid preprocessing directive
#it
/usr/include/linux/limits.h:7:3: error: invalid preprocessing directive
#the
/usr/include/linux/limits.h:8:3: error: invalid preprocessing directive
#any
/usr/include/linux/limits.h:10:3: error: invalid preprocessing directive
#This
/usr/include/linux/limits.h:11:3: error: invalid preprocessing directive
#but
/usr/include/linux/limits.h:12:3: error: invalid preprocessing directive
#MERCHANTABILITY
/usr/include/linux/limits.h:13:3: error: invalid preprocessing directive
#GNU

/usr/include/sys/socket.h:129: error: expected declaration specifiers or
â…â before âsocklen_tâ
/usr/include/sys/socket.h:152: error: expected declaration specifiers or
â…â before âsocklen_tâ
/usr/include/sys/socket.h:163: error: expected declaration specifiers or
â…â before âsocklen_tâ
/usr/include/sys/socket.h:187: error: expected declaration specifiers or
â…â before âsocklen_tâ
/usr/include/sys/socket.h:193: error: expected declaration specifiers or
â…â before âsocklen_tâ
/usr/include/sys/socket.h:210: error: expected declaration specifiers or
â…â before âsocklen_tâ
In file included from objs/autotest.c:7:
/usr/include/netinet/in.h:498: error: expected declaration specifiers or
â…â before âsocklen_tâ
/usr/include/netinet/in.h:505: error: expected declaration specifiers or
â…â before âsocklen_tâ

#include <sys/types.h>
#include <signal.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <netinet/in.h>
#include <inttypes.h>

int main() {
uint64_t i = 0;
return 0;
}


gcc4 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest
objs/autotest.c

In file included from /usr/include/bits/local_lim.h:36,
from /usr/include/bits/posix1_lim.h:153,
from /usr/include/limits.h:144,
from
/usr/lib/gcc/i386-redhat-linux5E/4.1.2/include/limits.h:122,
from
/usr/lib/gcc/i386-redhat-linux5E/4.1.2/include/syslimits.h:7,
from
/usr/lib/gcc/i386-redhat-linux5E/4.1.2/include/limits.h:11,
from /usr/include/bits/socket.h:31,
from /usr/include/sys/socket.h:35,
from objs/autotest.c:4:
/usr/include/linux/limits.h:1:2: error: invalid preprocessing directive
#!
/usr/include/linux/limits.h:3:3: error: invalid preprocessing directive
#Copyright
/usr/include/linux/limits.h:5:3: error: invalid preprocessing directive
#This
/usr/include/linux/limits.h:6:3: error: invalid preprocessing directive
#it
/usr/include/linux/limits.h:7:3: error: invalid preprocessing directive
#the

/usr/include/sys/socket.h:129: error: expected declaration specifiers or
â…â before âsocklen_tâ
/usr/include/sys/socket.h:152: error: expected declaration specifiers or
â…â before âsocklen_tâ
/usr/include/sys/socket.h:163: error: expected declaration specifiers or
â…â before âsocklen_tâ
/usr/include/sys/socket.h:187: error: expected declaration specifiers or
â…â before âsocklen_tâ
/usr/include/sys/socket.h:193: error: expected declaration specifiers or
â…â before âsocklen_tâ
/usr/include/sys/socket.h:210: error: expected declaration specifiers or
â…â before âsocklen_tâ
In file included from objs/autotest.c:7:
/usr/include/netinet/in.h:498: error: expected declaration specifiers or
â…â before âsocklen_tâ
/usr/include/netinet/in.h:505: error: expected declaration specifiers or
â…â before âsocklen_tâ

#include <sys/types.h>
#include <signal.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <netinet/in.h>
#include <inttypes.h>

int main() {
u_int64_t i = 0;
return 0;
}


gcc4 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest
objs/autotest.c

thank you,
Alejandro

On Tue, Jun 16, 2009 at 04:39:16PM +0200, Alejandro Mart??nez wrote:

/usr/include/linux/limits.h:1:2: error: invalid preprocessing directive
#!

It seems you have broken the include file /usr/include/linux/limits.h

Igor S. wrote:

On Tue, Jun 16, 2009 at 04:39:16PM +0200, Alejandro Mart??nez wrote:

/usr/include/linux/limits.h:1:2: error: invalid preprocessing directive
#!

It seems you have broken the include file /usr/include/linux/limits.h

oh my god.

i have a perl script in /usr/include/linux/limits.h

why do i always get the oldest and most fucked up systems to work?

I’m really sorry for all the trouble :(, and thank you a lot for your
time.

I’ll reinstall the libraries, etc and retry.

Thank you again.

Alejandro

Great. Just wanted to let you know that i was able to compile nginx
correctly in this ancient centos :).

Thank you again.
Alejandro

On Tue, 2009-06-16 at 17:18 +0200, Alejandro Martínez wrote:

i have a perl script in /usr/include/linux/limits.h

Have you inspected this script? I’d be concerned that this system
might be compromised.

Regards,
Cliff

Cliff W. wrote:

On Tue, 2009-06-16 at 17:18 +0200, Alejandro Martínez wrote:

i have a perl script in /usr/include/linux/limits.h

Have you inspected this script? I’d be concerned that this system
might be compromised.

Regards,
Cliff

this is what it had:

[root@s164 nginx-0.8.1]# cat /usr/include/linux/limits.h
#!/usr/bin/perl

Copyright © 2003 Simon Josefsson

This program is free software; you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation; either version 2, or (at your option)

any later version.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License

along with this program; if not, write to the Free Software

Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA

02111-1307, USA.

I consider the output of this program to be unrestricted. Use it as

you will.

while (<>) {
s, * @(.*):, * \param $1,g;
print $_;
}
ct/gobject-Type-Information.html#g-type-init-with-debug-flags">








































… ad infinitum.

Which looks at least suspicious. I don’t remember much about pearl, but
it seems to extract domains from e-mail addresses :|.

I know very little about security, so i’ve escalated this to the
sysadmins. But if anyone has any ideas or seen something like this
before, comments or recommendations are welcome.

Thank you.

Cliff W. wrote:

On Tue, 2009-06-16 at 20:58 +0200, Alejandro Martínez wrote:

any later version.





… ad infinitum.

This doesn’t look like it would actually do anything (it ceases to be
valid Perl syntax after the first closing brace, and the Perl itself
doesn’t do much either).

It’s possible someone with root just fat-fingered it and overwrote that
file with junk.

Another possibility is you’ve got filesystem corruption and/or
cross-linked files (which is what it looks like to me). At the very
least I’d fsck this box, check your logs for unusual errors and run
memtest86 on it overnight (bad RAM = corrupt FS).

If everything comes back clean, then I’d still consider reinstalling
all the existing packages, followed by checking for .rpmnew packages
anywhere except /etc (rpm won’t usually overwrite changed files).

In any case, I’d seriously hesitate to put this system into production
in its current state. Is there some reason you don’t wipe it and
reinstall (maybe even a newer version of CentOS?).

Cliff

There seems to have been data corruption. The raid setup seems to be
falling apart and the sysadmins are looking into it.

I reinstalled the packages for the header files i needed, and now nginx
compiles with no problems.

The machine has been in production for years before i came here :P, and
i’m trying to put some pressure to have their OS upgraded. Fingers
crossed :P.

Thank you :slight_smile:

Alejandro

On Tue, 2009-06-16 at 20:58 +0200, Alejandro Martínez wrote:

any later version.





… ad infinitum.

This doesn’t look like it would actually do anything (it ceases to be
valid Perl syntax after the first closing brace, and the Perl itself
doesn’t do much either).

It’s possible someone with root just fat-fingered it and overwrote that
file with junk.

Another possibility is you’ve got filesystem corruption and/or
cross-linked files (which is what it looks like to me). At the very
least I’d fsck this box, check your logs for unusual errors and run
memtest86 on it overnight (bad RAM = corrupt FS).

If everything comes back clean, then I’d still consider reinstalling
all the existing packages, followed by checking for .rpmnew packages
anywhere except /etc (rpm won’t usually overwrite changed files).

In any case, I’d seriously hesitate to put this system into production
in its current state. Is there some reason you don’t wipe it and
reinstall (maybe even a newer version of CentOS?).

Cliff

On Tue, 2009-06-16 at 22:22 +0200, Alejandro Martínez wrote:

There seems to have been data corruption. The raid setup seems to be
falling apart and the sysadmins are looking into it.

I’m assuming it’s a Dell PowerVault on a PERC3/4 controller :wink:

Cliff