CCC2 telepítés
Dr. Vermes Mátyás
2004. október
1. Újabb infó
2. CCC installáció gyorsan
3. CCC csomagok beszerzése
4. CCC környezet kialakítása
4.1. Windows
4.2. Linux
4.3. FreeBSD
4.4. Solaris
5. A csomagok tartalma
5.1. ccc2.zip (WLFS)
5.2. setup-flex.zip (WLFS)
5.3. setup-lemon.zip (WLFS)
5.4. setup-unix.zip (LFS)
5.5. setup-windows.zip (W)
5.6. ccc-fltk.zip (WLFS)
5.7. jt.zip (WLFS)
5.8. jtpython.zip (WLFS)
5.9. openssl-xxx.zip (W)
5.10. x-fonts.zip (LFS)
6. Telepítési problémák
6.1. Hiányzik az unistd.h
6.2. Hiányzik malloc.h
6.3. Fltk installáció
6.4. Borland cfg filék
6.5. Directory nevek
6.6. Nagy fájlok (Large File Support)
6.7. GCC verziók
1. Újabb infó
Ez a dokumentáció a régebbi CCC2-ről,
annak is egy régebbi állapotáról szól, azaz mára meglehetősen elavult.
Néhány részletkérdés miatt azonban érdemes lehet a régi dokumentációt
is nézegetni, ezért van mégis megtartva.
A gyakorlatban a CCC2-t úgyanúgy telepítjük, mint a
CCC3-at,
kivéve, hogy a leírtakat értelemszerűen CCC2-re alkalmazzuk:
a directory és környezeti változó nevekben a 3-at 2-re cseréljük.
Érdemes pár szóban összefoglalni a CCC2 és CCC3 viszonyát.
A CCC2 fixen Latin-2 kódkészlettel működik. A CCC3 fő újdonsága
ezzel szemben a Unicode/UTF-8 kódolás, valamint a (Unicode kódolású)
karakter stringek és tetszőleges tartalmú byte stringek megkülönböztetése.
Mára a Unicode/UTF-8 kódolás általánossá vált, ezért új programot
feltétlenül CCC3-ban érdemes elkezdeni.
A régi programok fenntartása érdekében azonban a CCC2 is fejlődik.
Került bele egy kompatibilitási réteg, ami lehetővé teszi néhány
CCC3-ban fejlesztett alkalmazás lefordítását. Ilyenek a jt, regex,
socket, sql2, websrv, xmlrpc. Így nem kell ezeket külön CCC2-ben is
karban tartani. A nyelv újabb elemei, mint a postfix függvényhívás,
string indexelés, asszociatív tömbök, stb. gyorsan megszokhatók.
Rendkívül bosszantó volna, ha ezeket nélkülözni kellene,
tehát backportolva vannak CCC2-re.
A többi már csak a múlt.
2. CCC installáció gyorsan
Feltételezzük, hogy Linux/UNIX-on, vagy Windows-2K-n vagyunk,
és telepítve van gépünkön egy alkalmas C fordító.
UNIX-on telepíteni kell a bash parancsértelmezőt,
ennek kell lennie a default shellnek, és a /bin/bash
paranccsal kell tudni indítani.
Elkészítjük a CCCDIR directoryt, és beállítjuk az alábbi
környezeti változókat (ez itt UNIX, Windowson természetesen
windowsos szintaktikát használunk):
export CCCDIR=/opt/ccc2 # bárhol lehet (ahol írási jogunk van)
export CCCUNAME=linux # lehetséges: linux,solaris,freebsd,nt
export CCCBIN=lin # lehetséges: lin,sol,fre,mng,bor,msc
export PATH=$PATH:$CCCDIR/usr/bin/$CCCUNAME
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CCCDIR/usr/lib/$CCCBIN
A CCCUNAME változó tartalmazza az OS nevét (a Windowst a régi NT
név alapján nt jelöli). A CCCBIN változó tartalmazza a tárgykód típusát:
lin | Linux/GCC |
sol | Solaris/GCC |
fre | FreeBSD/GCC |
mng | Windows/MinGW (GCC) |
msc | Windows/Microsoft C |
bor | Windows/Borland C |
Letöltjük az alábbi csomagokat:
Linux/UNIX | Windows |
ccc2-yyyymmdd.zip | ccc2-yyyymmdd.zip |
setup-flex-yyyymmdd.zip | setup-flex-yyyymmdd.zip |
setup-lemon-yyyymmdd.zip | setup-lemon-yyyymmdd.zip |
setup-unix-yyyymmdd.zip | setup-windows-yyyymmdd.zip |
Azaz a négy csomagból csak a setup-unix/setup-windows különbözik.
Kibontjuk a csomagokat CCCDIR-ben.
Linux/UNIX-on elindítjuk install.b-t, Windowson
install.bat-ot.
3. CCC csomagok beszerzése
A CCC csomagokhoz kétféleképpen lehet hozzájutni:
- A http://www.comfirm.hu/ccc2/download
URL-ről a böngészővel egyenként letölthetők a csomagok.
-
Ha installálva van gépünkön a Jáva Webstart, akkor használhatjuk a
CCC Letöltő-t,
ami letölti és/vagy frissíti a csomagokat.
Érdekesség, hogy ez a program maga is CCC-ben készült.
A CCC installációja közel sem automatikus.
Feltételezzük, hogy a kedves felhasználó eligazodik
a shell scriptek és C fordítók világában.
A C fordításban törekedni kell a warning-mentességre.
E sorok írásakor ez teljesül: az összes C program, az összes
C fordítóval warning-mentesen fordul. Újabb változatú
fordítók esetén a szigorúbb ellenőrzés felszínre szokott hozni
újabb warningokat, ha azonban túl sok ilyen van, akkor
valószínűleg a fordító nincs rendesen telepítve.
Tisztában kell lenni bizonyos függőségi viszonyokkal:
- A fordító eszközök (prg2ppo, ppo2cpp) és az XML elemző
igénylik a Flex és Lemon programokat. Az újabb CCC kiadásokban
a CCC-vel együtt automatikusan települ a Flex és a Lemon.
-
Az Fltk megjelenítéshez előzőleg installálni kell az Fltk
grafikus könyvtárat.
-
Az OpenSSL interfésznek szüksége van az openssl könyvtárra.
Ezek az eszközök általában nincsenek meg maguktól,
hanem be kell őket szerezni, installálni kell őket,
és némi gyakorlatot kell szerezni a használatukban.
4. CCC környezet kialakítása
4.1. Windows
Mindenképpen legalább Windows NT-re van szükség, Windows 2000 ajánlott,
Windows 9x biztosan nem felel meg.
Szükségünk van egy C fordítóra, a támogatott fordítók:
- MinGW, utolsó tesztelt változat MinGW320rc,
amiben GCC 3.4.2-es fordító van,
letölthető a http://www.mingw.org-ról.
Ez az előnyben részesített fordító.
-
Microsoft C, az utolsó tesztelt fordító változatszáma 13.10.3077.
Letölthető a http://www.microsoft.com-ról.
Két csomagot kell letölteni. A Visual C++ Toolkit csomagban (32 MB)
van a fordító, a linker, a C és C++ könyvtárak,
a Windows Server 2003 SP1 SDK csomagban (400+ MB CD image) pedig
a Windows könyvtárak, a windows.h filé, Windows API dokumentáció, stb..
A két csomagot úgy installáljuk, hogy közös directoryba kerüljenek,
így közös bin, lib, include directorykba kerülnek az alkatrészeik.
-
Borland C, utolsó tesztelt változat BCC-5.5.1.
A freecommandlinetools.exe csomagot kell keresni a
http://www.borland.com-on.
Kicsit shareware íze van a dolognak, pl. a BCC-vel fordított
programok nem tudnak egyszerre 50-nél több file descriptort megnyitni.
Hozzunk létre egy shell scriptet dirmap.bat néven az alábbihoz
hasonló tartalommal:
@echo off
set CCCDIR=d:\ccc2
set MSCDIR=d:\msc2003
set BORDIR=d:\borland\bcc55
set GNUDIR=c:\mingw320
set JAVDIR=d:\j2sdk1.4.2
Ez a script mutatja, hogy hol vannak a dolgok a filérendszerünkben.
Persze gépenként változó, hogy hol vannak a dolgok.
Az én scriptemben három fordító helye is meg van adva (MSC, Borland, MinGW),
de a CCC használatához egy is elég.
A következő példa a MinGW környezet kialakítását mutatja,
hasonlóan kell eljárni a többi fordító esetén is.
Hozzunk létre egy másik shell scriptet ccc_mng.bat
(vagy ccc_msc.bat, vagy ccc_bor.bat) néven az alábbihoz
hasonló tartalommal:
@echo off
call dirmap
set CCCBIN=mng
set CCCUNAME=nt
set PATH=%WINDIR%;%WINDIR%\system32
set PATH=%JAVDIR%\bin;%PATH%
set PATH=%GNUDIR%\bin;%PATH%
set PATH=%CCCDIR%\usr\bin\nt;%PATH%
set INCLUDE=%GNUDIR%\include;
set LIB=%GNUDIR%\lib;
start "CCC-MinGW environment"
A CCCBIN környezeti változó mutatja, hogy mivel fordítunk (msc, bor, mng).
A CCCUNAME változó mutatja, hogy milyen rendszeren futó programok készülnek (nt).
Ha a ccc_xxx.bat scriptet elindítjuk, akkor feljön egy shell,
amiben éppen a nekünk szükséges beállítások lesznek érvényben.
A továbbiakban mindig ebben a shellben dolgozunk.
Hozzuk létre ténylegesen a CCC directoryt (CCCDIR) a dirmap.bat-ban
megadott helyen. Töltsük le a
- ccc2-yyyymmdd.zip
- setup-flex-yyyymmdd.zip
- setup-lemon-yyyymmdd.zip
- setup-windows-yyyymmdd.zip
csomagokat, másoljuk be CCCDIR-be, és bontsuk ki. (A windowsosoknak
nincs unzip programjuk, meg kell tehát szerezni a webről az Infozip
csomagot, ez mindent tud, ami kell, és ingyenes.)
A CCCDIR-ben találunk egy install.bat scriptet, ami lefordítja
az egész CCC-t. Ne indítsuk azonban el vakon, hanem némi áttekintés
megszerzése céljából nyissuk meg egy editorral, és nézzük meg,
hogy mit fog csinálni:
- A setup-windows directoryból installálja a fordítás
elkezdéséhez szükséges négy exe filét (build, prg2ppo, ppo2cpp, ccomp).
-
A setup-flex directoryból installálja a flex-et (szintaktikai elemző
generátor).
-
A setup-lemon directoryból installálja a lemon-t (nyelvtani
elemző generátor).
-
Bemegy a ccclib directoryba, és lefordítja a CCC alapkönyvtárait.
Az Fltk megjelenítő könyvtár fordítása csak akkor lehet sikeres,
ha gépünkön installálva van az Fltk, ezért
kezdetben a ccc2_uif könyvtár fordítása ki van kommentezve.
-
Utána bemegy a ccctools directoryba, és lefordítja a CCC fordításban
szerepet játszó programokat. A (setup-windows.zip-ben letöltött)
build, prg2ppo, ppo2cpp programok most lefordítják saját magukat.
-
A ccctab directoryban lefordulnak a táblaobjektum könyvtárak.
A tbdatidx és tbdbfctx könyvtárak installálásához előzőleg a ctree-nt.zip
csomagot is le kell tölteni (és CCCDIR-ben kibontani). Ha nincs
szükség CTREE adatbáziskezelésre, akkor a megfelelő sorokat
kommentezzük ki.
-
A terminal directorykban lefordulnak a távoli karakteres megjelenítéshez
szükséges eszközök.
-
A tools-ban fordul néhány hasznos könyvtár és eszköz:
crypto | openssl interfész (előzőleg installálni kell az openssl-t) |
dbaseiii | osztály dbf állományok olvasásához |
socket | socket könyvtár |
xmldom | XML elemző osztály |
xmlrpc | XMLRPC szerver és kliens osztály |
ddict2 | adatszótár karbantartó |
mask | dialogbox editor |
savex | eszköz directory struktúrák szinkronizálásra |
sql2 | interfész Oracle és Postgres adatbáziskezelőhöz |
z | text editor |
4.2. Linux
Installáljuk az x-fonts.zip csomagban lévő fontokat.
A pcf.gz font filéket az /usr/lib/X11/fonts/misc directoryba
kell bemásolni, majd ugyaninnen rootként kiadjuk a mkfontdir
parancsot. Az X-et újraindítjuk.
Létrehozunk egy ccc nevű csoportot, és ezt a csoportot
állítjuk be a saját csoportunknak. A továbbiakban mindig
ebben a csoportban dolgozunk.
A saját home-unkban a .bashrc filébe írjuk be az alábbiakat
export CCCDIR=/opt/ccc2
export CCCBIN=lin
export CCCUNAME=linux
export CCC_XSIZE=80x36
export CCC_XFONT=ccc8x16
export OREF_SIZE=20000
export PATH=$CCCDIR/usr/bin/$CCCUNAME:$PATH
export LD_LIBRARY_PATH=$CCCDIR/usr/lib/$CCCBIN:$LD_LIBRARY_PATH
Hozzuk létre ténylegesen a CCC directoryt a .bashrc-ban
megadott helyen, a csoportja legyen ccc,
a permission flageket állítsuk be 2775-re.
Töltsük le a
- ccc2-yyyymmdd.zip
- setup-flex-yyyymmdd.zip
- setup-lemon-yyyymmdd.zip
- setup-unix-yyyymmdd.zip
csomagokat, másoljuk be CCCDIR-be, és bontsuk ki.
A CCCDIR-ben találunk egy install.b scriptet, ami lefordítja
az egész CCC-t. Ne indítsuk azonban el vakon, hanem némi áttekintés
megszerzése céljából nyissuk meg egy editorral, és nézzük meg,
hogy mit fog csinálni:
- Ellenőrzi, hogy jól van-e beállítva a CCCDIR környezeti
változó.
-
A setup-unix directoryban lefordítja és installálja a fordítás
elkezdéséhez szükséges programokat (build, prg2ppo, ppo2cpp).
-
A setup-flex directoryból installálja a flex-et (szintaktikai elemző
generátor).
-
A setup-lemon directoryból installálja a lemon-t (nyelvtani
elemző generátor).
-
A terminal-unix direcotryban lefordulnak a fullscreen karakteres
(lokális és távoli) megjelenítéshez szükséges eszközök.
-
Bemegy a ccclib directoryba, és lefordítja a CCC alapkönyvtárait.
Az Fltk megjelenítő könyvtár fordítása csak akkor fog lefutni,
ha gépünkön installálva van az Fltk, ezért
kezdetben a ccc2_uif könyvtár fordítása ki van kommentezve.
-
Utána bemegy a ccctools directoryba, és lefordítja a CCC fordításban
szerepet játszó programokat. A (setup-unix.zip-ben letöltött)
build, prg2ppo, ppo2cpp programok most lefordítják saját magukat.
-
A ccctab directoryban lefordulnak a táblaobjektum könyvtárak.
A tbdatidx és tbdbfctx könyvtárak installálásához előzőleg a ctree-lin.zip
csomagot is le kell tölteni (és CCCDIR-ben kibontani). Ha nincs
szükség CTREE adatbáziskezelésre, akkor a megfelelő sorokat
kommentezzük ki.
-
A tools-ban fordul néhány hasznos könyvtár és eszköz:
crypto | openssl interfész (előzőleg installálni kell az openssl-t) |
dbaseiii | osztály dbf állományok olvasásához |
socket | socket könyvtár |
xmldom | XML elemző osztály |
xmlrpc | XMLRPC szerver és kliens osztály |
ddict2 | adatszótár karbantartó |
mask | dialogbox editor |
savex | eszköz directory struktúrák szinkronizálásra |
sql2 | interfész Oracle és Postgres adatbáziskezelőhöz |
z | text editor |
Ha nincs installálva gépünkön az OpenSSL, vagy a PostgreSQL
fejlesztő környezet, akkor pótoljuk, vagy az install.b script
a megfelelő sorait kommentezzük ki (máskülönben fordításkor
egy csomó hibát kapunk).
4.3. FreeBSD
FreeBSD-n ugyanúgy alakítunk ki CCC környezetet,
mint Linuxon, tehát a Linuxnál leírtak érvényesek,
itt csak az eltéréseket ismertetem.
- Környezeti változók
-
FreeBSD-n az alábbi környezeti változókat kell beállítani:
export CCCBIN=fre
export CCCUNAME=freebsd
- bash
-
Installálni kell a bash2 shell-t (magától nem települ),
és kell csinálni egy /bin/bash linket (magától
/usr/local/bin-be teszi). A CCC fordító scriptek
mind így kezdődnek: #!/bin/bash, úgyhogy enélkül
egy lépést sem lehet tenni.
- malloc.h
-
A CCC programok számos helyen inkludálják malloc.h-t.
A FreeBSD 5.3-ban a GCC erre azt a hibaüzenetet adja,
hogy az új C szabványban malloc.h megszűnt, és helyette
stdlib.h-t kell használni. Természetesen ez nem elfogadható,
tehát csinálni kell egy malloc.h-t, ami csendben inkludálja
stdlib.h-t.
Ezektől az apróságoktól eltekintve a Linux és FreeBSD
CCC programozói szempontból nézve meglehetősen egyforma.
4.4. Solaris
Solarison a GNU környezet kialakításával kezdjük.
A CCC installáció lényegében azonos a Linuxnál leírtakkal,
csak CCCBIN=sol, CCCUNAME=solaris beállításokat alkalmazunk.
Az alábbiakban egy Sun Blade 100 (SPARC 64 bit, Solaris 8, GCC 2.95.3)
rendszeren szerzett tapasztalataimat írom le:
- A gépen előre installálva van a Solaris,
rákötjük a hálózatra.
Megcsináljuk a ccc csoportot, a CCC felhasználókat,
a felhasználók .profile filéjét, ami majd
beállítja a
CCCDIR,
CCCBIN,
CCCUNAME,
PATH,
LD_LIBRARY_PATH,
umask(=002) változókat.
-
Letöltjük a Sun-tól a
GNU Companion CD-t,
és installáljuk.
Sajnos ezt a CD-t nem frissítik, jelenleg is a GCC 2.95.3 van rajta,
noha Linuxon már egy ideje a 3.3.1-es változatot használjuk.
A GNU szoftver a /opt/sfw directoryba kerül.
Egyes programok neve elé raktak egy g betűt,
pl. make helyett gmake,
ld helyett gld,
nm helyett gnm,
stb.
A passwd filében beállítjuk, hogy minden felhasználó
shellje a bash legyen (a rooté is).
-
Nincs a Companion CD-n mc, ezért
szerzünk a webről egy mc-t (régit, mert az újhoz GTK kell),
lefordítjuk és installáljuk.
-
Ugyancsak beszerezzük a webről, lefordítjuk és installáljuk
a legújabb openssl-t és openssh-t (ezek sincsenek a Companion CD-n).
Beállítjuk, hogy az sshd automatikusan induljon a 3. futási szinten,
elindítjuk az sshd-t, és átülünk egy Linuxhoz. A továbbiakban
ssh-val dolgozunk, mert a Solaris CDE desktop olyan,
amilyennek a windowsosok mondják.
-
Innen kezdve úgy mennek a dolgok, mint Linuxon,
kivéve a linkelést. A fentiek szerint előkészített rendszeren
a GNU fordító (c++) meglepetésemre a solarisos link editorral
akar linkelni. Erőltettem egy darabig a GNU linkert (gld),
de azt tapasztaltam, hogy a gld-vel linkelt programok
SIGSEGV-znek. Nemcsak a CCC programok, hanem az egysoros
"Hello World" C program is.
Mivel ezt nem tudtam megjavítani, vissza kellett
térnem az eredeti állapothoz, vagyis a /usr/ccs/bin/ld
(solarisos) link editorhoz, ehhez viszont néhány scriptet
át kellett írni.
A -Wl,--start-group és -Wl,--end-group
opciókat ki kellett hagyni, ez lehet hogy hiányozni fog,
de nem találtam meg, mivel helyettesíthető.
A -shared opció helyett -G kell.
A -soname=LIBNAME helyett -hLIBNAME kell.
Tudom, hogy a kezdők nem ebből a leírásból fognak UNIX
gyakorlatot szerezni, de minek a részletes leírás,
ha a részletek úgyis mindig változnak.
A fő nehézség, hogy a Solaris viszonylag ismeretlen terep,
nem adja könnyen magát. Ha már megvan az mc,
és egy kézreálló Linuxról ssh-zunk, fellélegezhetünk.
Időközben teszteltem a CCC-t az ingyenesen letölthető
(inteles) Solaris-10 rendszeren is. A helyzet kicsit javult:
- A telepítőkészlet helyből tartalmazza a GNU szoftvereket.
-
Egyből lesz OpenSSH.
-
Könnyen feléleszthető az NFS szerver.
-
Használható a Java Desktop (ami lényegében egy GNOME).
Mindezek miatt a CCC installálásával (ami egyébként nem változott)
könnyebben el lehet boldogulni.
5. A csomagok tartalma
Az alcímek mellett zárójelben jelezzük, hogy az adott
csomag mely platformokon kap szerepet:
W | Windows |
L | Linux |
F | FreeBSD |
S | Solaris |
5.1. ccc2.zip (WLFS)
A CCC teljes forráskódja.
5.2. setup-flex.zip (WLFS)
Az új CCC kiadásban a Flex programok C++ elemző objektumokat
készítenek (%option c++). Ennek előnye, hogy az elemző reentráns
és szálbiztos, több Flex elemzőt tartalmazó rutin lehet ugyanabban
a CCC programban névütközés nélkül.
Sajnos ez komplikációkat is okoz, ui. a különféle Linux
disztribúciókból származó Flexek különféleképpen hibásak.
Ráadásul a Flex új fejlesztési iránya sem valami megnyugtató.
A setup-flex.zip csomagból települő flex
minden CCC-vel használt fordítóval működik,
nem tartalmaz olyan ismert hibát, ami a használatot akadályozná.
További részletek magában a csomagban.
5.3. setup-lemon.zip (WLFS)
A CCC 2.1.x kiadásában a Bison/YACC-ot felváltotta a Lemon.
A Lemon a Bisonhoz képest egyszerűbben terjeszthető és telepíthető,
mivel egyetlen C forrásfájlból, plusz egy C template fájlból áll.
A Lemon által generált kód a Bisonnal szemben reentráns és szálbiztos.
A setup-lemon.zip csomag az általam patchelt forrásváltozatot tartalmazza.
A változások fel vannak sorolva a lemon.c fájl elején. Az eredeti
forrás megtalálható itt:
http://www.hwaci.com/sw/lemon.
5.4. setup-unix.zip (LFS)
A CCC-t nehéz a semmiből kiindulva lefordítani, ui. a fordításhoz
CCC-ben készült eszközökre is szükség van. Ez a csomag tisztán C-ből
előállítja a build, prg2ppo, ppo2cpp programokat, amik minimálisan
szükségesek a CCC saját programkészítő rendszerének a felélesztéséhez.
5.5. setup-windows.zip (W)
A CCC-t nehéz a semmiből kiindulva lefordítani, ui. a fordításhoz
CCC-ben készült eszközökre is szükség van. Ez a csomag tartalmazza
a build, prg2ppo, ppo2cpp, ccomp programokat, amik minimálisan
szükségesek a CCC saját programkészítő rendszerének a felélesztéséhez.
A ccomp program csak a MinGW fordító esetén kell.
5.6. ccc-fltk.zip (WLFS)
Az Fltk könyvtár forrása Build projekt kiszerelésben.
Korábban Linuxon a telepítő csomagból származó Fltk használatát
ajánlottam, azonban belefáradtam az API változásainak követésébe,
ezért újabban Linuxon is a (befagyasztott) ccc-fltk.zip csomagot
használjuk.
A csalódások megelőzése érdekében megjegyzem:
A CCC-ben nincs olyan általános CCC-Fltk csatoló,
amivel tetszőleges grafikus programokat készíthetnénk.
Az Fltk-t arra használtuk, hogy meglevő karakteres
programokat jelenítsünk meg grafikus felületen átírás nélkül.
Ezek ablakokkal, menükkel, táblázatokkal,
adatbeviteli mezőkkel rendelkeznek, de semmi több,
pl. nem tudnak rajzolni. Készülni fog viszont egy
általánosan használható GTK csatoló.
5.7. jt.zip (WLFS)
Érdekes új eszköz a Jáva terminál.
Ez egy alkalmazásfüggetlen grafikus megjelenítő,
ami a felhasználó gépén megjeleníti a távoli gépen futó
szerveralkalmazást. Természetesen annak sincs akadálya, hogy a terminál
és a szerver ugyanazon a gépen fusson, ám a Jáva terminál fő erőssége
a távoli programfuttatás, ezzel a webes programozás egy alternatíváját
jelenti.
A Jáva terminál elsősorban centralizálandó ügyviteli alkalmazásoknál
előnyös, mint pl. egy bolthálózat nyilvántartása. A terminál és a
szerver között TCP kapcsolat van (nem HTTP), és XML szintaktikájú
üzenetekkel kommunikálnak. A kommunikáció SSL-lel titkosítható.
A terminálról bővebb infó található a
Jáva Terminál
oldalon.
5.8. jtpython.zip (WLFS)
Python nyelvű szerver oldali interfész könyvtár a Jáva terminálhoz.
5.9. openssl-xxx.zip (W)
Az openssl könyvtár MSC-vel fordított változata.
Legcélszerűbben akkor járunk el, ha a windowsos C fordítónkba
,,integráljuk'' az openssl-t: az include-okat bemásoljuk az include alá,
a lib-eket a lib alá, az exe-ket, dll-eket pedig betesszük a
Windows könyvtárba.
Megjegyzés: Az openssl-ben le van írva, hogy hogyan kell őt
lefordítani MSC-vel, Borland C-vel, és MinGW-vel, nekem azonban
csak az első (MSC) működött. Az MSC-vel kapott dll-ek és lib-ek
a MinGW-hez egy az egyben jók, a Borland C-nek pedig van eszköze hozzá,
hogy egy dll-ből import lib-et csináljon.
5.10. x-fonts.zip (LFS)
X-hez való fix (bitmap) fontok, amik a Latin-2 kódolású magyar
ékezetes karakterek mellett tartalmazzák a Clipper dobozrajzoló karaktereit.
A fontfiléket rootként a /usr/lib/X11/fonts/misc-be kell másolni,
majd misc-ben végrehajtjuk:
/usr/bin/X11/mkfontdir
Utána az X-et újraindítjuk.
6. Telepítési problémák
6.1. Hiányzik az unistd.h
Előfordulhat, hogy NT-s C fordítónk nem talál egy unistd.h nevű filét.
Ennek oka, hogy a Bison és Flex kódgenerátora (elsősorban) UNIX-ra
készíti a kimenetét, ahol az említett filé megtalálható valahol az
include pathban, NT-n viszont nincs ilyen. A hiba legegyszerűbben
úgy hárítható el, ha létrehozunk a C fordító include directoryjában
egy üres unistd.h-t, ezzel a fordító meg fog elégedni.
6.2. Hiányzik malloc.h
A CCC programok számos helyen inkludálják malloc.h-t.
Az újabb GCC-k erre azt a hibaüzenetet adják,
hogy a C szabványban malloc.h megszűnt, és helyette
stdlib.h-t kell használni. Csináljunk ilyenkor egy malloc.h-t,
ami csendben inkludálja stdlib.h-t.
6.3. Fltk installáció
Kezdetben Fltk nélkül installáljuk a CCC-t.
Ha már van üzemképes CCC környezetünk, akkor le tudjuk
fordítani a ccc-fltk.zip csomagban letölthető Build projektet.
A jelenlegi változat az összes támogatott C fordítóval fordul
(Windowson, Linuxon, Solarison egyaránt).
Az installáció mindössze annyit jelent, hogy a csomag
include filéit, és a lefordított lib-eket a C fordító
rendelkezésére bocsátjuk. A legegyszerűbben akkor járunk el,
ha a C fordítónkba ,,integráljuk'' az Fltk-t: az include-okat
bemásoljuk az include alá, a lib-eket a lib alá, ezzel
Windowson készen is vagyunk.
UNIX/Linuxon korábban a telepítőkészletből származó Fltk könyvtárat használtuk.
Az Fltk fejlesztői azonban állandóan változtatgatják az API-t, ezért az újabb
változatok átvételekor mindig a CCC interfész módosítására kényszerültem.
Ezt megunván, áttértem a saját, befagyasztott ccc-fltk csomagból fordított
Fltk-ra. Hogy a többféle csomag ne keveredjen, a korábban esetlegesen
installált Fltk csomagot távolítsuk el.
Az eredeti Fltk függ a GL könyvtártól.
A CCC-hez azonban nincs szükség a GL-re,
ezért a külső függőségek csökkentése érdekében
a mi Fltk könyvtárunkból ki vannak operálva a GL-es hivatkozások.
A GL könyvtár helyett egyszerűen az X11-et kell linkelni.
6.4. Borland cfg filék
A Borland C használata esetén vegyük ki a ccc2 csomagból a
usr\options\bor\bcc32.cfg és
usr\options\bor\ilink32.cfg filéket,
tartalmukat a konkrét include és lib directoryknak megfelelően
aktualizáljuk, és másoljuk be a Borland bin directoryba
(oda, ahol bcc32.exe is található).
6.5. Directory nevek
A CCC directory nevének megválasztásakor figyelembe kell venni,
hogy a C fordító egyes alkatrészei nem támogatnak minden nevet,
amit egyébként az operációs rendszer megengedne. Így pl. a Borland
és a Watcom könyvtárkezelő működésképtelen, ha a library teljes
specifikációjában kötőjelet is tartalmazó directory van.
6.6. Nagy fájlok (Large File Support)
UNIX-on a CCC az 1.5.00 változattól kezdve nagy filé támogatással
fordítható. Solaris 8-on és 2.4.x kernelű ext2 filérendszerű Linuxon
az LFS gond nélkül működik. Nem működik azonban az LFS 2.2.x kernelen,
vagy 3.6-nál kisebb verziószámú ReiserFS-en. Ezért a biztonság
kedvéért a setup során Linuxon LFS nélküli CCC keletkezik.
Az LFS úgy kapcsolható be, hogy az opt filékben beélesítjük a
-D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE
fordítási opciókat, majd az egész CCC-t forrásból újrafordítjuk.
6.7. GCC verziók
Jelentős változások történtek a C++ szabványban
a GCC 2.95 és 3.x változatainak megjelenése között.
A CCC a különbségekhez a $CCCDIR/usr/options/lin/gccver.opt
filében definiált makrók segítségével alkalmazkodik.
Amikor a CCC-t először installáljuk (vagy egy másik C fordítóval
teljesen újrafordítjuk), akkor előzőleg le kell törölni a
gccver.opt filét. A CCC installáló scriptje észre fogja venni
gccver.opt hiányát, és automatikusan elkészíti az aktuális
fordítónak megfelelő opt filét.