Pagina 1 di 1

Errore: undefined reference to `yp_get_default_domain' dopo recenti aggiornamenti [RISOLTO]

Inviato: sab 24 ott 2020, 21:33
da gian_d
Ci risiamo, l'aggiornamento di icu4c inizia a lasciare i soliti feriti nelle ricompilazioni. Dopo l'aggiornamento sto procedendo alla ricompilazione di quelle librerie che dipendono da icu4c, ma mi sono arenato con una dipendenza indiretta di Blender.

Procedendo a ritroso, Blender non si avvia perché l'errore è dovuto a OpenColorIO, il quale a sua volta produce l'errore perché la dipendenza necessaria DCMTK (DICOM ToolKit) necessita della ricompilazione dopo l'aggiornamento di icu4c.

Fin qui poco male, ho avviato la ricompilazione come per altri pacchetti, ma ora salta fuori un errore inaspettato durante la compilazione. Non credo che dipenda da icu4c. L'ultima compilazione di DCMTK, completata con successo, risale a gennaio 2020, ma nel frattempo ci sono stati aggiornamenti, ad esempio, di gcc e glibc e sospetto che ci sia qualcosa di nuovo che fa andare in conflitto la ricompilazione del sorgente di DCMTK (basato sullo slackbuild del repository di Ponce)
Ad un certo punto mi compare questo errore:

Codice: Seleziona tutto

 
Scanning dependencies of target storescp
[ 51%] Building CXX object dcmnet/apps/CMakeFiles/storescp.dir/storescp.cc.o
[ 51%] Linking CXX executable ../../bin/storescp
/usr/bin/ld: ../../lib/libdcmnet.so.15.3.6.5: undefined reference to `yp_get_default_domain'
collect2: error: ld returned 1 exit status
make[2]: *** [dcmnet/apps/CMakeFiles/storescp.dir/build.make:114: bin/storescp] Error 1
make[1]: *** [CMakeFiles/Makefile2:4057: dcmnet/apps/CMakeFiles/storescp.dir/all] Error 2
make: *** [Makefile:160: all] Error 2
Cercando in rete salta fuori che questo errore (undefined reference to 'yp_get_default_domain') non è specifico di questo software ma ricorre anche nella compilazione dei sorgenti di altri software, quindi è probabile che debba essere applicata qualche patch nelle impostazioni di compilazione, ma oltre non riesco ad andare perché è al di fuori delle mie possibilità.

Fra le cose che ho trovato c'è questo problema che sembrerebbe risolto da una semplice correzione ma non ho idea di cosa debba fare:
https://www.linuxquestions.org/question ... 175608633/

Qualcuno mi può dare qualche idea per potermi orientare?

In alternativa potrei provare a ricompilare OpenColorIo rimuovendo l'installazione attuale di DCMTK, ma dubito che possa funzionare visto che è indicata come dipendenza necessaria

Re: Errore: undefined reference to `yp_get_default_domain' dopo recenti aggiornamenti

Inviato: sab 24 ott 2020, 21:41
da gian_d
Infatti, provato a ricompilare OCIO senza DCMTK ma va in errore nel momento in cui saltano fuori riferimenti a DICOM :-\

Re: Errore: undefined reference to `yp_get_default_domain' dopo recenti aggiornamenti

Inviato: lun 26 ott 2020, 8:31
da ponce
yp_get_default_domain sembra una funzione di NIS: controlla di aver installato tutti i nuovi pacchetti aggiunti in current e di aver aggiornato quelli che gia' ci sono.

Re: Errore: undefined reference to `yp_get_default_domain' dopo recenti aggiornamenti

Inviato: lun 26 ott 2020, 10:51
da gian_d
Mannaggia alla mia testa, yptools non era installato, non so come diamine mi sia sfuggito! Quello che non capisco è perché la precedente compilazione era andata, a meno che non abbia installato un pacchetto che avevo già compilato in precedenti installazioni della current.
Comunque ora riavvio lo slackbuild, poi ti faccio sapere, nel frattempo grazie!

Re: Errore: undefined reference to `yp_get_default_domain' dopo recenti aggiornamenti

Inviato: lun 26 ott 2020, 13:50
da gian_d
diciamo che avevo pasticciato alla grande. Oltre a non avere yptools installato mi sono anche accorto che in occasione dell'aggiornamento di glibc non avevo provveduto a installare libnsl e libnss_nis
Ce credo che non funzionava...
Ora la compilazione sta andando bene :-\

Re: Errore: undefined reference to `yp_get_default_domain' dopo recenti aggiornamenti

Inviato: lun 26 ott 2020, 14:30
da gian_d
Confermo, compilazione terminata. Di nuovo, grazie!