Home
 
 Technical Notes
 
 DPSG-STR
 
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)
 
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 .