# bouml 3.5 ... cambiare le qt da versione 4 a 3   ???

## 102376

ho cercato ovunque ma non esiste un ebuil peer bouml3.5

quindi ho scaricato da sorgente il pacchetto ed ho cercato di compilare

questo è il risultato......

qualche aiuto?

```
Generate BOUML and the hand made plug-outs

for i in src src/CppGenerator src/CppReverse src/JavaGenerator src/JavaReverse src/JavaCat src/PhpGenerator src/PhpReverse src/IdlGenerator src/PlugOutUpgrade src/ProjectControl src/ProjectSynchro src/RoundtripBody; do if [ -d $i ]; then ( cd $i; qmake; ) || exit 1 ; make -C $i || exit 1 ; fi; done

make[1]: Entering directory `/home/zocram2/Desktop/bouml_3.5/src'

g++ -c -pipe -march=k8 -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Ibrowser -Idata -Idiagram -Idialog -Imisc -Itool -Ixpm -I. -I. -o BrowserAttribute.o browser/BrowserAttribute.cpp

browser/BrowserAttribute.cpp:30:25: error: qpopupmenu.h: No such file or directory

In file included from browser/BrowserNode.h:36,

                 from browser/BrowserAttribute.h:34,

                 from browser/BrowserAttribute.cpp:34:

misc/mystr.h:31:22: error: qstrlist.h: No such file or directory

In file included from browser/BrowserAttribute.h:35,

                 from browser/BrowserAttribute.cpp:34:

misc/Labeled.h:29:23: error: qintdict.h: No such file or directory

misc/mystr.h:46: error: expected ‘,’ or ‘...’ before ‘&’ token

misc/mystr.h:46: error: ISO C++ forbids declaration of ‘QCString’ with no type

misc/mystr.h:49: error: expected type-specifier before ‘QCString’

misc/mystr.h:56: error: ‘QStrList’ does not name a type

misc/mystr.h:92: error: expected ‘,’ or ‘...’ before ‘&’ token

misc/mystr.h:92: error: ISO C++ forbids declaration of ‘QCString’ with no type

misc/mystr.h:104: error: expected type-specifier before ‘QCString’

misc/mystr.h:108: error: expected ‘,’ or ‘...’ before ‘&’ token

misc/mystr.h:108: error: ISO C++ forbids declaration of ‘QCString’ with no type

misc/mystr.h:92: warning: unused parameter ‘QCString’

misc/mystr.h:126: error: expected ‘,’ or ‘...’ before ‘&’ token

misc/mystr.h:126: error: ISO C++ forbids declaration of ‘QCString’ with no type

misc/mystr.h:129: error: expected type-specifier before ‘QCString’

browser/BrowserNode.h:62: error: expected class-name before ‘,’ token

browser/BrowserNode.h:89: error: ‘QListViewItem’ has not been declared

browser/BrowserNode.h: In member function ‘bool BrowserNode::nestedp() const’:

browser/BrowserNode.h:123: error: ‘parent’ was not declared in this scope

browser/BrowserNode.h: At global scope:

browser/BrowserNode.h:242: error: ‘QCollection’ has not been declared

browser/BrowserNode.h:242: error: expected ‘,’ or ‘...’ before ‘item1’

browser/BrowserNode.h:240: warning: ‘class BrowserNodeList’ has virtual functions but non-virtual destructor

misc/Labeled.h:52: warning: ‘update_idmax_for_root’ initialized and declared ‘extern’

misc/Labeled.h:52: error: variable or field ‘update_idmax_for_root’ declared void

misc/Labeled.h:52: error: ‘QIntDict’ was not declared in this scope

misc/Labeled.h:52: error: expected primary-expression before ‘void’

misc/Labeled.h:52: error: expected primary-expression before ‘int’

misc/Labeled.h:52: error: initializer expression list treated as compound expression

misc/Labeled.h:78: error: ISO C++ forbids declaration of ‘QIntDict’ with no type

misc/Labeled.h:78: error: expected ‘;’ before ‘<’ token

misc/Labeled.h: In constructor ‘IdDict<X>::IdDict(int, const char*)’:

misc/Labeled.h:84: error: ‘dict’ was not declared in this scope

misc/Labeled.h: In member function ‘X* IdDict<X>::operator[](int)’:

misc/Labeled.h:87: error: ‘dict’ was not declared in this scope

misc/Labeled.h: In member function ‘void IdDict<X>::remove(int)’:

misc/Labeled.h:91: error: ‘dict’ was not declared in this scope

misc/Labeled.h: In member function ‘void IdDict<X>::clear(bool)’:

misc/Labeled.h:96: error: ‘dict’ was not declared in this scope

misc/Labeled.h:99: error: ‘dict’ was not declared in this scope

misc/Labeled.h: In member function ‘void IdDict<X>::update_idmax_for_root()’:

misc/Labeled.h:104: error: ‘QIntDict’ was not declared in this scope

misc/Labeled.h:104: error: expected primary-expression before ‘void’

misc/Labeled.h:104: error: expected `)' before ‘void’

misc/Labeled.h: At global scope:

misc/Labeled.h:110: error: expected template-name before ‘<’ token

misc/Labeled.h:110: error: expected `{' before ‘<’ token

misc/Labeled.h:110: error: expected unqualified-id before ‘<’ token

browser/BrowserClass.h:57: error: ISO C++ forbids declaration of ‘QValueList’ with no type

browser/BrowserClass.h:57: error: expected ‘;’ before ‘<’ token

browser/BrowserClass.h:81: error: ‘QValueList’ has not been declared

browser/BrowserClass.h:81: error: expected ‘,’ or ‘...’ before ‘<’ token

browser/BrowserClass.h:91: error: ISO C++ forbids declaration of ‘QValueList’ with no type

browser/BrowserClass.h:91: error: expected ‘;’ before ‘<’ token

data/BasicData.h:81: error: expected ‘,’ or ‘...’ before ‘&’ token

data/BasicData.h:81: error: ISO C++ forbids declaration of ‘QCString’ with no type

browser/BrowserActivityAction.h:84: error: ISO C++ forbids declaration of ‘QValueList’ with no type

browser/BrowserActivityAction.h:84: error: expected ‘;’ before ‘<’ token

browser/BrowserActivityAction.h:85: error: ISO C++ forbids declaration of ‘QValueList’ with no type

browser/BrowserActivityAction.h:85: error: expected ‘;’ before ‘<’ token

dialog/MenuTitle.h:31: error: expected class-name before ‘{’ token

misc/strutil.h:40: warning: ‘remove_comments’ initialized and declared ‘extern’

misc/strutil.h:40: error: variable or field ‘remove_comments’ declared void

misc/strutil.h:40: error: ‘QCString’ was not declared in this scope

misc/strutil.h:40: error: ‘s’ was not declared in this scope

misc/strutil.h:41: error: ‘void remove_comments(QString&)’ redeclared as different kind of symbol

misc/strutil.h:40: error: previous declaration of ‘int remove_comments’

misc/strutil.h:42: warning: ‘remove_preprocessor’ initialized and declared ‘extern’

misc/strutil.h:42: error: variable or field ‘remove_preprocessor’ declared void

misc/strutil.h:42: error: ‘QCString’ was not declared in this scope

misc/strutil.h:42: error: ‘s’ was not declared in this scope

misc/strutil.h:48: error: ‘QCString’ does not name a type

browser/BrowserAttribute.cpp: In member function ‘virtual BrowserNode* BrowserAttribute::duplicate(BrowserNode*, QString)’:

browser/BrowserAttribute.cpp:89: error: ‘parent’ was not declared in this scope

browser/BrowserAttribute.cpp:92: error: no matching function for call to ‘BrowserAttribute::set_name(QString&)’

browser/BrowserNode.h:98: note: candidates are: virtual void BrowserNode::set_name(const char*)

browser/BrowserAttribute.cpp: In member function ‘void BrowserAttribute::add_get_oper()’:

browser/BrowserAttribute.cpp:171: error: ‘parent’ was not declared in this scope

browser/BrowserAttribute.cpp: In member function ‘void BrowserAttribute::add_set_oper()’:

browser/BrowserAttribute.cpp:177: error: ‘parent’ was not declared in this scope

browser/BrowserAttribute.cpp: In member function ‘virtual void BrowserAttribute::paintCell(QPainter*, const QColorGroup&, int, int, int)’:

browser/BrowserAttribute.cpp:205: error: ‘class QPainter’ has no member named ‘backgroundColor’

browser/BrowserAttribute.cpp:208: error: ‘OpaqueMode’ was not declared in this scope

browser/BrowserAttribute.cpp:209: error: ‘class QPainter’ has no member named ‘setBackgroundColor’

browser/BrowserAttribute.cpp:215: error: ‘QListViewItem’ has not been declared

browser/BrowserAttribute.cpp:218: error: ‘TransparentMode’ was not declared in this scope

browser/BrowserAttribute.cpp:219: error: ‘class QPainter’ has no member named ‘setBackgroundColor’

browser/BrowserAttribute.cpp: In member function ‘virtual void BrowserAttribute::menu()’:

browser/BrowserAttribute.cpp:224: error: ‘parent’ was not declared in this scope

browser/BrowserAttribute.cpp:227: error: variable ‘QPopupMenu m’ has initializer but incomplete type

browser/BrowserAttribute.cpp:228: error: variable ‘QPopupMenu toolm’ has initializer but incomplete type

browser/BrowserAttribute.cpp: In member function ‘void BrowserAttribute::exec_menu_choice(int)’:

browser/BrowserAttribute.cpp:301: error: ‘parent’ was not declared in this scope

browser/BrowserAttribute.cpp:313: error: ‘parent’ was not declared in this scope

browser/BrowserAttribute.cpp: In member function ‘virtual void BrowserAttribute::apply_shortcut(QString)’:

browser/BrowserAttribute.cpp:319: error: ‘parent’ was not declared in this scope

browser/BrowserAttribute.cpp: In member function ‘virtual void BrowserAttribute::modified()’:

browser/BrowserAttribute.cpp:365: error: ‘repaint’ was not declared in this scope

browser/BrowserAttribute.cpp:366: error: ‘parent’ was not declared in this scope

browser/BrowserAttribute.cpp: In member function ‘virtual QString BrowserAttribute::full_name(bool, bool) const’:

browser/BrowserAttribute.cpp:395: error: ‘parent’ was not declared in this scope

browser/BrowserAttribute.cpp: In static member function ‘static void BrowserAttribute::compute_referenced_by(QList<BrowserNode>&, BrowserNode*)’:

browser/BrowserAttribute.cpp:417: error: variable ‘IdIterator<BrowserAttribute> it’ has initializer but incomplete type

browser/BrowserAttribute.cpp: In member function ‘virtual void BrowserAttribute::DropAfterEvent(QDropEvent*, BrowserNode*)’:

browser/BrowserAttribute.cpp:443: error: ‘parent’ was not declared in this scope

browser/BrowserAttribute.cpp:445: error: invalid use of undefined type ‘struct QDropEvent’

/usr/include/qt4/QtGui/qwidget.h:83: error: forward declaration of ‘struct QDropEvent’

browser/BrowserAttribute.cpp: In static member function ‘static void BrowserAttribute::post_load()’:

browser/BrowserAttribute.cpp:457: error: variable ‘IdIterator<BrowserAttribute> it’ has initializer but incomplete type

browser/BrowserAttribute.cpp: In static member function ‘static BrowserAttribute* BrowserAttribute::read(char*&, char*, BrowserNode*, bool)’:

browser/BrowserAttribute.cpp:565: error: no matching function for call to ‘BrowserAttribute::set_parent(BrowserNode*&)’

browser/BrowserNode.h:89: note: candidates are: void BrowserNode::set_parent(int*)

browser/BrowserAttribute.cpp:566: error: no matching function for call to ‘BrowserAttribute::set_name(QString&)’

browser/BrowserNode.h:98: note: candidates are: virtual void BrowserNode::set_name(const char*)

make[1]: *** [BrowserAttribute.o] Error 1

make[1]: Leaving directory `/home/zocram2/Desktop/bouml_3.5/src'

make: *** [compile] Error 1
```

Last edited by 102376 on Sat Feb 02, 2008 7:54 pm; edited 1 time in total

----------

## bender86

Sembra che tu stia compilando con qmake versione 4.x, mentre dovresti usare una versione 3.x.

----------

## 102376

grazie mille.

infatti uso la versione 4.

ma c'è un modo per cambiare versione? infatti è slot.....

a me basterebbe cambiare il comando qmake da versione 4 a 3.

tipo un eselect

----------

## bender86

Non so se sia possibile con tool tipo eselect. Dovresti eseguire direttamente qmake versione 3 (che sarà da qualche parte in /usr/qt/3/bin, usa equery files per trovarlo). Se invece viene invocato da uno script configure, forse si può cambiare qualche variabile d'ambiente, come QTDIR, per farla puntare all'installazione della versione 3.

Non posso darti più informazioni perché non ho sottomano una gentoo desktop. Magari guarda gli ebuild di programmi che usano qt3, per capire come usare qmake versione giusta.

----------

## Scen

La versione 3.5 non è ancora disponibile perchè, molto probabilmente, il mantenitore del pacchetto è impegnato; difatti:

```

$ herdstat -m dev-util/bouml

Package:          dev-util/bouml[1]

Herds(0):         none

Maintainers(1):   ferdy@gentoo.org*

License:          GPL-2

Homepage:         http://bouml.free.fr/

Description:      Free UML 2 tool with code generation

* Currently away

```

Comunque basta che ti copi il 3.4 in un tuo overlay locale, rinomini il file in bouml-3.5.ebuild, rigeneri il Manifest, e vai con la compilazione!

In pratica:

Assicurati di avere /PORTDIR_OVERLAY=/usr/local/portage nel tuo /etc/make.conf

```

mkdir -pv /usr/local/portage/dev-util

cp -av /usr/portage/dev-util/bouml /usr/local/portage/dev-util/

cd /usr/local/portage/dev-util/bouml

cp -v bouml-3.4.ebuild bouml-3.5.ebuild

RESTRICT="nomirror" ebuild bouml-3.5.ebuild manifest

```

emerge -aDuv world

Eventualmente, se ti funziona tutto, apri un bug report con una richiesta di "version bump".

----------

## 102376

ottimo, funziona alla grande....

mi sa proprio che apro un bug.......

grazie mille

----------

## Scen

 *zocram wrote:*   

> ottimo, funziona alla grande....
> 
> mi sa proprio che apro un bug.......
> 
> grazie mille

 

Bene, allora aggiunti il solito tag [RISOLTO].

Se non hai mai aperto bug di questo tipo, questo è un esempio di cosa scrivere  :Wink: 

----------

## 102376

azz non avevo letto il tuo post.........

penso comunque che possa andare bene...

https://bugs.gentoo.org/show_bug.cgi?id=208736

----------

## Scen

Sì, report prolisso ma corretto  :Cool: 

----------

