id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	branch_state	votes
1957	MC 4.7.0.1 on AIX - several build problem	tammer	slavazanko	"Hello,
I just tried to upgrade mc (from 4.6.2 to 4.7.0.1) on AIX. There are several build problem (with IBM XL C) on AIX.

1. src/tty/tty-ncurses.c

-    cur_term->Nttyb.c_cc[VINTR] = CTRL ('g'); /* ^g */
+    cur_term->Nttyb.c_cc[VINTR] = unctrl ('g'); /* ^g */

CTRL() is not there, I have used unctrl() instead.

2. src/unixcompat.h

 #if defined(_AIX) && defined(HAVE_SYS_SYSMACROS_H)
 # include <sys/sysmacros.h>    /* AIX */
+# include <time.h>             /* AIX tm */
 #endif

I had to add <time.h> because tm as undefined

3. vfs/direntry.c 

-#include <sys/fcntl.h>
+#if defined(_AIX)
+#  include <fcntl.h>
+#else
+#  include <sys/fcntl.h>
+#endif

The directory for fcntl.h was not correct. This should be changed in the configure system.

4. vfs/vfs.c

+#if defined(_AIX) && !defined(NAME_MAX)
+#define NAME_MAX FILENAME_MAX
+#endif

This is a bit fuzzy but it should work

5. Makefile

CFLAGS =  -fdiagnostics-show-option ...

The -fdiagnostics-show-option does not work with cc_r (IBM XL C). Unfortunately the configure test is not catching this.

6. Screen library

The flag  --with-screen=mcslang is no longer working because the slang library is no longer bundled. The bundled version was very good on AIX...

7. opendir()

In mc opendir() is used even if large file support is on. This leads to problems as the opendir() can not handle large inodes (> 32 bit). It would be a good idea to use the XXX64() versions if large file support is enabled.

Bye
  Rainer"	defect	closed	major	4.7.1	mc-core	4.7.0.1	fixed	AIX build					committed-master committed-stable
