02-10-2026, 04:59 PM
(Modification du message : 02-10-2026, 06:24 PM par Bluevelvet.)
Bonjour,
@Fredouille, Merci pour l'info, je ne connaissais pas la procédure. C'est mieux ainsi.
@le Dom, @Bear,
Merci pour vos propositions. Je commence par celle de Dominique.
La Fedora installée, c'est celle à laquelle tu renvoyais il y a quelques jours (bouton vert et rectangle blanc) > Fedora-Server-netinst x86-64-43-1.6 iso
dans nano scr/UPnPDevice.cpp
il y a ça à la ligne "upnpCallbackStatic": à l'origine dès la premiere installation, c'était : "(Upnp_FunPtr)UpnpCallbackStatic". Mais cette première version était déjà défaillante. Ensuite, l'IA m'a fait essayer différentes écritures sans succès.
Enfin, si ça peut-être utile, analyse proposée par l'IA, je cite :
Pour information, le problème ne semble pas lié à une erreur de manipulation ou de configuration locale, mais à une incompatibilité de typage entre la signature du callback utilisée dans DirettaRendererUPnP et celle attendue par la version actuelle de libupnp. La ligne incriminée était déjà présente dans le code d’origine et provoquait le même échec. Les différentes tentatives de cast ou de modification n’ont pas permis de contourner ce point, ce qui laisse penser à un changement d’API/ABI côté libupnp.
(02-10-2026, 07:07 AM)Fredouille40 a écrit : Pour nos amis programmeurs, mieux que des captures d'écran, dans "nouvelle réponse", cliquer sur "code" <>. PLus facile à utiliser pour eux.
Merci pour eux.
@Fredouille, Merci pour l'info, je ne connaissais pas la procédure. C'est mieux ainsi.
@le Dom, @Bear,
Merci pour vos propositions. Je commence par celle de Dominique.
La Fedora installée, c'est celle à laquelle tu renvoyais il y a quelques jours (bouton vert et rectangle blanc) > Fedora-Server-netinst x86-64-43-1.6 iso
Code :
[audiophile@DirettaRenderer DirettaRendererUPnP-main]$ rpm -q libupnp libupnp-devel
libupnp-1.14.26-1.fc43.x86_64
libupnp-devel-1.14.26-1.fc43.x86_64Code :
Compiling src/UPnPDevice.cpp...
g++ -std=c++17 -Wall -Wextra -O2 -pthread -march=x86-64-v3 -mavx2 -mfma -I./ffmpeg-headers -I/usr/include/upnp -I/usr/local/include -I. -Isrc -I/home/audiophile/DirettaHostSDK_148/Host -MMD -MP -c src/UPnPDevice.cpp -o obj/UPnPDevice.o
src/UPnPDevice.cpp: In member function « bool UPnPDevice::start() »:
src/UPnPDevice.cpp:137:34: erreur: conversion invalide de « int (*)(Upnp_EventType, const void*, void*) » {aka « int (*)(Upnp_EventType_e, const void*, void*) »} vers « Upnp_FunPtr » {aka « int (*)(Upnp_EventType_e, void*, void*) »} [-fpermissive]
137 | ret = UpnpRegisterRootDevice2(
| ~~~~~~~~~~~~~~~~~~~~~~~^
| |
| int (*)(Upnp_EventType, const void*, void*) {aka int (*)(Upnp_EventType_e, const void*, void*)}
138 | UPNPREG_BUF_DESC,
| ~~~~~~~~~~~~~~~~~
139 | descXML.c_str(),
| ~~~~~~~~~~~~~~~~
140 | descXML.length(),
| ~~~~~~~~~~~~~~~~~
141 | 1, // config_done
| ~~~~~~~~~~~~~~~~~~
142 | upnpCallbackStatic,
| ~~~~~~~~~~~~~~~~~~~
143 | this,
| ~~~~~
144 | &m_deviceHandle
| ~~~~~~~~~~~~~~~
145 | );
| ~
Dans le fichier inclus depuis src/UPnPDevice.hpp:3,
depuis src/UPnPDevice.cpp:1:
/usr/include/upnp/upnp.h:808:21: note: initialisation de l'argument 5 de « int UpnpRegisterRootDevice2(Upnp_DescType, const char*, size_t, int, Upnp_FunPtr, const void*, UpnpDevice_Handle*) »
808 | Upnp_FunPtr Fun,
| ~~~~~~~~~~~~^~~
make: *** [Makefile:445: obj/UPnPDevice.o] Error 1dans nano scr/UPnPDevice.cpp
il y a ça à la ligne "upnpCallbackStatic": à l'origine dès la premiere installation, c'était : "(Upnp_FunPtr)UpnpCallbackStatic". Mais cette première version était déjà défaillante. Ensuite, l'IA m'a fait essayer différentes écritures sans succès.
Code :
// 7. Register root device
ret = UpnpRegisterRootDevice2(
UPNPREG_BUF_DESC,
descXML.c_str(),
descXML.length(),
1, // config_done
upnpCallbackStatic,
this,
&m_deviceHandle
);
if (ret != UPNP_E_SUCCESS) {
std::cerr << "[UPnPDevice] UpnpRegisterRootDevice2 failed: "
<< ret << std::endl;
UpnpFinish();
return false;
}
DEBUG_LOG("[UPnPDevice] ✓ Device registered (handle="
<< m_deviceHandle << ")");Enfin, si ça peut-être utile, analyse proposée par l'IA, je cite :
Pour information, le problème ne semble pas lié à une erreur de manipulation ou de configuration locale, mais à une incompatibilité de typage entre la signature du callback utilisée dans DirettaRendererUPnP et celle attendue par la version actuelle de libupnp. La ligne incriminée était déjà présente dans le code d’origine et provoquait le même échec. Les différentes tentatives de cast ou de modification n’ont pas permis de contourner ce point, ce qui laisse penser à un changement d’API/ABI côté libupnp.
Le Dom direttaRendererUPnP/JPLAY ou Slim2UPnP/Roon
Target GentooPlayer C19B horloge FranckLeRouge UpTone Audio JS-4
Audiomat Maestro 3 référence
Ampli Lampes Alexandre Okhotnikoff - ECC88 Miniwatt Dario - 5751 RCA - 6N7 RCA - Svetlana 6550 B2
Enceintes Klipschorn 60th Anniversary
Target GentooPlayer C19B horloge FranckLeRouge UpTone Audio JS-4
Audiomat Maestro 3 référence
Ampli Lampes Alexandre Okhotnikoff - ECC88 Miniwatt Dario - 5751 RCA - 6N7 RCA - Svetlana 6550 B2
Enceintes Klipschorn 60th Anniversary
