Problems with VIC: *** configure gives: checking host system type... Invalid configuration `i686-unknown-linux': machine686-unknown' not recognized checking target system type... Invalid configuration `i686-unknown-linux': machi`i686-unknown' not recognized checking build system type... Invalid configuration `i686-unknown-linux': machini686-unknown' not recognized ./configure: test: =: unary operator expected no dynamic load lib FIX: Edit configure -file Line33 Replace: host=NONE With: host=i586-linux TODO: no dynamic load lib ?!?!?! configure can't find tcl&tk: use: ./configure -with-tcl=/usr -with-tk=/usr If you wan't configure to find specify directory with qcam.h for Connectix QuickCam device driver add ./configure command line: --with-qcam=dir now: ./configure -with-tcl=/usr -with-tk=/usr --with-qcam=. *** TODO??: in Makefile (done in vat) Line53 Replace: CCOPT = -O2 With: CCOPT = -g -m486 *** make gives: In file included from inet.c:32: config.h:87: conflicting types for `gethostid' /usr/include/unistd.h:547: previous declaration of `gethostid' FIX: config.h line86 add: && !defined(__linux__) inet.h line97&98 comment: #if defined(__linux__) || defined(WIN32) add: #if defined(WIN32) *** make gives: c++ -o mkcube -O2 -DUSE_SHM -DED_YBITS=4 -DSIGRET=void -I/usr/include -I/usr/include -I./jpeg -I./p64 -I. mkcube.cc -static ld: cannot open -lm: No such file or directory make: *** [mkcube] Error 1 FIX: add: /usr/lib/libm.a -file *** make gives: rm -f mkcube c++ -o mkcube -O2 -DUSE_SHM -DED_YBITS=4 -DSIGRET=void -I/usr/include -I/usr/include -I./jpeg -I./p64 -I. mkcube.cc -static ld: cannot open -lc: No such file or directory make: *** [mkcube] Error 1 FIX: add: /usr/lib/libc.a -file *** make gives: rm -f mkcube c++ -o mkcube -O2 -DUSE_SHM -DED_YBITS=4 -DSIGRET=void -I/usr/include -I/usr/include -I./jpeg -I./p64 -I. mkcube.cc -static /usr/lib/libc.a(set-init.o): In function `__libc_init': set-init.o(.text+0x15): undefined reference to `__start___libc_subinit' set-init.o(.text+0x1b): undefined reference to `__stop___libc_subinit' set-init.o(.text+0x26): undefined reference to `__stop___libc_subinit' set-init.o(.text+0x2b): undefined reference to `__start___libc_subinit' set-init.o(.text+0x34): undefined reference to `__stop___libc_subinit' set-init.o(.text+0x54): undefined reference to `__start___libc_subinit' set-init.o(.text+0x5e): undefined reference to `__start___libc_subinit' set-init.o(.text+0x84): undefined reference to `__stop___libc_subinit' set-init.o(.text+0xc8): undefined reference to `__stop___libc_subinit' make: *** [mkcube] Error 1 FIX: in makefile Line60 comment: STATIC = -static add: STATIC = *** make gives: usr/lib/tk/scrlbar.tcl > $base.cc ; \ c++ -o tk.o -c -O2 -DUSE_SHM -DED_YBITS=4 -DSIGRET=void -I/usr/include -I/usr/include -I./jpeg -I./p64 -I. $base.cc ; rm -f $base.cc make: *** No rule to make target `grabber-scc.o', needed by `vic'. Stop. FIX: Makefile Line85 Add: grabber-qcam.o (no need if --with-qcam= included in configure command-line) *** make gives: rm -f grabber-qcam.o; c++ -o grabber-qcam.o -c -O2 -DUSE_SHM -DED_YBITS=4 -DSIGRET=void -I/usr/include -I/usr/include -I./jpeg -I./p64 -I. grabber-qcam.cc grabber-qcam.cc:66: qcam.h: No such file or directory grabber-qcam.cc:69: qcam-os.h: No such file or directory make: *** [grabber-qcam.o] Error 1 FIX: http://www.dml.cs.ucf.edu/cybrary/sp96_cop5937_dmedia/qcam.html -> qcam program and library (link) download README-0.3 and qcam-0.3.tar.gz gunzip & (un)tar qcam-0.3.tar.gz There you find qcam.h Check how to make qcam-os.h in Makefile (ln -sf qcam-Linux.h qcam-os.h) Version qcam-0.9pre6 changed later from ftp://ftp.cosy.sbg.ac.at/pub/people/dent/qcam/v0.9/beta/ *** make gives: rm -f grabber-qcam.o; c++ -o grabber-qcam.o -c -O2 -DUSE_SHM -DED_YBITS=4 -DSIGRET=void -I/usr/include -I/usr/include -I./jpeg -I./p64 -I. grabber-qcam.cc grabber-qcam.cc: In method `QcamDevice::QcamDevice(const char *)': grabber-qcam.cc:145: parse error before `else' grabber-qcam.cc: In method `QcamGrabber::QcamGrabber()': grabber-qcam.cc:196: `struct qcam' has no member named `qc_brightness' grabber-qcam.cc:197: `struct qcam' has no member named `qc_contrast' grabber-qcam.cc:197: `QC_MAX_CONTRAST' undeclared (first use this function) grabber-qcam.cc:197: (Each undeclared identifier is reported only once grabber-qcam.cc:197: for each function it appears in.) grabber-qcam.cc:198: `struct qcam' has no member named `qc_whitebalance' grabber-qcam.cc:199: `struct qcam' has no member named `qc_bpp' grabber-qcam.cc: In method `int QcamGrabber::command(int, const char *const *)': grabber-qcam.cc:249: `struct qcam' has no member named `qc_bpp' grabber-qcam.cc:252: `struct qcam' has no member named `qc_brightness' grabber-qcam.cc:267: `struct qcam' has no member named `qc_whitebalance' grabber-qcam.cc:271: `struct qcam' has no member named `qc_whitebalance' grabber-qcam.cc:283: `struct qcam' has no member named `qc_bpp' grabber-qcam.cc:286: `struct qcam' has no member named `qc_brightness' grabber-qcam.cc:289: `struct qcam' has no member named `qc_contrast' grabber-qcam.cc:290: `QC_MAX_CONTRAST' undeclared (first use this function) grabber-qcam.cc:292: `struct qcam' has no member named `qc_whitebalance' grabber-qcam.cc: In method `void QcamGrabber::contrast(double)': grabber-qcam.cc:468: `struct qcam' has no member named `qc_contrast' grabber-qcam.cc:468: `QC_MAX_CONTRAST' undeclared (first use this function) make: *** [grabber-qcam.o] Error 1 FIX: !!! hack !!! grabber-qcam.cc Line139 added: #else if(0) grabber-qcam.cc: Line66 Replace: #include With: #include "qcam.h" grabber-qcam.cc: Line69 Replace: #include With: #include "qcam-os.h" still came next errors: rm -f grabber-qcam.o; c++ -o grabber-qcam.o -c -O2 -DQCAMDEV -DQCAMDOTH=qcam.h -DUSE_SHM -DED_YBITS=4 -DSIGRET=void -I. -I/usr/include -I/usr/include -I./jpeg -I./p64 -I. grabber-qcam.cc grabber-qcam.cc: In method `QcamGrabber::QcamGrabber()': grabber-qcam.cc:189: `QC_GET' undeclared (first use this function) grabber-qcam.cc:189: (Each undeclared identifier is reported only once grabber-qcam.cc:189: for each function it appears in.) grabber-qcam.cc:199: `struct qcam' has no member named `qc_brightness' grabber-qcam.cc:200: `struct qcam' has no member named `qc_contrast' grabber-qcam.cc:200: `QC_MAX_CONTRAST' undeclared (first use this function) grabber-qcam.cc:201: `struct qcam' has no member named `qc_whitebalance' grabber-qcam.cc:202: `struct qcam' has no member named `qc_bpp' grabber-qcam.cc: In method `int QcamGrabber::command(int, const char *const *)': grabber-qcam.cc:252: `struct qcam' has no member named `qc_bpp' grabber-qcam.cc:255: `struct qcam' has no member named `qc_brightness' grabber-qcam.cc:270: `struct qcam' has no member named `qc_whitebalance' grabber-qcam.cc:274: `struct qcam' has no member named `qc_whitebalance' grabber-qcam.cc:286: `struct qcam' has no member named `qc_bpp' grabber-qcam.cc:289: `struct qcam' has no member named `qc_brightness' grabber-qcam.cc:292: `struct qcam' has no member named `qc_contrast' grabber-qcam.cc:293: `QC_MAX_CONTRAST' undeclared (first use this function) grabber-qcam.cc:295: `struct qcam' has no member named `qc_whitebalance' grabber-qcam.cc: In method `void QcamGrabber::NTSCgrabSmall()': grabber-qcam.cc:362: `struct qcam' has no member named `qc_xsize' grabber-qcam.cc:363: `struct qcam' has no member named `qc_ysize' grabber-qcam.cc:364: `QC_SET' undeclared (first use this function) grabber-qcam.cc:365: `struct qcam' has no member named `qc_bpp' grabber-qcam.cc:367: `struct qcam' has no member named `qc_xsize' grabber-qcam.cc:367: `struct qcam' has no member named `qc_ysize' grabber-qcam.cc: In method `void QcamGrabber::NTSCgrabMedium()': grabber-qcam.cc:408: `struct qcam' has no member named `qc_xsize' grabber-qcam.cc:409: `struct qcam' has no member named `qc_ysize' grabber-qcam.cc:410: `QC_SET' undeclared (first use this function) grabber-qcam.cc:411: `struct qcam' has no member named `qc_bpp' grabber-qcam.cc:413: `struct qcam' has no member named `qc_xsize' grabber-qcam.cc:413: `struct qcam' has no member named `qc_ysize' grabber-qcam.cc: In method `void QcamGrabber::contrast(double)': grabber-qcam.cc:471: `struct qcam' has no member named `qc_contrast' grabber-qcam.cc:471: `QC_MAX_CONTRAST' undeclared (first use this function) make: *** [grabber-qcam.o] Error 1 5.12.1997 jturunen Makefileen lisäys: LIB = ... /lib/libdl.so ... undefined reference in /usr/lib/libtcl.so: ldopen, lderror, ld... korjautui lisäämäällä ko. kirjasto Otin uudet ajurit qcamille osoitteesta: http://upponalle.jyu.fi/qcam/qcamdriver-1.1beta2.tar.gz ko. ajuripaketista tiedostot: .. qcamdriver-1.1beta2/driver/qcam.h, qcamreg.h ja qcam-Linux.h kopioituna vic-hakemistoon. (HUOM! qcam-Linux.h kopioitu nimelle qcam-os.h). lisätty qcamreg.h:n seuraava define qcamreg.h:84:#define QC_MAX_CONTRAST 210 VIC vaati tätä jossain ja sitä ei löytynyt yhdestäkään .h-tiedostosta. 6.-7.12.1997 jturunen Tutkittu ja vertailtu vatin ja vicin ATM-osuutta ja tehty seuraavat toimenpiteet: Vicin alkuperäinen net-atm.cc käyttää foren ATM-apia, joka ei sovellu nyt käytettävien korttien kanssa ohjelmointiin. Otettu J. Räsäsen vatille kirjoittama tiedosto net-atm.cc ja kopioitu se vic-hakemistoon nimelle vat_net-atm.cc. Alunperin vic käytti ForeATM::atmconnect() -metodia samalla sekä serverin että clientin käynnistykseen. ToveATM-luokkaan tehtyjen muutosten ja vatin erilaisuudesta johtuen muokkasin vat_net-atm.cc -tiedostoa. HUOM! vatissa serveripuolen (kuuntelun) käynnistys määritellään komentoriviparametrina. Vicissä tätä ei ole komentorivillä erikseen, vaan kuten sanottua se käynnistyy automaattisesti point-to-point -yhteydessä toiseen päähän. Nykyisessä vic-toteutuksessa tätä ei aikarajoitusten vuoksi ryhdytty toteuttamaan, vaan tehtiin suosiolla kaksi binääriä, viccl ja vicsv, joista vicsv sisältää ATM-puolen kuuntelun ja ja viccl yhteydenoton. Kumpikin toteutus käyttää ToveATM::atmconnect()-metodia, josta serveripuolella kutsutaan sitten vain ToveATM::atmlisten()-metodia. Tämä oli selkeästi yksinkertaisin ja nopein tapa toteuttaa client-server -osuus ATM:n yli. Varmista, että http://upponalle.jyu.fi/qcam/qcamdriver-1.1beta2.tar.gz on uusin ja stabiilein ajuri qcamille mitä löytyy. Dokumentaatio viittaa mahdollisiin suorituskyky/kokoonpano-ongelmiin :(. TODO: Siistiä koodia. Turhat coutit pois. Tutkia mahdollisuuta komentoriviparametrinä annettavaan serverin käynnistysoptioon.