# Compiler Qucs (avec Qt) sous Mac OS X



## overmac (27 Août 2006)

Bonjour à tous,
je suis un utilisateur du prometteur logiciel Qucs (soft de simulation de circuits électroniques) qui à été conçu sur Qt. Donc, ce soft peut fonctionner sur différentes plates-formes dont Mac OS X.
Seulement, le portage sur des plates-formes autres que Linux ne se fait pas par l'équipe en charge du développement de Qucs, mais par des volontaires qui mettent à disposition leurs temps pour cette tâche. La personne qui s'occupe du portage pour Mac (qui se nomme Markus) s'est arrêter à la version 0.0.8 (actuellement on en est à la 0.0.9-1) et semble ne plus pouvoir continuer l'aventure faute de temps :


> Hello,
> 
> thanks for your email. ATG is a leisure time project so there is
> usually at least some delay before a new version of any of the
> ...


 Pour compiler ce logiciel, il faut Qt version 3 et donc installer la version minimum 3.3.6, pour mac. Elle doit se trouver ici : previous version
On peut lire dans le fichier d'installation :


> INSTALLING Qt/Mac Version 3.3.6 (for Mac OS X)
> 
> 
> 1. Unpack the archive if you have not done so already:
> ...


 Donc j'ouvre le fichier _.profile_ avec la commande _*open .profile*_. Dedans j'ai la ligne :

```
test -r /sw/bin/init.sh && . /sw/bin/init.sh
```
 puis je rajoute le reste, ce qui donne dans ce fichier :

```
test -r /sw/bin/init.sh && . /sw/bin/init.sh
QTDIR=/Developer/qt
PATH=$QTDIR/bin:$PATH
DYLD_LIBRARY_PATH=$QTDIR/lib:$DYLD_LIBRARY_PATH

export QTDIR PATH DYLD_LIBRARY_PATH
```
 Ensuite, j'enregistre ce fichier (il était en lecture seule donc j'ai dû l'écraser) et je tape dans le terminal la commande :

```
ln -s $QTDIR/doc/man $QTDIR/man
```
 mais j'obtiens comme réponse :

```
DYLD_LIBRARY_PATH=/sw/lib:/man: No such file or directoryin:/usr/X11R6/bin
```
Je ne sais ce qu'il faut faire maintenant pour continuer l'installation de Qt.
Quelqu'un aurait-il une idée ?

Merci


----------



## ntx (27 Août 2006)

Après avoir modifier le .profile, il faut "sourcer" ce fichier : 'source .profile' pour prendre en compte les modifications.


----------



## overmac (27 Août 2006)

ntx a dit:
			
		

> Après avoir modifier le .profile, il faut "sourcer" ce fichier : 'source .profile' pour prendre en compte les modifications.


 J'ai ouvert le terminal et tapé :

```
source .profile
```
 après, le terminal me redonne la main. Je retape 

```
ln -s $QTDIR/doc/man $QTDIR/man
```
 mais j'obtiens toujours :

```
DYLD_LIBRARY_PATH=/sw/lib:/man: No such file or directoryin:/usr/X11R6/bin
```


----------



## ntx (27 Août 2006)

Et 'echo $QTDIR' donne quoi ?


----------



## overmac (27 Août 2006)

ntx a dit:
			
		

> Et 'echo $QTDIR' donne quoi ?


 La réponse est :

```
DYLD_LIBRARY_PATH=/sw/lib:bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
```


----------



## ntx (27 Août 2006)

Donc il y a un problème dans ton fichier .profile. Tu devrais avoir "/Developer/qt". Vérifie ton fichier.


----------



## overmac (27 Août 2006)

ntx a dit:
			
		

> Donc il y a un probl&#232;me dans ton fichier .profile. Tu devrais avoir "/Developer/qt". V&#233;rifie ton fichier.


 Voil&#224; ce que j'ao quand j'ouvre le fichier :

```
test -r /sw/bin/init.sh && . /sw/bin/init.sh
QTDIR=/Developer/qt
PATH=$QTDIR/bin:$PATH
DYLD_LIBRARY_PATH=$QTDIR/lib:$DYLD_LIBRARY_PATH

export QTDIR PATH DYLD_LIBRARY_PATH
```
Et j'ai bien le dosssier qt dans le dosseir Developer.


----------



## ntx (27 Août 2006)

Commente la ligne qui commence par test (met un #) et vois ce que cela donne.


----------



## overmac (27 Août 2006)

ntx a dit:
			
		

> Commente la ligne qui commence par test (met un #) et vois ce que cela donne.


 Je viens de le faire, et j'ai "sourcer" le fichier. A la fin, j'obtiens ça :

```
DYLD_LIBRARY_PATH=/sw/lib:/bin:/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/uDYLD_LIBRARY_PATH=/sw/lib:/lib:/man: No such file or directorysr/X11R6/bin
```


----------



## ntx (27 Août 2006)

Avec quelle application as-tu édité ton fichier ?


----------



## overmac (28 Août 2006)

ntx a dit:
			
		

> Avec quelle application as-tu édité ton fichier ?


Textedit


----------



## ntx (28 Août 2006)

Il vaut mieux utiliser un éditeur de texte "Unix" dans le terminal comme pico, emacs ou vi. Textedit va ajouter des caractères de contrôles dans tes lignes d'où tes problèmes. Si tu fais "more .profile" je pense qu'il y a des caractères indésirables qui traînent


----------



## overmac (28 Août 2006)

ntx a dit:
			
		

> Il vaut mieux utiliser un éditeur de texte "Unix" dans le terminal comme pico, emacs ou vi. Textedit va ajouter des caractères de contrôles dans tes lignes d'où tes problèmes. Si tu fais "more .profile" je pense qu'il y a des caractères indésirables qui traînent


 J'ai ça dans mon fichier :

```
#test -r /sw/bin/init.sh && . /sw/bin/init.sh
QTDIR=/Developer/qt^MPATH=$QTDIR/bin:$PATH^MDYLD_LIBRARY_PATH=$QTDIR/lib:$DYLD_L
IBRARY_PATH

export QTDIR PATH DYLD_LIBRARY_PATH
```
je vais essayer de réparer avec vi, ou autre


----------



## ntx (28 Août 2006)

overmac a dit:
			
		

> J'ai ça dans mon fichier :
> 
> ```
> #test -r /sw/bin/init.sh && . /sw/bin/init.sh
> ...


Les retours chariot sont remplacés par des "^M" : ça marche forcement moins bien. :rateau:


----------



## overmac (29 Août 2006)

Voil&#224;, &#231;a m'&#224; demand&#233; presque toute la nuit mais &#231;a y est, Qt est install&#233; :

```
The Qt library is now built in ./lib
The Qt examples are built in the directories in ./examples
The Qt tutorials are built in the directories in ./tutorial

Enjoy!   - the Trolltech team
```
Maintenant, je suis &#224; l'&#233;tape 6. Je vais voir comment faire pour compiler les sources du logiciel Qucs pour Mac OS X PPC. Par contre je n'ai pas trop bien compris la derni&#232;re &#233;tape, c'est quelle options que je dois mettre ?

Merci&#8230;


----------



## ntx (29 Août 2006)

Dans l'étape 6, tu crées des liens symboliques dans le répertoire des librairies sur la librairie Qt que tu viens de compiler. Tu peux soit le positionner dans /usr/lib ou dans $HOME/lib, ailleurs si tu veux. Tu peux même utiliser celle qui est dans /Developer/qt/lib. C'est comme tu veux en fait, il faudra juste donner la bonne indication au compilateur quand tu construiras Qucs : l'option -L de gcc.


----------



## overmac (29 Août 2006)

ntx a dit:
			
		

> Dans l'étape 6, tu crées des liens symboliques dans le répertoire des librairies sur la librairie Qt que tu viens de compiler. Tu peux soit le positionner dans /usr/lib ou dans $HOME/lib, ailleurs si tu veux. Tu peux même utiliser celle qui est dans /Developer/qt/lib. C'est comme tu veux en fait, il faudra juste donner la bonne indication au compilateur quand tu construiras Qucs : l'option -L de gcc.


Ok merci. Je regarderai ça ce soir chez moi.


----------



## overmac (2 Septembre 2006)

Je viens de télécharger la dernière version de Qucs : 0.0.10
Nous pouvons lire ça dans le fichier INSTALL :


> Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
> Foundation, Inc.
> 
> This file is free documentation; the Free Software Foundation gives
> ...


 Le dossier qucs-0.0.10 est sur mon bureau. Donc depuis le Terminal, je vais dans ce dossier puis je tape : *./configure
*

```
power-mac-g4-de-overmac-overmac:~/Desktop/qucs-0.0.10 overmac$ ./configure
checking build system type... powerpc-apple-darwin8.7.0
checking host system type... powerpc-apple-darwin8.7.0
checking target system type... powerpc-apple-darwin8.7.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking for ar... ar

  The qucs package has never been compiled or run on this platform.
  Please send an email to <qucs-devel@lists.sourceforge.net> including your
  compiler and Qt version and whether it worked correctly or not.  The
  'powerpc-apple-darwin8.7.0' line will then be added to the PLATFORMS file included
  in this package.

checking for lrelease... /Developer/qt/bin/lrelease
checking for lupdate... /Developer/qt/bin/lupdate
checking for moc... /Developer/qt/bin/moc
checking for uic... /Developer/qt/bin/uic
checking how to run the C preprocessor... gcc -E
checking for X... libraries /usr/X11R6/lib, headers in standard search path
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for Qt headers... found in /Developer/qt/include
checking for Qt... 3 (multi-threaded)
checking for Qt library... configure: error: not found
```
 Je ne sais pas comment faire pour lui indiquer où trouver les bibliothèques de Qt.
Une idée ?


----------



## ntx (3 Septembre 2006)

Il faut sûrement modifier ta variable d'environnement LD_LIBRARY_PATH pour y ajouter le chemin vers ta librairie qt.


----------



## overmac (3 Septembre 2006)

ntx a dit:


> Il faut sûrement modifier ta variable d'environnement LD_LIBRARY_PATH pour y ajouter le chemin vers ta librairie qt.


Puisque lors de la compilation des bibliothèques de Qt, j'ai eu le message :


> *The Qt library is now built in ./lib*
> The Qt examples are built in the directories in ./examples
> The Qt tutorials are built in the directories in ./tutorial
> 
> Enjoy!   - the Trolltech team


 Je suppose qu'ellles soient dans *./lib*.
Donc, si j'ai bien compris, il faut changer dans le fichier .profile, mais je ne le trouve plus dans le dossier qt qui se trouve lui-même dans Developpers.


----------



## ntx (3 Septembre 2006)

Le fichier .profile est dans ton home.


----------



## overmac (3 Septembre 2006)

ntx a dit:


> Le fichier .profile est dans ton home.


Oui, je m'en suis rendu compte après avoir posté ce message. 
Par contre,  je ne comprend spas puisque dans ce fichier il est écrit :


> DYLD_LIBRARY_PATH=$QTDIR/lib:$DYLD_LIBRARY_PATH


Si j'ai bien compris, il m'indique bien le bon chemin ?
J'avoue que là, je ne sais plus quoi penser


----------



## ntx (3 Septembre 2006)

Tu utilises une librairie .dylib ou .so ?


----------



## overmac (4 Septembre 2006)

ntx a dit:


> Tu utilises une librairie .dylib ou .so ?


J'avoue que je ne sui plus. De quelle libririe me parles-tu ?


----------



## FjRond (4 Septembre 2006)

Le fichier .profile se trouve &#224; la racine de votre r&#233;pertoire utilisateur : $HOME/.profile. C'est en effet votre fichier personnel de configuration de bash.

[&#233;dit]Euh... J'ai oubli&#233; de tourner la page.[/&#233;dit]


----------



## ntx (4 Septembre 2006)

overmac a dit:


> J'avoue que je ne sui plus. De quelle libririe me parles-tu ?


Ta librairie qt avec laquelle tu veux travailler, elle se nomme .dylib ou .so.

En Unix, le linker va aller chercher les librairies à linker (.a pour les statiques et .so pour les dynamiques) dans le répertoire pointé par LD_LIBRARY_PATH. Mais sous Mac OSX, Apple a nommé ses libraries dynamiques .dylib et du coup a ajouté une variable DYLIB_LIBRARY_PATH.


----------



## overmac (4 Septembre 2006)

ntx a dit:


> Ta librairie qt avec laquelle tu veux travailler, elle se nomme .dylib ou .so.
> 
> En Unix, le linker va aller chercher les librairies à linker (.a pour les statiques et .so pour les dynamiques) dans le répertoire pointé par LD_LIBRARY_PATH. Mais sous Mac OSX, Apple a nommé ses libraries dynamiques .dylib et du coup a ajouté une variable DYLIB_LIBRARY_PATH.


Je viens de regarder dans le dossier Developper/qt/lib, et je ne vois que que fichier *.dylib* et *.prl* .
Donc, ce sont des fichiers *.dylib* que j'utilise.


----------



## ntx (4 Septembre 2006)

Et "echo $DYLD_LIBRARY_PATH" donne bien ce que tu attends ?


----------



## overmac (4 Septembre 2006)

ntx a dit:


> Et "echo $DYLD_LIBRARY_PATH" donne bien ce que tu attends ?


J'obtiens bien : /Developer/qt/lib


----------



## ntx (4 Septembre 2006)

Il faudrait décortiquer le script de configuration pour voir là où ça coince.


----------



## overmac (4 Septembre 2006)

ntx a dit:


> Il faudrait décortiquer le script de configuration pour voir là où ça coince.


Si cela ne te dérange pas, dis-moi où pourrais-je trouver ce script de configuration (je crois qu'il se trouve dans le dossier qucs 0.0.10) et puis-je te l'envoyer par mail ?


----------



## overmac (4 Septembre 2006)

Je viens de faire vi ./configure et j'obtiens ceci :

```
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for qucs 0.0.10.
#
# Report bugs to <qucs-bugs@lists.sourceforge.net>.
#
# Copyright (C) 2003 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
## M4sh Initialization.  ##
## --------------------- ##

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
  set -o posix
fi
"./configure" 7754L, 235201C
```


----------



## gwuber (12 Octobre 2006)

Bonjour,

je suis coinc&#233; &#224; l'exact m&#234;me moment de la compilation de Qucs. Vous-en &#234;tes-vous sorti ?
Comment ?!??

En lisant le log de ./configure j'ai cru voir que c'est en fait une parti des libs X11 qui faisaient d&#233;faut.


----------

