Hello Daniel, thank you for the missing file vsp10a.
I tried several different compilers: the gcc-2.95, the Compaq C Compiler (from OSF1, which is also available for LINUX on Alpha) and the gcc-3.0. It emerged, that the ggc-3.0 seems to be the best compiler for SAPDB. There is another change in the sources for LINUX on Alpha in the file RTE_Types.h needed: The old code is (line 120-126): #if defined(ALPHA) typedef SAPDB_Long RTE_Lock[1]; /* atomic_p is a pointer to a long on ALPHA */ #endif #if defined(AIX) || defined(SUN) || defined(LINUX) && !defined(ALPHA) typedef SAPDB_Int4 RTE_Lock[1]; /* atomic_p is a pointer to a 32bit word on AIX */ #endif To remove a duplicate typedef for RTE_Lock I changed it to: #if defined(ALPHA) typedef SAPDB_Long RTE_Lock[1]; /* atomic_p is a pointer to a long on ALPHA */ #endif #if (defined(AIX) || defined(SUN) || defined(LINUX)) && !defined(ALPHA) typedef SAPDB_Int4 RTE_Lock[1]; /* atomic_p is a pointer to a 32bit word on AIX */ #endif When I'm starting the build database manager with the command: > imf dbmcli I got the following error during linking: dbmcli.lnk fast ../obj/cn/vcn14.o: In function `cn14connectDBMTp': ../obj/cn/vcn14.o(.text+0x128): the use of `tmpnam' is dangerous, bette\ r use `mkstemp' ../obj//enalib.a(ven32c-s.o): In function `sql32_lock_comseg': ven32c-s.o(.text+0x5ac): undefined reference to `e76_interlock' ven32c-s.o(.text+0x5b0): undefined reference to `e76_interlock' ../obj//enalib.a(ven32c-s.o): In function `sql32_unlock_comseg': ven32c-s.o(.text+0x608): undefined reference to `e76_clearlock' ven32c-s.o(.text+0x60c): undefined reference to `e76_clearlock' collect2: ld returned 1 exit status Error while executing c++ -o dbmcli -L/home/mreichst/tools/sapdb/DevToo\ ls/lib -L/home/mreichst/tools/sapdb/V73_00_25/SAPDB_DEV/usr/lib s100buil\ dnumber_PID14650.o ../obj/cn/vcn12.o ../obj/cn/vcn13.o ../obj/cn/vcn14.o\ ../obj//cservlib.a ../obj//zlib.a ../obj//splib.a ../obj//eoxlib.a ../o\ bj//enalib.a ../obj//enblib.a /home/mreichst/tools/sapdb/DevTools/lib/li\ bsqlptc.a /usr/lib/libncurses.a -lm -lcrypt -lpthread message: COMMAND error 1 19-09-02 08:22:46 end of dbmcli.lnk fast So this means, that the symbols `e76_interlock' and `e76_clearlock' are not found during linking. As I find out, they are defined in /en/ven76a - but why are they not in any library? Manfred Reichstein T-Systems GEI GmbH Systems Integration Address: Goebelstra�e 1-3, D-64293 Darmstadt Postal address: Postfach 10 06 45, 64206 Darmstadt Germany Phone: +49 (61 51) 8 20-9440 Fax: +49 (61 51) 8 20-9990 E-Mail: [EMAIL PROTECTED] Internet: http://www.t-systems.com -----orginal message----- Von: Dittmar, Daniel [mailto:[EMAIL PROTECTED]] Gesendet: Freitag, 6. September 2002 18:40 An: 'Reichstein, Manfred'; '[EMAIL PROTECTED]' Betreff: RE: Porting sapdb to Linux on Alpha - Is it possible? > The first problem occured with the PASCALtoC converter ptoc: > when starting > it, the result was an segmentaion fault. > The documentation says you should use the 32-bit switch of > the compiler. But > I found none for my gcc-2.95 on Alpha! You might try the following patch: diff -Ndpur buildtools.orig/sys/src/base/ptoc/common/stab.h buildtools/sys/src/base/ptoc/common/stab.h --- buildtools.orig/sys/src/base/ptoc/common/stab.h Thu Apr 25 18:02:05 2002 +++ buildtools/sys/src/base/ptoc/common/stab.h Wed Jun 12 09:42:10 2002 @@ -22,7 +22,7 @@ /* stab.c */ -#define StabLength 32768 +#define StabLength (32768*6) #define StringSemanticsOffset 3 #define StringSemantics(StrNdx) StrTable [StrNdx + StringSemanticsOffset] I haven't tried it myself, but it seems to be essential on 64bit platforms > There is a version of sapdb available for OSF1 on Alpha - how did they > compile it there? SAP DB compiles cleanly for 64bit. It's the Pascal compiler that's making problems. There is an option on OSF1 such that all addresses are in 32bit space and we used that one for the ptoc tool. > 1. Missing file vsp10a when building splib.lib: > To build the library splib.lib the file vsp10a is needed, > but not found. > The message is "ERROR: Missing source 'vsp10a'" > How or where can I get that file? My fault. I only packed the sources required to build SAP DB on Linux and Windows, because I thought that Linux would cover the other Unix platforms. You can find the file at ftp://ftp.sap.com/pub/sapdb/7.3/missing-files/vsp10a. > 2. The constant COMP_NAME_RTE_SP100 is not defined in ven903c.c: > It is defined for LINUX on I386 or IA64 and for OSF1 on > ALPHA, but not > for LINUX on ALPHA. > So how should I define this constant? Go into sys/src/en/gen00.h and change # if defined(LINUX) && (defined(I386) || defined(IA64)) # define COMP_NAME_RTE_SP100 COMP_NAME_RTE_INTRO_SP100 "LINUX" # endif to # if defined(LINUX) && (defined(I386) || defined(IA64) || defined (ALPHA)) > In addition there are a lot of warning like "for conversions from > 'tsp00_Pathc' to 'const char *'" when compiling the cpp code. Is this > normal? tsp00_Pathc is a C++ class which should have a conversion to char *, so I dont know why the compiler should complain at all. Daniel Dittmar -- Daniel Dittmar SAP DB, SAP Labs Berlin [EMAIL PROTECTED] http://www.sapdb.org/ _______________________________________________ sapdb.general mailing list [EMAIL PROTECTED] http://listserv.sap.com/mailman/listinfo/sapdb.general
