Fot melding bij gebruik Boost Library

Ik probeer een programma te compileren met de gnu c++ compiler.
Op het moment dat het configure file wordt gelezen wordt de pthreads library niet herkend.
Volgens de maker het programma zou ik iets missen in Boost.
Ik heb alle geinstalleerde Boost componenten gecontroleerd en volgens mij is alles correct geinstalleerd.

De uitvoer op het scherm is als volgt:

janzoon@linux-bxmf:~/burrtools-0.6.2/burrtools-0.6.2> ./configure
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
checking build system type… x86_64-unknown-linux-gnu
checking host system type… x86_64-unknown-linux-gnu
checking target system type… x86_64-unknown-linux-gnu
checking for a BSD-compatible install… /usr/bin/install -c
checking whether build environment is sane… yes
checking for a thread-safe mkdir -p… /bin/mkdir -p
checking for gawk… gawk
checking whether make sets $(MAKE)… yes
checking whether to enable maintainer-specific portions of Makefiles… no
checking for ranlib… ranlib
checking for gcc… gcc
checking whether the C compiler works… yes
checking for C compiler default output file name… a.out
checking for suffix of executables…
checking whether we are cross compiling… no
checking for suffix of object files… o
checking whether we are using the GNU C compiler… yes
checking whether gcc accepts -g… yes
checking for gcc option to accept ISO C89… none needed
checking for style of include used by make… GNU
checking dependency style of gcc… gcc3
checking for g++… g++
checking whether we are using the GNU C++ compiler… yes
checking whether g++ accepts -g… yes
checking dependency style of g++… gcc3
checking whether gcc and cc understand -c and -o together… yes
checking for the pthreads library -lpthreads… no
checking whether pthreads work without any flags… no
checking whether pthreads work with -Kthread… no
checking whether pthreads work with -kthread… no
checking for the pthreads library -llthread… no
checking whether pthreads work with -pthread… yes
checking for joinable pthread attribute… PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads… no
checking for fltk-config… /usr/bin/fltk-config
checking for uncompress in -lz… yes
checking for boostlib >= 1.33.1… yes
checking whether the Boost::Test_Exec_Monitor library is available… yes
configure: error: Could not find a version of the library!
janzoon@linux-bxmf:~/burrtools-0.6.2/burrtools-0.6.2>

Indien meer data nodig is wil ik dat indien mogelijk graag beschikbaar stellen.

Jan Zoon

Hallo Jan,

Allereerst een dringend verzoek: Wil je aub CODE tags gebruiiken rond alle computertekst die je hier kipieëer/plakt: http://forums.opensuse.org/english/information-new-users/advanced-how-faq-read-only/451526-posting-code-tags-guide.html ?
Persoonlijk begin ik er niet eens aan om het te lezen als dat niet is gedaan.

Ten tweede, je wilt geloof ik niet alleen een (je eigen?) programma compileren, maar een tarball die je ergens vandaan hebt te bouwen. Dat houdt meer in dan alleen compileren. Waarschijnlijk heb je al in de README file die er bij zit gelezen dat je verschillende stappen moet doen en ben je nu bezig met de eerste stap (dat is nog lang een compileren).

Ten derde, waarom zo geheimzinnig. Waarom niet gewoon verteld welke applicatie je probeert te bouwen en niet “een programma”. Daar wordt e.e.a niet duidelijker van voor ons. Ook trek je conclusies, in plaats van ons in de gelegenheid te stellen die conclusies te trekken. Dus niet “Volgens de maker het programma zou ik iets missen in Boost.”, maar bijv. de tekst van de README (tussen CODE tags!) of zijn mail-tekst o.i.d. Ook niiet “Ik heb alle geïnstalleerde Boost componenten gecontroleerd en volgens mij is alles correct geïnstalleerd.”, maar de uitvoer van de desbetreffende programma’s (zypper of rpm en tussen CODE tags!).

Ten slotte heb jij een probleem, je ziet misschien iets over het hoofd, of trekt een verkeerde conclusie. Dat kan alleen gevonden worden als wij alle gegevens (nou ja, alle, zo veel mogelijk :wink: ) van je krijgen. En wij zijn zeer argwanend. De mens maakt veel fouten, maar de computer liegt niet.

Ik wil ook erg graag de output tussen CODE tags, krijg het 's avonds anders niet meer voor elkaar uit een lapje tekst logica te halen.

Het enige wat ik nu kan zeggen, is dat je waarschijnlijk -devel pakketten mist, ten eerste boost-devel, maar er zullen er nog wel meer zijn. Installeren, opnieuw ./configure draaien, net zo lang totdat die nergens meer over mekkert, maar er netjes doorheenloopt.

Hallo Henk

Als eerste de CODE tags:
De vorige keer vroeg je:

        PS. Waar komen toch iedere keer die [/QOUTE] en soortgelijke dingen aan het eind van je post vandaan? 				

Dat was een poging van mij om CODE tags te plaatsen. Ik wist toen nog niet waar, waarom en hoe.
Ik ben hier in een voor mij compleet nieuwe wereld en heb na 66 jaar echt wel geleerd dat alle begin moeilijk is.
Ik heb echter ook geleerd dat als je niet begint je nooit ergens komt.
Toen ik 40 jaar geleden voor het eerst leerde programmeren ging dat heel anders dan nu. Geef me gewoon wat meer tijd en blijf aanwijzingen geven.
Met compileren bedoel ik dat de hogere programeertaal (hier c++)wordt omgezet in machinecoding die de computer nodig heeft om een programma uit te voeren.
De coding bevindt zich momenteel in een .src file en voor die uigevoerd kan worden moet eerst door de ‘configure’ file worden uitgezocht of alle benodigde hulpprograma’s en libraries aanwezig zijn en op mijn computer zijn afgestemd. Dit hele proces, opgenomen in een door U genoemd fenomeen Tarball, werkte onder Windows zonder enig probleem en leverde een .exe die keurig werkte. Ik weet ik moet niet steeds terug naar Windows maar soms moet ik gewoon even vergelijken. Aangzien er niet alleen een verschil is tussen 32-bits en 64 bits machines maar ook een verschil in de verschillende Linux systemen begrijp ik best dat e.e.a. hier gewoon gecompliceerder werkt.
Volgens mij en ook de schrijver van het programma waar ik mee bezig is er inderdaad iets niet goed of nog niet geinstalleerd. Vandaar mijn stap naar dit forum waar men veel meer kennis heeft over openSuse dan ik.
Ik heb mijn hele systeen inmiddels al achtmaal opnieuw geinstalleerd nadat ik “misschien” verkeerde libraries cq hulpprogreamma’s had geinstalleerd. Ook heb ik gekeken of er enig verschil bestond bij gebruik van de Gnome en de KDE desktop maar zonder resultaat.
Het is verder ook geen geheim dat ik met het programma Burrtools aan de gang ben, dat stond volgens mij gewoon in de eerste regel van het schermuitvoer hier boven.
Dit is een programma gemaakt door o.a. Andreas Roever een lid van onze kubus club. Andreas woont in Leipzig en ook met hem ben ik in emailcontact om mij te helpen bij de eerste instalolatie van een Linux toepassing.
Zelf programmeer ik momenteel in TurboPascal en gebruik ik het Delphi ontwikkelsysteem om mijn Kubus programma voor Windows te maken. Mijn plan is echter om over te stappen naar C++ en naar Linux.
De keuze C++ is gedaan omdat ik merkte dat niemand in mijn kubus omgeving met Windows werkte en iedereen bezig was met C++ waarin vele routines te aanwezig die ik zou kunnen gebruiken om mijn programma sneller en mooier te maken.
Wel ik ga maar weer eens verder met zoeken.
Toch nog een laatste vraagje.
Als ik via Yast naar Software managment ga dan geef ik in het zoekvenster de naam Boost in. Er staan dan een vinkje bij Boost-devel en bij all verdere libboost entries die betrekking hebben op 46_1 . Voor alle 32 bits entries staan geenl vinkjes. Ik neem dus aan dat alle 'boost - packages" zijn geinstalleerd en dus kunnen worden gebruikt.
Groetjes Jan Zoon

Dag Jan,

Bedankt voor de introductie.

Als je onder openSUSE de juiste ontwikkeltools en libs hebt geïnstalleerd, is software van source naar binary compileren (zo heet dat onder linux ook gewoon) een fluitje van een cent. Het verhaal wordt anders als je niet weet waar de maker van de source e.e.a. op ontwikkeld heeft. Of 't specifiek voor 32bits ontwikkeld is (dan zou je de boost-*-32bit pakketten moeten installeren.
Ik heb de burrtools code al gevonden op sourceforge, zal eens even een poging wagen op mijn zandbak-laptop

Heel Hartelijk dank en ik zal de eerste paar zinnen vande schermuitvoer proberen te voorzien van codetags

janzoon@linux-bxmf:~/burrtools-0.6.2> ./configure
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu

Is dit wat er wordt bedoeld met codetags

Jan Zoon

Veder nog een aanwijzing: Na de eerste uitvoering van ./configure was de schermoutput beduidend minder . Ik had contact met Andreas Roever ebn hij stuurde mij een additionele file die ik uitmoest pakken de inhoud (helpdata.cpp) vervolgens copieren in de src map. Daarna verliep het process beter. Inmiddels weer contact gehad met Andreas Roever en die geeft nu aan dat de pthreads library waarschijnli9jk niet aanwezig is. Ik heb ook in het internet gezocht en daar wordt onder Opensuse 12.1 en pthreads geschreven over een patch. Wel ik ben te nieuw om nu al zonder hulp het een patch uit te proberen. Indien U de file ’ helpdata.cpp’ nodig heeft wilt U dan even aangeven hoe ik die kan doorgeven.

Jan Zoon

Een stukje verder, klaar om “make” uit te gaan voeren. Eerst maar vertellen, dat ik dit in mijn beginjaren met linux enorm veel gedaan heb, dit puzzelen en “configure” en “Makefile” bestanden lezen en bewerken. Wat ik gedaan heb is het volgende:


knurpht@laptop:~/burrtools-0.6.2> ls
aclocal.m4  AUTHORS        ChangeLog   config.status  configure.ac  COPYRIGHT  doc_src      doxygen.cfg.in  INSTALL   Makefile.am  NEWS    src
admin       burricons.ico  config.log  configure      COPYING       doc        doxygen.cfg  examples        Makefile  Makefile.in  README

aangezien bij mij ./configure er net zo uitklapt als bij jou, kijk ik in het bestand “configure”, en zie een lijst met opties, o.a. " --help ". Ik doe


./configure --help

en ik kom daarin een aantal opties tegen, waarmee je het compilatie- en configuratieproces kunt beïnvloeden. Uiteindelijk doe ik dit


./configure --with-boost-test-exec-monitor=no

en ./configure loopt het hele proces door. Dat lijkt dan één, even “make” runnen en klaar. Maar, “make” knalt er nu uit:



/usr/include/boost/test/unit_test_log.hpp:131: undefined reference to `vtable for boost::unit_test::unit_test_log_t'
collect2: ld returned 1 exit status
make[2]: *** [unitTest] Fout 1
make[2]: Map '/home/glosscomputer/burrtools-0.6.2/src' wordt verlaten
make[1]: *** [all] Fout 2
make[1]: Map '/home/glosscomputer/burrtools-0.6.2/src' wordt verlaten
make: *** [all-recursive] Fout 1

Wel ik krijg precies hetzelfde resultaat alleen de naam van de computer (voor /burrtools-0 …) is anders en verwijst naar mijn computer.
Ik heb dit alles gemeld aan Andreas Roever en volgens hem was pthread niet geinstalleerd op mijn systeem volgens hem was dat vroeger wel het geval.
Ik moest zoeken naat Native POSIX Thread maar ook dat kan ik via Yast niet vinden.
Ik heb ook nog even gezocht via internet en daar vind ik wel enige discussie rond dit package maar nog waar ik enig houvast aan heb.

Jan Zoon

Beste Jan, het is niet erg als je iets niet begrijpt. Wij moten hier ook maar radn wat wel en wat niet duidelijk is voor je. Maar zeg dat dan onmidelijk en vertel waar de moeilijkhedeb beginnen en vraag on uitlge. Dus als ik zeh:

Allereerst een dringend verzoek: Wil je aub CODE tags gebruiiken rond alle computertekst die je hier kipieëer/plakt: http://forums.opensuse.org/english/i…ags-guide.html ?

En je hebt daar problemen mee, zeg dat dan. Dus als je die link niet kunt openen: zeg het. Als je ergens halverwege die uitleg daar iets niet begrijpt: vertel tot hoever je bent gekomen en vertel waarom je daar bent blijven steken. Maar doe één ding niet. Doorgaan alsof ik niets heb gezegd. Op zijn best probeer ik je nog eens je zover te krijgen dat mijn woorden niet in een zwart gat vallen, maar het is goed mogelijk dat ik mijn abonnement op de thread opzeg en voortaan al je problemen negeer.

Kortom de discussie moet van twee kanten komen en we gaan niet verder met b als a niet duidelijk is. Dat is gewoon logica en heeft niets met Linux te maken, maar alles met het begrijpelijk “praten” zonder elkaar te zien of the zien wat de ander doet. Het is misschien een primitieve wijze van communiceren, maar ik kan moeilijk naast je voor de computer komen zitten (hoewel, als je dichtbij woont …).

Hallo Henk
De code tags zijn nu duidelijk en worden voortaan door mij gebruikt. Nog bedankt voor de link.
V.w.b. het probleem, dat is er nog steeds.
De global moderator Kurpht heeft de source code van Burrtools (het programma waarmee de moeilijkheden begonnen) gedownload van sourceforge.net: http://prdownloads.sourceforge.net/b…ar.gz?download en op zijn laptop uitgeprobeerd. De resultaten zijn gelijk.
Ik heb dit alles gemeld aan Andreas Roever en volgens hem was pthread niet geinstalleerd op mijn systeem volgens hem was dat vroeger wel het geval in het opensuse systeem waar hij het op uitgetest had.
Ik moest zoeken naat Native POSIX Thread maar ook dat kan ik via Yast niet vinden.
Ik heb ook nog even gezocht via internet en daar vind ik wel enige discussie rond dit package maar nog waar ik enig houvast aan heb.
Mocht er nog iets niet duidelijk zijn in mijn vraag of antwoord of heb je nog andere informatie nodig, wil je dan even een seintje geven.
En nogmaals ik ben blij en dankbaar voor alle geboden hulp.

Jan Zoon

Je zou de maker kunnen vragen op welke openSUSE hij gecompileerd heeft. Het is niet alleen in jouw belang. Ik heb geprobeerd om de code gecompileerd te krijgen op Fedora, loop tegen exact hetzelfde probleem op. Mijns inziens is dit dan niet een openSUSE probleem, maar een probleem in de code. Is toch niet goed, als je software maakt die niet op elke distro te compileren is. Dat dat gebeurt op oudere distros kan ik me nog voorstellen.

Ik heb contact met de maker gehad. Hij wist niet meer met welke versie van openSUSE het programma was uitgetest. Zelf gebruikt hij Gentoo-Linux. Aangezien hij het momenteel erg druk heeft hebben we afgesproken dat ik mij na de vakantie periode weer zal melden. Hetzelfde geldt da uiteraard voor dit forum. Zodra er enig licht in de duisternis is gekomen of indien er weer nieuwe vragen zijn meld ik mij weer terug.
Tot nu toe hartelijk dank.
Jan Zoon

Is prima. Laat maar horen, ik ben wel benieuwd. 't Lijkt me ook in het belang van de makers (die toch in ieder geval vast grote verspreiding willen) dat de source op elke distro goed compileert, en daarna draait.