Vraag & Antwoord

OS Linux

[gcc-3] Printerinktniveau programma Kink installeren

20 antwoorden
  • Nu ik SuSE 9.1 draai besloot ik [url=http://forum.computertotaal.nl/phpBB2/viewtopic.php?t=109758&highlight=kink]kink uit de discussie van maximilaan[/url] te installeren. [code:1:7ece10cbd4] ./configure --prefix=/opt/kde3 <knip> configure: error: "Install development package needed first! inklevel.h ./configure: line 25746: exit: for: numeric argument required ./configure: line 25746: exit: for: numeric argument required jolo@linux:~/Downloads/kink/kink/kink-0.2.1> [/code:1:7ece10cbd4] De package dat inklevel.h bevat libinklevel-0.6.3.tar.gz [code:1:7ece10cbd4] linux:/home/jolo/Downloads/kink/libinkdevel/libinklevel # ls . COPYING epson.o hp.o libinklevel.c linux.c README util.c .. epson.c hp.c inklevel.h libinklevel.o Makefile testparser.c [/code:1:7ece10cbd4] make [code:1:7ece10cbd4] linux:/home/jolo/Downloads/kink/libinkdevel/libinklevel # make gcc -Wall -O2 -fPIC -DPIC -I. -c -o linux.o linux.c linux.c:11:22: ieee1284.h: Onbekend bestand of map linux.c: In function `get_device_id': linux.c:29: error: storage size of `parports' isn't known linux.c:52: warning: implicit declaration of function `ieee1284_find_ports' linux.c:52: error: `E1284_OK' undeclared (first use in this function) linux.c:52: error: (Each undeclared identifier is reported only once linux.c:52: error: for each function it appears in.) linux.c:54: warning: implicit declaration of function `ieee1284_get_deviceid' linux.c:55: error: `F1284_FRESH' undeclared (first use in this function) linux.c:29: warning: unused variable `parports' make: *** [linux.o] Fout 1 linux:/home/jolo/Downloads/kink/libinkdevel/libinklevel # [/code:1:7ece10cbd4] libieee1284 heb ik al gecompileerd/geïnstalleerd. Ik vraag me af of kink wel geschikt is voor SuSE 9.1 met kernel 2.6.5. Heeft iemand kink al kunnen installeren in SuSE 9.1?
  • Als ik die libieee1284 configure zonder prefix, dan kan ik in libinkdevel wel make en make install doen zonder foutmeldingen. Ook configure in kink gaat dan goed. Maar [code:1:4094d314c8] jolo@linux:~/Downloads/kink/kink/kink-0.2.1> make make all-recursive make[1]: Entering directory `/home/jolo/Downloads/kink/kink/kink-0.2.1' Making all in kink make[2]: Entering directory `/home/jolo/Downloads/kink/kink/kink-0.2.1/kink' if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/kde3/include -I/usr/lib/qt3/include -I/u sr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long- long -Wundef -Wall -pedantic -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOUR CE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -O2 -Wformat-secur ity -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -MT kink .o -MD -MP -MF ".deps/kink.Tpo" \ -c -o kink.o `test -f 'kink.cpp' || echo './'`kink.cpp; \ then mv -f ".deps/kink.Tpo" ".deps/kink.Po"; \ else rm -f ".deps/kink.Tpo"; exit 1; \ fi kink.cpp: In member function `void KInk::add_device_to_list(int, int, unsigned char*)': kink.cpp:159: error: invalid conversion from `unsigned char*' to `const char*' make[2]: *** [kink.o] Fout 1 make[2]: Leaving directory `/home/jolo/Downloads/kink/kink/kink-0.2.1/kink' make[1]: *** [all-recursive] Fout 1 make[1]: Leaving directory `/home/jolo/Downloads/kink/kink/kink-0.2.1' make: *** [all] Fout 2 [/code:1:4094d314c8]
  • Het lijkt erop dat er iets niet helemaal lekker zit in de code, kijk eens in de buurt van regel 159 in kink.cpp en post eventueel een stukje.
  • regel 149 t/m 159 uit kink.cpp [code:1:8c4fb2b379] /*! \fn KInk::add_device_to_list(void) Add a device to the combo box list */ void KInk::add_device_to_list(int type, int port, unsigned char *model) { listed_devices[listed_count].device_type = type; listed_devices[listed_count].device_port = port; ++listed_count; cmbDevices->insertItem(QString::fromAscii((const char *)model,strlen(model)) + " on " + (type==PARPORT ? "/dev/lp" : "/dev/usb/lp") + Qstring::number(port)); [/code:1:8c4fb2b379]
  • Hmm, ik weet niet zo bizar veel van C++ en ik zou eigenlijk de code even moeten downen om alles te bekijken. Wat wellicht het probleem kan zijn is het volgende (don't shoot me if it's bollocks): De 3de parameter die wordt meegegeven aan de functie is een de geheugenlocatie (tis een pointer) naar een unsigned char, terwijl de waarde achter 'const' van het type char is. Maw kijk even of de waarde die naar model wordt geschreven van het type char of unsigned char is en pas de code aan. Nogmaals: ik kan het ook helemaal mis hebben.
  • Omdat ik behalve SuSE 9.1 ook nog SuSE 8.2 op mijn pc had geïnstalleerd. Probeerde ik Kink ook in SuSE 8.2. Met die prefix was die daar ook mislukt. Ook zonder prefix trouwens. Kink in SuSE 8.2 zonder prefix heb ik nogmaals geprobeerd, maar nu na de gecompileerde mappen eerst te hebben verwijderd, en weer opnieuw uit de tar.gz en tar.bz2 uitgepakt. Nu lukte het compileren/installeren in SuSE 8.2 wel. Kink werkt dus nu in SuSE 8.2. Dus dan zou die kink.cpp toch in orde moeten zijn. In SuSE 9.1 heb ik dit ook geprobeerd. Alleen daar blijft de foutmelding bestaan.
  • Ja ik heb Kink wel draaien onder 9.1 en je loopt idd. tegen een berg dep's aan en helaas kun je beter niet alles van je SuSE cd halen omdat eea. kreupel is. Zelf heb ik met name libinlievel en libiee1284 zelf van inet opgehaald en daarmee aan de gang gegaan. Helaas heb ik mijn config file's niet meer dus kan je echt niet meer verder helpen dan dat.
  • Schop :wink: [topic titel aangepast] Ik heb inmiddels kink geprobeerd te installeren in de volgende distro's: SuSE 9.0 SuSE 9.1 Slackware 9.1 Slackware 10.0 Mandrake 10 en Fedora core 2. Wat viel op? Dat de installatie in de distro's met KDE 3.1.4 lukte, en dat de installatie in de distro's met KDE 3.2.x mislukte, op dezelfde foutmelding tijdens [b:dcdf3c86c8] make [/b:dcdf3c86c8] [code:1:dcdf3c86c8] kink.cpp:159: error: invalid conversion from `unsigned char*' to `const char*' [/code:1:dcdf3c86c8] En wat ook interessant is, een deel van de output van make in de distro's met KDE 3.1.4 (Slackware 9.1 en SuSE 9.0) [Edit typefout verbeterd] [code:1:dcdf3c86c8] kink.cpp:159: warning: invalid conversion from `unsigned char*' to `const char* [/code:1:dcdf3c86c8] Er is dus iets in KDE 3.2.x gewijzigd, dat deze [b:dcdf3c86c8] warning [/b:dcdf3c86c8] een [b:dcdf3c86c8] error [/b:dcdf3c86c8] is geworden. [quote:dcdf3c86c8="Marcel de Reus"]De 3de parameter die wordt meegegeven aan de functie is een de geheugenlocatie (tis een pointer) naar een unsigned char, terwijl de waarde achter 'const' van het type char is. Maw kijk even of de waarde die naar model wordt geschreven van het type char of unsigned char is en pas de code aan. [/quote:dcdf3c86c8] Daar heb ik dus nog niets mee kunnen doen. Ik weet zelf niets van programmeren. [quote:dcdf3c86c8="wstolk"]Ja ik heb Kink wel draaien onder 9.1 en je loopt idd. tegen een berg dep's aan en helaas kun je beter niet alles van je SuSE cd halen omdat eea. kreupel is. [/quote:dcdf3c86c8] Welke packages zou je dan absoluut [b:dcdf3c86c8] niet [/b:dcdf3c86c8] vanaf de SuSE cd/dvd moeten halen? [quote:dcdf3c86c8="wstolk"]Zelf heb ik met name libinlievel en libiee1284 zelf van inet opgehaald en daarmee aan de gang gegaan. [/quote:dcdf3c86c8] Ik had die libinklevel en libieee1284 toch ook gedownload voor SuSe 9.1.
  • [quote:f240228aab="jolo"] [quote:f240228aab="Marcel de Reus"]De 3de parameter die wordt meegegeven aan de functie is een de geheugenlocatie (tis een pointer) naar een unsigned char, terwijl de waarde achter 'const' van het type char is. Maw kijk even of de waarde die naar model wordt geschreven van het type char of unsigned char is en pas de code aan. [/quote:f240228aab] Daar heb ik dus nog niets mee kunnen doen. Ik weet zelf niets van programmeren. [/quote:f240228aab] Wat daar gebeurt is dat 'model' (een pointer naar een unsigned char) wordt getypecast (omgezet) naar een pointer naar een const(ante) char en dat wordt meegegeven aan de functie fromAscii. Om de een of andere reden wil je compiler dat niet.
  • [quote:ca10efa3ea="Supersnail"]Wat daar gebeurt is dat 'model' (een pointer naar een unsigned char) wordt getypecast (omgezet) naar een pointer naar een const(ante) char en dat wordt meegegeven aan de functie fromAscii. Om de een of andere reden wil je compiler dat niet.[/quote:ca10efa3ea] Welke compiler? make? Ik gebruik maar 1 versie van make [code:1:ca10efa3ea] make -v GNU Make 3.80 [/code:1:ca10efa3ea] Ik heb een typ foutje uit mijn vorige post verbeterd.
  • Doordat ik een nieuw mamaplankje gekocht heb, ben ik nu 9.1 volledig "nieuw" aan het installaren met de nodige aanpassingen (metname xine ed) dus kom ik denk ik eind vd. week weer bij kink uit en ga daar dan mee aan de slag. vorige instal was SuSE 9.0 => 9.1 => upgrd. van kde vanuit "ftp.suse.com/suse/i386/supplementary/KDE/update_for_9.1" nu dus direct 9.1 => ftp.suse.com/suse/i386/supplementary/KDE/update_for_9.1 daarbij komt dat ik vrij veel rpm's bij link2linux weg haal en een zeer kale installatie ben begonnen. Ik hoop dat het me beter afgaat dan bij jouw :D
  • [quote:d0e8df0536="jolo"] Welke compiler? make? Ik gebruik maar 1 versie van make [code:1:d0e8df0536] make -v GNU Make 3.80 [/code:1:d0e8df0536][/quote:d0e8df0536] Make is niet je compiler. Je compiler is g++. Dus wat geeft g++ --version?
  • ik zou zeggen, neem contact op met de auteur van het programma ivm compileerproblemen onder suse 9.1 Max
  • [quote:2f0231e457="Supersnail"] Dus wat geeft g++ --version?[/quote:2f0231e457] In SuSE 9.1 [code:1:2f0231e457] jolo@linux:~> g++ --version g++ (GCC) 3.3.3 (SuSE Linux) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE[/code:1:2f0231e457] Slackware 10 g++ versie 3.3.4 SuSE 9.0 g++ versie 3.3.1 Slackware 9.1 g++ versie 3.2.3 Mandrake 10 g++ versie 3.3.2 Fedore Core 2 g++ versie 3.3.3 Ze hebben dus nog de g++ die ze ook hadden direct na de installatie, Alleen in Fedore Core 2 op een andere pc, heb ik g++ geüpdatet naar versie 3.4.0. Maar daar heb ik kink nog niet op geprobeerd. [quote:2f0231e457="maximilaan"]ik zou zeggen, neem contact op met de auteur van het programma ivm compileerproblemen onder suse 9.1 [/quote:2f0231e457] Je bedoelt via dat hotmail adres op de kink site? Welke info is in zo een e-mail vereist? Want ik neem aan dat zo een e-mail kort en krachtig moet zijn. Ik vraag me af of de auteur er nog wel aan werkt.
  • Ik heb nog iets anders geprobeerd. In SuSE 9.0 met KDE 3.1.4 waarin het compileren van kink wel lukte, had ik met checkinstall een rpm gemaakt. Wat bleek? Die rpm kan wel gewoon worden geïnstalleerd in SuSE 9.1 met KDE 3.2.1. [code:1:93541f5c89] linux:/data4/usr/src/packages/RPMS/i386 # rpm -ivh kink-0.2.1-1.i386.rpm Preparing... ########################################### [100%] 1:kink ########################################### [100%][/code:1:93541f5c89] /data4 is de map waaronder SuSE 9.0 is gemount in SuSE 9.1 Ook de in Slackware 9.1 gemaakte kink package, kon gewoon worden geïnstalleerd in Slackware 10. En in zowel SuSE 9.1 en Slackware 10 blijkt kink daarmee te werken. Dit is uiteraard geen oplossing voor de mensen die alleen een distro hebben met KDE 3.2.x. Dus daarom heb ik ook nog geprobeerd kink te compileren/installeren, op die andere pc met Fedore core 2, die g++ 3.4.0 heeft. Maar die geeft nog steeds die kink.cpp:159: error: foutmelding. Ik ben er niet zeker van, of het aan de compiler ligt, of toch aan KDE 3.2.x.
  • Echt kort en bondig hoeft de mail niet te zijn, als je maar duidelijk bent en to the point blijft. Complimenteer eerst de maker voor het handige programma, leg vervolgens uit dat je met g++-versie X en kde Y zonder problemen kunt compileren, terwijl op een ander systeem met g++XX en kde YY het compileren fout loopt. En dan vervolgens de vraag hoe je dat kunt oplossen .. Max
  • En om nu vooral iedereen een hoop werk uit handen te nemen heb je natuurlijk die RPM beschikbaar gemaakt om ergens te downloaden 8) Dat vertel je natuurlijk pas wanneer anderen ook de nodige pogingen ondernomen hebben :oops: alvast bedankt :P
  • nou bij mij lukt het dus ook tot make en dan krijg ik dezelfde error. libieee1284 probleem zit hem in de devel package libinlevel -make make install gaan daarna perfiect maar op mijn zoektocht zag ik ineens dat er een patch is voor kink die het probleem voor gcc-3.3.2 oplost maar ik heb dus gcc-3.3.3-41 http://sourceforge.net/tracker/index.php?func=detail&aid=870369&group_id=94447&atid=607962 [code:1:a6297f375d] walter/temp> patch ./kink-0.2.1.tar.bz2 ./kink-0.2.1-alt-gcc3.3-compile-fix.patch patching file ./kink-0.2.1.tar.bz2 Hunk #1 FAILED at 80. Hunk #2 FAILED at 95. Hunk #3 FAILED at 150. 3 out of 3 hunks FAILED -- saving rejects to file ./kink-0.2.1.tar.bz2.rej can't find file to patch at input line 49 Perhaps you should have used the -p or --strip option? The text leading up to this was: -------------------------- |diff -urN kink-0.2.1.orig/kink/kink.h kink-0.2.1/kink/kink.h |--- kink-0.2.1.orig/kink/kink.h 2003-12-14 15:05:03 +0500 |+++ kink-0.2.1/kink/kink.h 2004-01-04 18:28:46 +0500 -------------------------- File to patch: [/code:1:a6297f375d] daar kan ik dus helaas niets mee want ik begrijp dus gen snars van dat patchen. miesschien iemand ???
  • [quote:ac1662d55e="wstolk"]maar op mijn zoektocht zag ik ineens dat er een patch is voor kink die het probleem voor gcc-3.3.2 oplost maar ik heb dus gcc-3.3.3-41 [/quote:ac1662d55e] Bedank voor de link naar de patch. Ik heb deze patch getest op zowel SuSE 9.1 Slackware 10 Mandrake 10 en Fedora 2. Ook op die Fedora Core 2 met die gcc 3.4. Ik heb de patch gekopieerd naar de map van Kink [code:1:ac1662d55e] jolo@linux:~/Downloads/kink/kink/kink-0.2.1> patch -p1 < kink-0.2.1-alt-gcc3.3-compile-fix.patch patching file kink/kink.cpp patching file kink/kink.h [/code:1:ac1662d55e] De patch werkt! Ik heb Kink nu geïnstalleerd op bovengenoemde distro's. Omdat KDE 3.2.x bij nader inzien niets met die compile error te maken had, heb ik de topic titel nogmaals aangepast.
  • Bedankt nu begrijp ik ook tenminste hoe dat werkt met "patchen" :D snapte echt helemaal niets van die manpage :-?

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.