home  |  sitemap  |  kontakt  





SapDB for FreeBSD

I-a.) Disclaimer

I am NOT responsible for ANY harm, you do to your servers, data or anything,
by using this howto / scripts and/or binaries.

Suggestions, HELP and ANY useful informations are welcome at sapdb@komadev.de

All registered trademarks and logos are property of their respective owner(s).

I-b.) Wanted :

People interested in porting SAPDB, giving FreeBSD a powerful FREE database system.

Do YOU :

(Speak German || English ) && have time && do it voluntary && ( code C/C++ || have FreeBSD system knowledge || even have FreeBSD kernel / threading knowledge || come from SAP or coded for SAP )

Contact me at sapdb@komadev.de


Overview / General Informations :

Porting SAPDB began on 17/12/2002 with SAPDB 7.3.0 on FREEBSD 5.0
The port is done on FreeBSD 5.x because it seems to be the future FreeBSD System.
Chances for a backport to 4.x are high, as long as we are using the oversized linuxthreads.

Development environment looks like :

  • System 1) FreeBSD 5.2-CURRENT (2003-Jul-30)
  • System 1) AMD Duron 1300 CPU / 1024 MB RAM
  • System 1) gcc version 3.2.3
  • System 1) kse (Kernel Scheduling Entities / kernel threads)
  • System 2) FreeBSD 5.2-RELEASE
  • System 2) AMD Athlon XP2400 CPU / 512 MB RAM
  • System 2) gcc version 3.2.1 [FreeBSD] 20021119 (release)
  • System 2) kse (Kernel Scheduling Entities / kernel threads)

 

  • perl, v5.6.1 built for i386-freebsd
  • Python 2.2.2
  • gmake 3.8


Still To Do:

ToDo List
Job Description

in progress

not started

Native FreeBSD threading based on the kse facility.

done

 

Application tests against SapDB

X

 

Create and use native current DevTools

X

 

Minor bugfixing to achieve a "release"-level

X

 

Quality Assurance Tests

X

 

Port update from SAPDB 7.4.3.10 to 7.4.3.27

done

 

Test of the client drivers

X

 

Running as user "sapdb" instead of "root"

done

 

CVS Source Import

 

X

Source Patch File

done

 

"FreeBSD-Port" generation

X

 

"FreeBSD-Package" generation

X

 

SAPs Single and Multi-User tests

 

X

Performance tests + optimizations

 

X


I.) Port of the SAPDB Development Tools

Compiled binary package can be downloaded on the => Download page

Since 7.4.3.25, we use the linux-devtools patched with FreeBSD compiled libraries.
! linux_base-7 or linux_base-7 required !


II.) Port of the SAPDB Client Drivers

The port of the ALL client drivers (but untested, thus beta)

Perl : PORTED, TESTED, WORKING (build-421)

ODBC: PORTED, TESTED, WOORKING (build-421)

JAVA: PORTED, NOT TESTED

PYTHON: PORTED, TESTED, WORKING (build-421)

Please report sucessful tests ! (Unsucessful too ;)


III.) Port of the SAPDB Server

The port is so far usable for the first steps. Get a beta preview in the Download area.

Already Tested and Working in the Beta Version (Build-421) :

  • Database instance creation
  • Database backup to file with DBMGui
  • Database restore from file with DBMGui
  • Database-User creation
  • Table creation
  • INSERT/DELETE/SELECT Queries against tables
  • Connecting with a SAPDB-ODBC client
  • Using AutoLog
  • Redo Logs (on system crash)
  • mnoGoSearch 3.1.2, the powerful DB based web search engine 
  • SapDB compiled against libkse (native kernel threads in FreeBSD 5.1+)

Attention FreeBSD 5.1 users :

In general its advised to use a FreeBSD 5.2-RELEASE or newer.

Due to a mismatch between linuxthreads and libc in FreeBSD 5.1, the system creates an infinite loop,
rendering the database system unusable.

Please use kernel threads (libkse) versions (build-516 or higher) only, which also should run faster than the linuxthreaded version.

 

Important : The kernel threaded version is linked against libc_r, which is normaly using standart threading, thus leading to database unusable (you will get a 100% load, and nothing else).

 

To make the sapdb use libkse, you can

 

  • link libc_r.so to libkse.so (not recomended)
  • recompile rtld, by doing
    #cd  /usr/src/libexec/rtld-elf
    #make clean; make depend && make -DWITH_LIBMAP && make install

    and then
    add the entries

    libc_r.so.5 libkse.so.1
    libc_r.so   libkse.so
     
    to your /etc/libmap.conf.

Furthermore, when using kernel threads (libkse), you should be running a FreeBSD 5.1-CURRENT from September or later, as the kernel threading facility is still under development.

IV.) Getting the sources

The source patch file for Version 7.4.03.27 is available on the Download Page

V.) Building the sources

Requirements :

  • FreeBSD 5.1, FreeBSD 5.2-RELEASE or newer recommended
  • linux_base 7 
  • python 2.2
  • wget

Howto build :

  • Get the "Source build devtools", containing an autoconf script for a simple build process
  • unpack the devtools
  • invoke "./configure"
  • say yes when your are asked to download the sources and the patches
  • files are now downloaded, the sources are patched and a Makefile is created
  • source in the file Environment
  • invoke "gmake all"

Known Problems to be solved for a "FreeBSD-port" :

  • use fetch instead of wget
  • check for python 2.2 (add BUILD_DEPEND to lang/python22)
  • the "Environment" file should become part of the Makfile
  • "gmake all" currently builds directly to /usr/local/sapdb, it should be building to a temp folder, and be moved there on "gmake install"
  • more autoconf interfaces for customizing the build
  • native devtools
  • get rid of the "binary patch", containing a python binary and some desc files yet.
  • more Makefile targets (i.e. for building the client drivers only)

 

 

» Externe Links

FreeBSD Homepage

[Mehr]

FreeBSD KSE

[Mehr]

SAP DB Homepage

[Mehr]



» Interne Links

Downloads

[Mehr]




 Über Uns
 Time Control 10,0
 Essensausgabe
 NetMan
 Bibliotheken
 Windows Admin Daemon³²
 Remote Admin Boot
 Secure TS
 Beratung
 System Management
 WinDock
 SapDB for FreeBSD
 Downloads
 FreshX
 SUCCES
 Kiehle & Partner
 HIPO
 Impressum
 Kontakt
 Hauptfenster
 Gruppenfenster
 Ausdruckbeispiele
 Neuerungen
 Branchenlösungen...
 Bestellungen/ Fragen
 Downloads
 Impressum
 Infoanforderung / Fragen
 Impressum
 Download
 Forum