Ticket #1957 (closed defect: fixed)
MC 4.7.0.1 on AIX - several build problem
| Reported by: | tammer | Owned by: | slavazanko |
|---|---|---|---|
| Priority: | major | Milestone: | 4.7.1 |
| Component: | mc-core | Version: | 4.7.0.1 |
| Severity: | merged | Keywords: | AIX build |
| Cc: | Votes for changeset: | committed-master committed-stable | |
| Blocking: | Blocked By: |
Description
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


