Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[64 bits] Compiler un paquet dépendant de librairies 32 bits

5 réponses
Avatar
tyranorl
Bonjour,

Suite à mon thread précédent [1] (et à son succès !!!), je vais reformuler ma
demande :

J'ai besoin de compiler le paquet Q Light Controller [2] en 64 bits à partir des
sources disponibles sur sourceforge (et si possible d'en faire un .deb histoire
de ne pas être le seul à en profiter). Le problème est que ce paquet dépend des
librairies FTDI (en particulier pour l'interface OPENDMX-USB que j'utilise) qui
n'existent qu'en 32 bits apparemment [3]. Résultat, la phase "make" ne
fonctionne pas comme stipulé dans le rapport de bug que j'ai fait[3].
A priori, ils ne fixeront pas le problème, vu que les librairies sont 32 bits et
c'est tout.

Donc, comment puis-je faire pour compiler (et utiliser) malgré tout ce paquet
sur ma machine 64 bits ? Wrapper ? Chroot ?

Note : en parallèle , j'ai d'autres applications (notamment jack et des
applications jackifiables) qui tournent en 64 bits, donc vraiment pas le choix
de rester sur cette architecture, d'autant que l'audio est consommateur de
ressource, et la vidéoproj aussi..

Merci d'avance.
Aurélien

[1] http://lists.debian.org/debian-user-french/2009/04/msg00307.html
[2] https://sourceforge.net/projects/qlc/
[3]
https://sourceforge.net/tracker/?func=detail&aid=2741682&group_id=44856&atid=441084
(see comments)

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org

5 réponses

Avatar
Sylvain Sauvage
, lundi 13 avril 2009, 17:24:20 CEST

Bonjour,



’jour,

Suite à mon thread précédent [1] (et à son succè s !!!), je vais reformuler ma
demande :

J'ai besoin de compiler le paquet Q Light Controller [2] en 64 bits à   partir des
sources disponibles sur sourceforge (et si possible d'en faire un .deb hi stoire
de ne pas être le seul à en profiter). Le problème est que ce paquet dépend des
librairies FTDI (en particulier pour l'interface OPENDMX-USB que j'utilis e) qui
n'existent qu'en 32 bits apparemment [3]. Résultat, la phase "make" ne
fonctionne pas comme stipulé dans le rapport de bug que j'ai fait[3].
A priori, ils ne fixeront pas le problème, vu que les librairies son t 32 bits et
c'est tout.



Détail de vocabulaire : si, ils « fixent » le problème
puisqu’ils ne le _régleront_ pas.

Sinon, je ne comprends pas ton rapport de bogue. Évidemment,
tu ne peux lier une bibliothèque 32 bits à un programme 64  bits.
D’où vient la libftd2xx.a.0.16 ? (Pas trouvée par ap t-file.)
Tu dois en installer une version 64 bits.

Donc, comment puis-je faire pour compiler (et utiliser) malgré tout ce paquet
sur ma machine 64 bits ? Wrapper ? Chroot ?



Tu peux compiler ton programme dans un environnement 32 bits
(chroot p.ex.) puis l’utiliser dans un environnement 64 bits ( du
moment que les bibliothèques utilisées sont disponibles, dans
/lib32 p.ex.). Ou tu peux aussi l’utiliser dans un chroot
32 bits. Au choix.

--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
tyranorl
Selon Sylvain Sauvage :

, lundi 13 avril 2009, 17:24:20 CEST
>
> Bonjour,

’jour,

> Suite à mon thread précédent [1] (et à son succès !!!), je vais
reformuler ma
> demande :
>
> J'ai besoin de compiler le paquet Q Light Controller [2] en 64 bits à
partir des
> sources disponibles sur sourceforge (et si possible d'en faire un .deb
histoire
> de ne pas être le seul à en profiter). Le problème est que ce paquet
dépend des
> librairies FTDI (en particulier pour l'interface OPENDMX-USB que j'utilise)
qui
> n'existent qu'en 32 bits apparemment [3]. Résultat, la phase "make" ne
> fonctionne pas comme stipulé dans le rapport de bug que j'ai fait[3].
> A priori, ils ne fixeront pas le problème, vu que les librairies sont 32
bits et
> c'est tout.

Détail de vocabulaire : si, ils « fixent » le problème
puisqu’ils ne le _régleront_ pas.



Oui, j'ai fait un raccourci. Désolé.


Sinon, je ne comprends pas ton rapport de bogue. Évidemment,
tu ne peux lier une bibliothèque 32 bits à un programme 64 bits.
D’où vient la libftd2xx.a.0.16 ? (Pas trouvée par apt-file.)
Tu dois en installer une version 64 bits.



En pratique, j'ai téléchargé les sources qu'ils fournissent sur sourceforge, et
j'ai juste suivi la procédure du README (y compris pour les dépendances, dont
libftd2xx ne fait pas partie d'après le README, donc je suppose qu'il fait
partie des sources que j'ai chargé, je n'en sais rien).

Cette librairie est trouvable sur www.ftdichips.com, mais, lors de l'install 32
bits (sur une autre machine), je n'en ai pas eu besoin, elle était déjà intégrée
dans le paquet (c'est un peu la démarche qu'ils retiennent, j'ai l'impression.


> Donc, comment puis-je faire pour compiler (et utiliser) malgré tout ce
paquet
> sur ma machine 64 bits ? Wrapper ? Chroot ?

Tu peux compiler ton programme dans un environnement 32 bits
(chroot p.ex.) puis l’utiliser dans un environnement 64 bits (du
moment que les bibliothèques utilisées sont disponibles, dans
/lib32 p.ex.). Ou tu peux aussi l’utiliser dans un chroot
32 bits. Au choix.



OK, merci. Je vais opter pour la première solution, je pense.
Du coup, la création d'un .deb "64 bits" n'a aucun intérêt, je suppose ?


--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS






--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
tyranorl
Quoting :

Selon Sylvain Sauvage :

> , lundi 13 avril 2009, 17:24:20 CEST
> >
> > Bonjour,
>
> ’jour,
>
> > Suite à mon thread précédent [1] (et à son succès !!!), je vais
> reformuler ma
> > demande :
> >
> > J'ai besoin de compiler le paquet Q Light Controller [2] en 64 bits à
> partir des
> > sources disponibles sur sourceforge (et si possible d'en faire un .deb
> histoire
> > de ne pas être le seul à en profiter). Le problème est que ce paquet
> dépend des
> > librairies FTDI (en particulier pour l'interface OPENDMX-USB que
j'utilise)
> qui
> > n'existent qu'en 32 bits apparemment [3].
>
> Sinon, je ne comprends pas ton rapport de bogue. Évidemment,
> tu ne peux lier une bibliothèque 32 bits à un programme 64 bits.
> D’où vient la libftd2xx.a.0.16 ? (Pas trouvée par apt-file.)
> Tu dois en installer une version 64 bits.

En pratique, j'ai téléchargé les sources qu'ils fournissent sur sourceforge,
et
j'ai juste suivi la procédure du README (y compris pour les dépendances, dont
libftd2xx ne fait pas partie d'après le README, donc je suppose qu'il fait
partie des sources que j'ai chargé, je n'en sais rien).

Cette librairie est trouvable sur www.ftdichips.com, mais, lors de l'install
32
bits (sur une autre machine), je n'en ai pas eu besoin, elle était déjà
intégrée
dans le paquet (c'est un peu la démarche qu'ils retiennent, j'ai
l'impression.




J'ai rejeté un oeil de ce côté là.
Donc, la librairie existe pour 64 bits, sans problème :
http://www.ftdichip.com/Drivers/D2XX.htm
http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx0.4.16_x86_64.tar.gz

Lorsque je fais un file sur le répertoire libs des sources téléchargées, j'ai du
64 bits partout :

~/qlc/libs/ftdidmx$ file
configureftdidmx.cpp: ASCII C program text
configureftdidmx.h: ASCII C program text
configureftdidmx.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV),
not stripped
configureftdidmx.ui: ASCII text
ftd2xx.h: ASCII C program text
ftd2xx.lib: current ar archive
ftd2xx-win32.h: ASCII C++ program text, with CRLF line terminators
ftdidmx.cpp: ASCII C program text
ftdidmxdevice.cpp: ASCII C program text, with CRLF line terminators
ftdidmxdevice.h: ASCII C program text
ftdidmxdevice.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV),
not stripped
ftdidmx.h: ASCII C program text
ftdidmx.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV),
not stripped
ftdidmx.pro: ASCII text, with CRLF line terminators
libftd2xx.0.1.4.dylib: Mach-O fat file with 2 architectures
libftd2xx.a.0.4.16: current ar archive
Makefile: ASCII make commands text, with very long lines
moc_configureftdidmx.cpp: ASCII English text
moc_configureftdidmx.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV),
not stripped
moc_ftdidmx.cpp: ASCII English text
moc_ftdidmxdevice.cpp: ASCII English text
moc_ftdidmxdevice.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV),
not stripped
moc_ftdidmx.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV),
not stripped
ui_configureftdidmx.h: ASCII C program text
WinTypes.h: ASCII C program text


A l'exception des .c, des .h et de libftd2xx.0.1.4.dylib et libftd2xx.a.0.4.16.
Peut-être, le plus simple est que je remplace à la main libftd2xx.0.4.16, mais,
honnêtement, bien que je sais que je ne risque pas de casser grand'chose, je ne
sais pas bien où je mets les pieds.
Est-ce que je devrais archiver la librairie sous la forme "ar" (que je ne
connais pas) ?
Enfin, on ne semble pas si loin de pouvoir faire un paquet 64 bits, finalement.

Merci d'avance.

Aurélien

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
Sylvain Sauvage
[Merci de ne pas me mettre en CC:. Répondre à liste, et
seulement à la liste.]

, mardi 14 avril 2009, 09:59:00 CEST
[…]
A l'exception des .c, des .h et de libftd2xx.0.1.4.dylib et libftd2xx.a.0 .4.16.
Peut-être, le plus simple est que je remplace à la main libftd2 xx.0.4.16, mais,
honnêtement, bien que je sais que je ne risque pas de casser grand'c hose, je ne
sais pas bien où je mets les pieds.
Est-ce que je devrais archiver la librairie sous la forme "ar" (que je ne
connais pas) ?



C’est la forme statique d’une bibliothèque (donc int égrée dans
l’exécutable pendant la phase de lien). Le .so étant la f orme
dynamique (donc seulement référencée dans l’exé cutable).
C’est juste un ar des .o de la bibliothèque. Mais bon, c⠀™est
expliqué un peu partout.

Tu peux aussi choisir de faire un .so mais ça n’a peut-à ªtre
pas d’intérêt (si c’es le seul programme qui va s ’en servir, si
c’est petit…).

--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
tyranorl
Quoting Sylvain Sauvage :

[Merci de ne pas me mettre en CC:. Répondre à liste, et
seulement à la liste.]



[Oui, désolé, je suis délocalisé, et le webmail de free ne permet pas le
Répondre à la Liste de Mutt !]


, mardi 14 avril 2009, 09:59:00 CEST
>[…]
> A l'exception des .c, des .h et de libftd2xx.0.1.4.dylib et
libftd2xx.a.0.4.16.
> Peut-être, le plus simple est que je remplace à la main libftd2xx.0.4.16,
mais,
> honnêtement, bien que je sais que je ne risque pas de casser grand'chose,
je ne
> sais pas bien où je mets les pieds.
> Est-ce que je devrais archiver la librairie sous la forme "ar" (que je ne
> connais pas) ?

C’est la forme statique d’une bibliothèque (donc intégrée dans
l’exécutable pendant la phase de lien). Le .so étant la forme
dynamique (donc seulement référencée dans l’exécutable).
C’est juste un ar des .o de la bibliothèque. Mais bon, c’est
expliqué un peu partout.

Tu peux aussi choisir de faire un .so mais ça n’a peut-être
pas d’intérêt (si c’es le seul programme qui va s’en servir, si
c’est petit…).



OK, merci beaucoup pour l'info.
Pour info, le fichier ar existe dans le tarball disponible sur le site de
ftdichips, y compris dans l'archive pour 64 bits. J'ai donc simplement remplacé
ce fichier dans les sources de qlc, et ça a compilé sans problème. Je pense que
le développeur avait en tête d'anciennes dispositions de ftdi quant à leur
librairies, car il semble qu'elles soient dispo pour 64 bits, et donc le tour
est joué.

Merci pour tout en tout cas.

A plus tard.
Aurélien


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS