I am having problems compiling LPRng 3.7.2 and ifhp 3.4.3 on Tru64 V4.0E and
Tru64 V4.0F with GCC V2.95.2.
For LPRng there are three areas with problems.
First is src/common/getqueue.c. It has three places where there are debug
statements that are printing out the GDBM file structure. But the file handle is
a pointer and the debug statement is trying to cast it to an INT. On the Alpha
an INT is 32 bits but a pointer is 64 so there are compiler warnings and that
causes the compile to fail.
My fix is to change the printf to use %p and pass the file handle as a pointer.
See patch below.
The second problem is that the configure script believes that setenv and
unsetenv exist when they do not. I was able to manually change the config.h file
and get past this but why does configure believe that these are defined?
The last problem is in lockfile.c. It uses flock but flock is not declared
anywhere so the compiler complains. This appears to be a problem with Tru64 as I
could not find a declaration of flock() in any header file. I patched lockfile.c
to declare the function. See the patch below.
For ifhp there are at least two areas with problems.
First, ifhp-3.4.3 has the same problem with setenv and unsetenv. The configure
script believes that they exist when they do not.
Second, ifhp has places where a char is used as an index (e.g., ifhp.c line
2113). This causes a compiler warning which causes the compile to abort also.
Have a happy holiday and a happy new year. We'll see you in the next millennium.
- Justus
*** getqueue.c.orig Wed Dec 20 07:40:23 2000
--- getqueue.c Thu Dec 21 10:58:14 2000
***************
*** 223,230 ****
if( !write_db ){
Close_gdbm();
}
! DEBUG1("Scan_queue: gdbm_file 0x%x, gdbm file fd %d, lock fd %d",
! (int)gdbm_file, gdbm_file?gdbm_fdesc(gdbm_file):-1, gdbm_lock );
#endif
if(DEBUGL5){
--- 223,230 ----
if( !write_db ){
Close_gdbm();
}
! DEBUG1("Scan_queue: gdbm_file 0x%p, gdbm file fd %d, lock fd %d",
! gdbm_file, gdbm_file?gdbm_fdesc(gdbm_file):-1, gdbm_lock );
#endif
if(DEBUGL5){
***************
*** 2468,2475 ****
FATAL(LOG_ERR)"Open_dgbm: open of DB file '%s' failed, %s",
Queue_db_file_DYN, gdbm_strerror(gdbm_errno) );
}
! DEBUG1("Open_gdbm: gdbm_file 0x%x, gdbm file fd %d, lock fd %d",
! (int)gdbm_file, gdbm_file?gdbm_fdesc(gdbm_file):-1, gdbm_lock );
}
#endif
return( 1 );
--- 2468,2475 ----
FATAL(LOG_ERR)"Open_dgbm: open of DB file '%s' failed, %s",
Queue_db_file_DYN, gdbm_strerror(gdbm_errno) );
}
! DEBUG1("Open_gdbm: gdbm_file 0x%p, gdbm file fd %d, lock fd %d",
! gdbm_file, gdbm_file?gdbm_fdesc(gdbm_file):-1, gdbm_lock );
}
#endif
return( 1 );
***************
*** 2479,2486 ****
void Close_gdbm(void)
{
#ifdef HAVE_GDBM_H
! DEBUG1("Close_gdbm: gdbm_file 0x%x, gdbm file fd %d, lock fd %d",
! (int)gdbm_file, gdbm_file?gdbm_fdesc(gdbm_file):-1, gdbm_lock );
if( gdbm_file ){
gdbm_close( gdbm_file );
close( gdbm_lock );
--- 2479,2486 ----
void Close_gdbm(void)
{
#ifdef HAVE_GDBM_H
! DEBUG1("Close_gdbm: gdbm_file 0x%p, gdbm file fd %d, lock fd %d",
! gdbm_file, gdbm_file?gdbm_fdesc(gdbm_file):-1, gdbm_lock );
if( gdbm_file ){
gdbm_close( gdbm_file );
close( gdbm_lock );
-----------------------------------------------------------------------------
YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST
The address you post from MUST be your subscription address
If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body. For the impatient,
to subscribe to a list with name LIST, send mail to [EMAIL PROTECTED]
with: | example:
subscribe LIST <mailaddr> | subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr> | unsubscribe lprng [EMAIL PROTECTED]
If you have major problems, send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------