|
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) Credits 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: BASE_DIR=/home/ck/TenDRA-4.1.2 PUBLIC_BIN=/home/ck/TenDRA-4.1.2/bin INSTALL_DIR=/home/ck/TenDRA-4.1.2/lib/TenDRA COMMON_DIR=${INSTALL_DIR}/lib MACH_DIR=${INSTALL_DIR}/machines MAN_DIR=/home/ck/TenDRA-4.1.2/man 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 TenDRA-4.1.2/src/lib/env/linux/elf/80x86/default.extra: 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"TenDRA-4.1.2/src/lib/env/linux/elf/80x86/tcc_prof 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 TenDRA/src/lib/machines/linux/80x86/startup/xpg3.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 Questions? If you have any questions, please send e-mail to Carsten Kuckuk at . |