Bug#109378: vic: Patch to allow build on ia64
Package: vic
Version: N/A; reported 2001-10-10
The following patch should allow the software to build on ia64.
I make no guarantees as to whether the software runs properly, because
there are over 1200(!) warnings in the build log even with this patch.
The package also requires a config.sub/guess update.
diff -Naur vic-2.8ucl1.1.3.orig/vic/codec/encoder-jpeg.cpp vic-2.8ucl1.1.3/vic/codec/encoder-jpeg.cpp
--- vic-2.8ucl1.1.3.orig/vic/codec/encoder-jpeg.cpp Fri Nov 5 06:36:07 1999
+++ vic-2.8ucl1.1.3/vic/codec/encoder-jpeg.cpp Wed Oct 10 14:23:18 2001
@@ -138,8 +138,8 @@
int flush(pktbuf* pb, int nbit, pktbuf* npb);
int encode(const VideoFrame*);
void encode_blk(const short* blk, short* dcpred,
- struct JpegEncoder::huffentry* dcht,
- struct JpegEncoder::huffentry* acht);
+ const struct JpegEncoder::huffentry* dcht,
+ const struct JpegEncoder::huffentry* acht);
void encode_mcu(u_int mcu, const u_char* frm);
void fdct(const u_char* in, int stride, short* out, const float* qt);
@@ -162,6 +162,11 @@
u_int nmcu_;
u_char w_; /* divided by 8 */
u_char h_;
+
+ static const struct JpegEncoder::huffentry JpegEncoder::ldht[];
+ static const struct JpegEncoder::huffentry JpegEncoder::cdht[];
+ static const struct JpegEncoder::huffentry JpegEncoder::laht[];
+ static const struct JpegEncoder::huffentry JpegEncoder::caht[];
};
static class JpegEncoderMatcher : public Matcher {
@@ -194,15 +199,33 @@
99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99 };
-static struct JpegEncoder::huffentry ldht[] = {
+static const char ss[] = {
+ 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 };
+
+ const struct JpegEncoder::huffentry JpegEncoder::ldht[] = {
{0x0, 2}, {0x2, 3}, {0x3, 3}, {0x4, 3}, {0x5, 3}, {0x6, 3},
{0xe, 4}, {0x1e, 5}, {0x3e, 6}, {0x7e, 7}, {0xfe, 8}, {0x1fe, 9}};
-static struct JpegEncoder::huffentry cdht[] = {
+ const struct JpegEncoder::huffentry JpegEncoder::cdht[] = {
{0x0, 2}, {0x1, 2}, {0x2, 2}, {0x6, 3}, {0xe, 4}, {0x1e, 5}, {0x3e, 6},
{0x7e, 7}, {0xfe, 8}, {0x1fe, 9}, {0x3fe, 10}, {0x7fe, 11}};
-static struct JpegEncoder::huffentry laht[] = {
+ const struct JpegEncoder::huffentry JpegEncoder::laht[] = {
{0x0a, 4}, {0x00, 2}, {0x01, 2}, {0x04, 3},
{0x0b, 4}, {0x1a, 5}, {0x78, 7}, {0xf8, 8},
{0x3f6, 10}, {0xff82, 16}, {0xff83, 16}, {0x00, 0},
@@ -268,7 +291,7 @@
{0xfffc, 16}, {0xfffd, 16}, {0xfffe, 16}, {0x00, 0},
{0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0} };
-static struct JpegEncoder::huffentry caht[] = {
+ const struct JpegEncoder::huffentry JpegEncoder::caht[] = {
{0x00, 2}, {0x01, 2}, {0x04, 3}, {0x0a, 4},
{0x18, 5}, {0x19, 5}, {0x38, 6}, {0x78, 7},
{0x1f4, 9}, {0x3f6, 10}, {0xff4, 12}, {0x00, 0},
@@ -334,23 +357,6 @@
{0xfffc, 16}, {0xfffd, 16}, {0xfffe, 16}, {0x00, 0},
{0x00, 0}, {0x00, 0}, {0x00, 0}, {0x00, 0} };
-static const char ss[] = {
- 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 };
JpegEncoder::JpegEncoder() : TransmitterModule(FT_JPEG),
bb_(0), nbb_(0), bs_(0), bc_(0), offset_(0), quant_(0),
@@ -461,7 +467,8 @@
void
JpegEncoder::encode_blk(const short* blk, short* dcpred,
- struct huffentry* dcht, struct huffentry* acht)
+ const struct huffentry* dcht,
+ const struct huffentry* acht)
{
BB_INT bb = bb_;
u_int nbb = nbb_;
diff -Naur vic-2.8ucl1.1.3.orig/vic/config.h vic-2.8ucl1.1.3/vic/config.h
--- vic-2.8ucl1.1.3.orig/vic/config.h Fri Dec 10 11:25:31 1999
+++ vic-2.8ucl1.1.3/vic/config.h Wed Oct 10 09:49:13 2001
@@ -126,13 +126,10 @@
#endif
#include <netinet/in.h>
#include <arpa/inet.h>
-int strcasecmp(const char *, const char *);
-clock_t clock(void);
+#include <time.h>
#if !defined(sco) && !defined(sgi) && !defined(__bsdi__) && !defined(__FreeBSD__) && !defined(sun) && !defined(__linux__)
int gethostid(void);
#endif
-time_t time(time_t *);
-char *ctime(const time_t *);
#if defined(__cplusplus)
}
#endif
diff -Naur vic-2.8ucl1.1.3.orig/vic/main.cpp vic-2.8ucl1.1.3/vic/main.cpp
--- vic-2.8ucl1.1.3.orig/vic/main.cpp Thu Feb 17 07:59:09 2000
+++ vic-2.8ucl1.1.3/vic/main.cpp Wed Oct 10 09:40:10 2001
@@ -168,11 +168,7 @@
} cmd_usage;
#ifndef SIGARGS
-#ifdef __SUNPRO_CC
#define SIGARGS int arg
-#else
-#define SIGARGS ...
-#endif
#endif
extern void adios();
diff -Naur vic-2.8ucl1.1.3.orig/vic/net/net-ipv6.cpp vic-2.8ucl1.1.3/vic/net/net-ipv6.cpp
--- vic-2.8ucl1.1.3.orig/vic/net/net-ipv6.cpp Wed Oct 10 14:49:12 2001
+++ vic-2.8ucl1.1.3/vic/net/net-ipv6.cpp Wed Oct 10 11:25:13 2001
@@ -278,7 +278,7 @@
size_t len = sizeof(*p);
int result = 0;
- if ((result = getsockname(ssock_, (struct sockaddr *)p, &len)) < 0) {
+ if ((result = getsockname(ssock_, (struct sockaddr *)p, (socklen_t *)&len)) < 0) {
perror("getsockname");
p->sin6_addr = in6addr_any;
p->sin6_port = 0;
@@ -523,7 +523,7 @@
sockaddr_in6 sfrom;
size_t fromlen = sizeof(sfrom);
int cc = ::recvfrom(fd, (char*)buf, len, 0,
- (sockaddr*)&sfrom, &fromlen);
+ (sockaddr*)&sfrom, (socklen_t *)&fromlen);
if (cc < 0) {
if (errno != EWOULDBLOCK)
perror("recvfrom");
diff -Naur vic-2.8ucl1.1.3.orig/vic/render/histtolut/histtolut.cpp vic-2.8ucl1.1.3/vic/render/histtolut/histtolut.cpp
--- vic-2.8ucl1.1.3.orig/vic/render/histtolut/histtolut.cpp Tue Dec 14 09:50:03 1999
+++ vic-2.8ucl1.1.3/vic/render/histtolut/histtolut.cpp Wed Oct 10 14:23:46 2001
@@ -51,6 +51,7 @@
#ifndef WIN32
#include <unistd.h>
#include <strings.h>
+#include <string.h>
#endif
#include <stdio.h>
#include <sys/types.h>
diff -Naur vic-2.8ucl1.1.3.orig/vic/render/ppmtolut/ppmtolut.c vic-2.8ucl1.1.3/vic/render/ppmtolut/ppmtolut.c
--- vic-2.8ucl1.1.3.orig/vic/render/ppmtolut/ppmtolut.c Thu Sep 9 07:38:28 1999
+++ vic-2.8ucl1.1.3/vic/render/ppmtolut/ppmtolut.c Wed Oct 10 12:53:15 2001
@@ -44,6 +44,8 @@
#include <stdio.h>
#include <sys/types.h>
#include <math.h>
+#include <stdlib.h>
+#include <unistd.h>
#ifdef WIN32
#include <winsock.h>
#endif
-- System Information
Debian Release: testing/unstable
Architecture: ia64
Kernel: Linux butthead 2.4.9-itanium-smp #1 SMP Mon Sep 17 20:48:35 MDT 2001 ia64
Locale: LANG=C, LC_CTYPE=
Reply to: