Page 1 of 1

[CompArch] JTC library

Posted: Sun Aug 05, 2007 8:51 pm
by Robbe
Heeft iemand die al werkende gekregen op een linux distributie? Zo ja, please share :(

op de twaalfde lijn van output van configure geeft hij al

Code: Select all

configure: error: can not run ../config/config.sub
waarna hij het opgeeft en dus niet meer verder configureert om jtc te kunnen compilen.

alternatieve methodes om toch nog die oefeningen te kunnen maken zijn ook welkom natuurlijk :)

Posted: Sun Aug 05, 2007 8:57 pm
by Norfolk
maak die op de fenix? die had er toch een compiled versie voor de fenix bijgestoken

Re: [CompArch] JTC library

Posted: Sun Aug 05, 2007 8:57 pm
by Shinta
Robbe wrote:Heeft iemand die al werkende gekregen op een linux distributie? Zo ja, please share :(

op de twaalfde lijn van output van configure geeft hij al

Code: Select all

configure: error: can not run ../config/config.sub
waarna hij het opgeeft en dus niet meer verder configureert om jtc te kunnen compilen.

alternatieve methodes om toch nog die oefeningen te kunnen maken zijn ook welkom natuurlijk :)
Kdenk dage best aan den Dewolfs vraagt vo een sun precompiled versie en dan uw programma op de fenix runne.

Posted: Mon Aug 06, 2007 6:33 pm
by Robbe
precompiled versie voor op fenix is idd beschikbaar. Zal het daar dan maar op doen zeker :(

Posted: Wed Aug 22, 2007 12:27 am
by Robbe
ik zit met een hele rare compiler error in volgend stukje code:

Code: Select all

#include <iostream>
#include <vector>
#include <JTC/JTC.h>


namespace Wolves
{
using namespace std;

class FeedingPot : public JTCMonitor
{
public:
FeedingPot();
virtual ~FeedingPot();

bool isFull();
void emptyPot();
void fillPot();
private:
bool fFull;
};
//...
compiler-output

Code: Select all

Wolfs.h:20: error: expected class-name before '{' token
Wolfs.h:33: error: expected class-name before '{' token
Wolfs.h:48: error: expected class-name before '{' token
s3oef1.cpp: In function `int main()':
s3oef1.cpp:20: error: `JTCInitialize' was not declared in this scope
s3oef1.cpp:20: error: expected `;' before "init"
s3oef1.cpp:29: error: `JTCThreadHandle' was not declared in this scope
s3oef1.cpp:29: error: template argument 1 is invalid
s3oef1.cpp:29: error: template argument 2 is invalid
s3oef1.cpp:29: error: invalid type in declaration before '(' token
s3oef1.cpp:31: error: invalid types `int[int]' for array subscript
s3oef1.cpp:32: error: invalid types `int[int]' for array subscript
s3oef1.cpp:36: error: invalid types `int[int]' for array subscript
Wolfs.h:20 slaagt op { na class FeedingPot : public JTCMonitor.
s3oef1.cpp:20 slaagt op het veelgebruikte JTCInitialize init;

iemand een idee waaraan het kan liggen en hoe ik het eventueel kan oplossen? Alvast bedankt :)

Posted: Wed Aug 22, 2007 4:57 pm
by Yo_rik
Het ziet er uit alsof JTC.h niet gevonden wordt. Controleer eens of de -I compiler flag naar de juiste map wijst (de include-map binnen jthreads).

Posted: Wed Aug 22, 2007 6:41 pm
by Robbe
Yo_rik wrote:Het ziet er uit alsof JTC.h niet gevonden wordt. Controleer eens of de -I compiler flag naar de juiste map wijst (de include-map binnen jthreads).
Dat dacht ik ook dat het was, maar de cpp waar de gegeven code uit komt, compileert probleemloos. Het enige probleem is het linken en er dus een executable van maken...

tenzij die jthreads die je bedoelt niet die voorgecompileerde tarball is die op BB staat?

Posted: Wed Aug 22, 2007 9:27 pm
by Yo_rik
Robbe wrote:tenzij die jthreads die je bedoelt niet die voorgecompileerde tarball is die op BB staat?
Jawel, ik gebruik die ook :P.
Toon anders eens welk commando ge gebruikt om te linken. Hier is een vb van tgeen ik gebruik:

Code: Select all

g++ main.o atomicOut.o -o main.exe -L$(JTC_LIB) -lJTC -lpthread -lrt

Posted: Wed Aug 22, 2007 9:58 pm
by Robbe
Yo_rik wrote:Toon anders eens welk commando ge gebruikt om te linken.
ik zal makefile ff posten:

Code: Select all

JTCROOT=/export/home/p05/p051403/threading/JTC-1.0.6
JTCINC=-c -I$(JTCROOT)/include
JTCLIB=-L$(JTCROOT)/lib -lpthread -lJTC -lrt

COMPILE=g++ -o $@ $^ $(JTCINC)
LINK=g++ -o $@ $^ $(JTCLIB)
.PHONY=clean

%.o: %.cpp
g++ -o $*.o $*.cpp $(JTCINC)
%: %.o
g++ -o $* $< $(JTCLIB)
s3oef1: s3oef1.cpp Wolfs.o Semaphore.o
$(LINK)

clean:
@rm *.o
in het kort geeft dit volgende commando's

Code: Select all

g++ -o Wolfs.o Wolfs.cpp -c -I$(JTCROOT)/include
g++ -o Semaphore.o Semaphore.cpp -c -I$(JTCROOT)/include
g++ -o s3oef1 s3oef1.cpp Wolfs.o Semaphore.o -L$(JTCROOT)/lib -lpthread -lJTC -lrt
EDIT1: nu bedenk ik juist dat het wel eens zou kunnen liggen aan het feit dat ik niet eerst s3oef1.cpp gecompileert hebt voordat ik het link

EDIT2: dat was het dus :oops: bedankt voor de moeite Yo_rik. NU is het hopen dat andere mensen ook uit mijn fouten kunnen leren :D