Technical Notes
Technical Abbreviations Database
TN0004: Getting TenDRA 4.1.2 compiled on a SuSE 7.1 system
This document explains which changes have to be made to the TenDRA-4.1.2.tar.gz file dating back to June 30, 1998 in order to get it compiled on an almost current SuSE 7.1 distribution (kernel 2.2.18, gcc 2.95.2)
All the changes have been discoverd and integrated in the debian release by Mark Brown (broonie@debian.org), so this work has to be attributed to him. My work is based on his diff file downloaded from http://ftp.debian.org/debian/pool/main/t/tendra/tendra_4.1.2-8.diff.gz. I used TenDRA-4.1.2.tar, 25978880 bytes, June 30, 1998, and unpacked its contents into /home/ck/TenDRA-4.1.2/. I printed out the diffs from the unstable Debian version tendra_4.1.2-8 ( http://packages.debian.org/unstable/devel/tendra.html ).
First, I modified /home/ck/TenDRA-4.1.2/INSTALL as follows: In order to not polute my system, I set the directories as follows:

According to the patch, I also set the CC-command as "cc -O2 -D_POSIX_SOURCE" Then I examined the debian diff file, and manually applied the important changes:
TenDRA-4.1.2/src/lib/apis/xpg3/sys/shm.h: As in the patch
In order not to copy a gcc file, I deviated from the patch and used :
+CRT1   "/usr/lib/crti.o /usr/lib/gcc-lib/i486-suse-linux/2.95.2/crtbegin.o"
+CRTN	"/usr/lib/gcc-lib/i486-suse-linux/2.95.2/crtend.o /usr/lib/crtn.o"
I left out the creation of the new directory ../80x86.old/. I also ignored the patch entries that created backup copies in this directory
New File TenDRA-4.1.2/src/lib/machines/linux/80x86/include/bits/posix1_lim.h: There seems to be a missing underscore in the define!
New File TenDRA-4.1.2/src/lib/machines/linux/80x86/include/bits/types.h
Then I did an INSTALL. As before, I got the /usr/include/gconv.h (171) : Array bound can't be zero error. So I had to temporarily comment the line out. Specifying -nepc -not_ansi in line 703 of the INSTALL file so that it reads
TDI=${DIAG_CC} -Fj -Ybuilding -Y32bit -nepc -not_ansi -I\${BASE}/include ${SYS_INCLUDES}
does not fix this problem. (The datastructure in question is:
typedef struct __gconv_info
  size_t __nsteps;
  struct __gconv_step *__steps;
/*   __extension__ struct __gconv_step_data __data[0]; temporary commented out*/
} *__gconv_t;
After these changes, everything builds!
More Information about TenDRA, TDF, and ANDF
http://www.andf.org/ The ANDF Consortium. ANDF is the successor to TDF. This site contains links to all current developments.
http://www.rob-andrews.demon.co.uk/tendra/ Rob Andrew's unofficial web site.
http://www.ddci.com/ The Danish company DDC-I which develops ANDF based compilers.
http://packages.debian.org/stable/devel/tendra.html, http://packages.debian.org/stable/devel/tendra.html The Debian port of TenDRA
(c) 2001 by Carsten Kuckuk, Ludwigsburg, Germany, E-Mail: ck@kuckuk.com

Document History
First Version: August 22, 2001


If you have any questions, please send e-mail to Carsten Kuckuk at .