Mailing List Archive

[gnupg-0.2.17] SunOS 4.1.4 + gcc 2.7.2.2: a few portability glitches
Hi.

This mail contains descriptions of problems, but (intentionaly) no
fixes. FYI, I am a Canadian citizen. (I am not sure exactly what
this implies in term of what I can contribute, but it's better for me
to state it before you decide to read the rest.)

I tried to configure and make on

SunOS 4.1.4
gcc 2.7.2.2

with

LINGUAS='fr en' sh ./configure --verbose \
--with-included-zlib \
--with-included-gettext

Here are excerpts from the make output:

ttyio.c:96: warning: implicit declaration of function `strerror'
ttyio.c:96: warning: format argument is not a pointer (arg 2)
...
mpicoder.c:310: warning: implicit declaration of function `memmove'
...
collect2: ld returned 2 exit status
ld: Undefined symbol
_memmove
_strerror


SunOS doesn't have strerror. Don't look in /usr/X11R6/include/X11/Xos.h
for inspiration, because it does contain a (non GPL) macro for it.

SunOS also doesn't have memmove, but it does have bcopy.

tiger.c: In function `transform':
tiger.c:709: warning: left shift count >= width of type
...
tiger.c:716: warning: left shift count >= width of type

BIG_ENDIAN_HOST is defined on Sun and also byte == unsigned char and
u64 == unsigned long long. But ((byte) << n), where n >= 8, is zero.
The problem is that byte is not typecast to u64 before it is shifted.
(The solution to this problem is intentionaly left out. :-)


Charles

PS: I am not on the mailing list; I just followed the bug report
instructions in the README file and sent this here. So please use Cc
if necessary.)
Re: [gnupg-0.2.17] SunOS 4.1.4 + gcc 2.7.2.2: a few portability glitches [ In reply to ]
Charles Levert <charles@comm.polymtl.ca> writes:

> Here are excerpts from the make output:
>
> ttyio.c:96: warning: implicit declaration of function `strerror'
> ttyio.c:96: warning: format argument is not a pointer (arg 2)
> ...
> mpicoder.c:310: warning: implicit declaration of function `memmove'

Okay, I'll fix this.

> SunOS also doesn't have memmove, but it does have bcopy.

I have no SunOS here, so I'll will fix this blind and hope you
can compile the next release.

> BIG_ENDIAN_HOST is defined on Sun and also byte == unsigned char and
> u64 == unsigned long long. But ((byte) << n), where n >= 8, is zero.
> The problem is that byte is not typecast to u64 before it is shifted.

I know this from m68k-linux. I already fixed it here. I usually do
test only on a 486, 586 and Alpha with Linux (from time to time with
FreeBSD or Hurd)

> (The solution to this problem is intentionaly left out. :-)

:-)


Werner
Re: [gnupg-0.2.17] SunOS 4.1.4 + gcc 2.7.2.2: a few portability glitches [ In reply to ]
On Thu, 7 May 1998, Werner Koch wrote:

> I have no SunOS here, so I'll will fix this blind and hope you
> can compile the next release.

Werner, if it'd be useful to you, I can probably get you a SunOS 4.1.3,
4.1.4 and Solaris 2.4 accounts to test on. [. I should really do the
testing myself though ... since I already have the accounts ].

Also, just to let you know I'm kicking off a mirror in .au;
ftp.progsoc.uts.edu.au:/pub/gnupg/ should be finished pretty soon.

Anand.

--
`When any government, or any church for that matter, undertakes to say to
its subjects, "This you may not read, this you must not see, this you are
forbidden to know," the end result is tyranny and oppression no matter how
holy the motives' -- Robert A Heinlein, "If this goes on --"