<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>Ciao a tutti,</div><div><br></div><div>grazie alle dritte di Gian Mario, ho risolto l'errore di importazione libreria con python 3.6.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>ho fatto una verifica con LD_DEBUG=files e lanciato il comando </div><div><br></div><div><br></div><div><div>PYTHON2: /mnt/nand/python2.7/bin/python -c "import ctypes as c; libpack = c.CDLL('/mnt/nor/libpack.so', mode=c.RTLD_GLOBAL)"</div></div><div>PYTHON3: /mnt/nand/python3.6/bin/python -c "import ctypes as c; libpack = c.CDLL('/mnt/nor/libpack.so', mode=c.RTLD_GLOBAL)"<br></div><div><br></div><div>e le differenze sono su 3 librerie che in python3 non vengono caricate, come da dettaglio seguente (output del comando con python 2.7):</div><div><br></div></div></blockquote><div>Python 2.7 Quelle che seguono sono le librerie caricate da python2.7 ma non da python3.6</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>[...]</div><div><div>    24305:<span style="white-space:pre-wrap">        </span>file=libssl.so.1.0.0 [0];  needed by /mnt/nand/python2.7/bin/python [0]</div><div>     24305:<span style="white-space:pre-wrap">   </span>file=libssl.so.1.0.0 [0];  generating link map</div><div>     24305:<span style="white-space:pre-wrap">    </span>  dynamic: 0x400f1980  base: 0x400a3000   size: 0x00051d6c</div><div>     24305:<span style="white-space:pre-wrap">      </span>    entry: 0x400b1138  phdr: 0x400a3034  phnum:          5</div><div>     24305:<span style="white-space:pre-wrap">        </span></div><div>     24305:<span style="white-space:pre-wrap">   </span></div><div>     24305:<span style="white-space:pre-wrap">   </span>file=libcrypto.so.1.0.0 [0];  needed by /mnt/nand/python2.7/bin/python [0]</div><div>     24305:<span style="white-space:pre-wrap">        </span>file=libcrypto.so.1.0.0 [0];  generating link map</div><div>     24305:<span style="white-space:pre-wrap"> </span>  dynamic: 0x40344378  base: 0x401f6000   size: 0x0015774c</div><div>     24305:<span style="white-space:pre-wrap">      </span>    entry: 0x40230b4c  phdr: 0x401f6034  phnum:          5</div><div>     24305:<span style="white-space:pre-wrap">        </span></div><div>     24305:<span style="white-space:pre-wrap">   </span></div><div>     24305:<span style="white-space:pre-wrap">   </span>file=libz.so.1 [0];  needed by /mnt/nand/python2.7/bin/python [0]</div><div>     24305:<span style="white-space:pre-wrap"> </span>file=libz.so.1 [0];  generating link map</div><div>     24305:<span style="white-space:pre-wrap">  </span>  dynamic: 0x4036b4e0  base: 0x4034e000   size: 0x0001d6fc</div><div>     24305:<span style="white-space:pre-wrap">      </span>    entry: 0x4034f790  phdr: 0x4034e034  phnum:          5</div></div><div>[...]</div><div><br></div><div>e quindi con LD_DEBUG=symbols ho verificato che proprio una di queste contiene il symbol inflateEnd che genera l'errore:</div><div><br></div><div>python2</div><div>[...]</div><div><div>     24749:<span style="white-space:pre-wrap">      </span>symbol=syslog;  lookup in file=/lib/libc.so.6 [0]</div><div>     24749:<span style="white-space:pre-wrap"> </span>symbol=inflateEnd;  lookup in file=/mnt/nand/python2.7/bin/<wbr>python [0]</div><div>     24749:<span style="white-space:pre-wrap">  </span>symbol=inflateEnd;  lookup in file=/lib/libpthread.so.0 [0]</div><div>     24749:<span style="white-space:pre-wrap">       </span>symbol=inflateEnd;  lookup in file=/lib/libdl.so.2 [0]</div><div>     24749:<span style="white-space:pre-wrap">    </span>symbol=inflateEnd;  lookup in file=/lib/libutil.so.1 [0]</div><div>     24749:<span style="white-space:pre-wrap">  </span>symbol=inflateEnd;  lookup in file=/lib/libssl.so.1.0.0 [0]</div><div>     24749:<span style="white-space:pre-wrap">       </span>symbol=inflateEnd;  lookup in file=/lib/libcrypto.so.1.0.0 [0]</div><div><span style="background-color:rgb(255,255,0)">     24749:<span style="white-space:pre-wrap">      </span>symbol=inflateEnd;  lookup in file=/lib/libz.so.1 [0]</span></div><div>     24749:<span style="white-space:pre-wrap">        </span>symbol=__gmon_start__;  lookup in file=/mnt/nand/python2.7/bin/<wbr>python [0]</div><div>     24749:<span style="white-space:pre-wrap">      </span>symbol=__gmon_start__;  lookup in file=/lib/libpthread.so.0 [0]</div></div><div>[...]</div><div><br></div><div>python3</div><div>[...]</div><div><div>     24638:<span style="white-space:pre-wrap">     </span>symbol=syslog;  lookup in file=/lib/libc.so.6 [0]</div><div>     24638:<span style="white-space:pre-wrap"> </span>symbol=inflateEnd;  lookup in file=/mnt/nand/python3.6/bin/<wbr>python [0]</div><div>     24638:<span style="white-space:pre-wrap">  </span>symbol=inflateEnd;  lookup in file=/lib/libpthread.so.0 [0]</div><div>     24638:<span style="white-space:pre-wrap">       </span>symbol=inflateEnd;  lookup in file=/lib/libdl.so.2 [0]</div><div>     24638:<span style="white-space:pre-wrap">    </span>symbol=inflateEnd;  lookup in file=/lib/libutil.so.1 [0]</div><div>     24638:<span style="white-space:pre-wrap">  </span>symbol=inflateEnd;  lookup in file=/lib/librt.so.1 [0]</div><div>     24638:<span style="white-space:pre-wrap">    </span>symbol=inflateEnd;  lookup in file=/lib/libm.so.6 [0]</div><div>     24638:<span style="white-space:pre-wrap">     </span>symbol=inflateEnd;  lookup in file=/lib/libgcc_s.so.1 [0]</div><div>     24638:<span style="white-space:pre-wrap"> </span>symbol=inflateEnd;  lookup in file=/lib/libc.so.6 [0]</div><div>     24638:<span style="white-space:pre-wrap">     </span>symbol=inflateEnd;  lookup in file=/lib/ld-linux.so.3 [0]</div><div>     24638:<span style="white-space:pre-wrap"> </span>symbol=inflateEnd;  lookup in file=/mnt/nor/libpack.so [0]</div><div>     24638:<span style="white-space:pre-wrap">        </span>symbol=inflateEnd;  lookup in file=/lib/libgcc_s.so.1 [0]</div><div>     24638:<span style="white-space:pre-wrap"> </span>symbol=inflateEnd;  lookup in file=/lib/libc.so.6 [0]</div><div>     24638:<span style="white-space:pre-wrap">     </span>symbol=inflateEnd;  lookup in file=/lib/ld-linux.so.3 [0]</div><div>     24638:<span style="white-space:pre-wrap"> </span>/mnt/nor/libpack.so: error: symbol lookup error: undefined symbol: inflateEnd (fatal)</div><div>     24638:<span style="white-space:pre-wrap">      </span>symbol=__dcgettext;  lookup in file=/mnt/nand/python3.6/bin/<wbr>python [0]</div><div>     24638:<span style="white-space:pre-wrap"> </span>symbol=__dcgettext;  lookup in file=/lib/libpthread.so.0 [0]</div></div><div>[...]</div><div><br></div></div></blockquote><div><br></div><div><font color="#000000">Poi facendo una ricerca online, ho capito che posso forzare il caricamento della libreria mancante:</font></div><div><font color="#000000"><span class="gmail-il" style="font-size:12.8px;background-color:rgb(255,255,255)"><br class="gmail-Apple-interchange-newline">Python</span><span style="font-size:12.8px"> 3.6.0 (default, Feb 20 2017, 16:41:12) </span><br></font></div><div><span style="font-size:12.8px"><font color="#000000">>>> import ctypes as c</font></span></div><div><font color="#000000"><span style="font-size:12.8px">>>> c.CDLL('</span><span style="font-size:12.8px">libz.so.1'</span><span style="font-size:12.8px">, mode=ctypes.RTLD_GLOBAL</span><span style="font-size:12.8px">)</span></font></div><div><font color="#000000"><span style="font-size:12.8px">>>> libpack=c.CDLL('/</span><wbr style="font-size:12.8px"><span style="font-size:12.8px">mnt/nor/libpack.so')</span><span style="font-size:12.8px"><br></span></font></div><div><span style="font-size:12.8px"><font color="#000000"><br></font></span></div><div><span style="font-size:12.8px"><font color="#000000">così non viene più generato l'errore.</font></span></div><div>In realtà ho risolto ma non ho capito perché alcune librerie sono caricate come prerequisito da python 2.7 ma non da python 3.6, vedrò di indagare e riporterò alla lista.<span style="font-size:12.8px"><font color="#000000"><br></font></span></div><div><br></div><div>Grazie a tutti.</div><div><br></div><div>M.</div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div> </div></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br><div><span style="font-size:x-small"><b><i>"A parte l'uomo, tutti gli animali sanno che lo scopo principale della vita è godersela"</i></b></span></div><div><span style="font-size:x-small"><b><i></i><span style="font-weight:normal"><i>Samuel Butler</i></span></b></span></div><div><span style="font-size:x-small">--</span><br><span><span><span><span><img src="https://docs.google.com/uc?export=download&id=0B0GcTDFTrpo8MkJVN2JWV1k5elU&revid=0B0GcTDFTrpo8anlZMExRYkNoSGx0Z2dmQWlwenNGdlJ6azlzPQ" width="87" height="63"></span></span></span></span></div><span style="font-family:"trebuchet ms",sans-serif"><b><font size="2"><span>rosi::LAB di Ro</span></font></b></span><span style="font-size:x-small"><span style="font-family:"trebuchet ms",sans-serif"><b><font size="2">si Massimiliano</font></b></span><br></span><span style="font-family:"trebuchet ms",sans-serif">Mobile: +39 328.3065575<br>Fax: +39 178.2280639<br>E-mail: <a href="mailto:massimiliano.rosi@gmail.com" target="_blank">massimiliano.rosi@gmail.com</a></span><div><span style="font-family:"trebuchet ms",sans-serif">Pec: <a href="mailto:massimiliano.rosi@pec.it" target="_blank">massimiliano.rosi@pec.it</a><br>Skype: papipano</span><div><span style="font-family:"trebuchet ms",sans-serif">LinkedIn: Massimiliano Rosi</span><br></div><div><br>----------------<br><span style="font-size:x-small">"Avvertenze ai sensi del D.Lgs.196 del 30/06/2003<br>Le informazioni contenute in questo messaggio di posta elettronica<br>e/o files allegati, sono da considerarsi strettamente riservati. <br>Il loro utilizzo è consentito esclusivamente al destinatario del <br>messaggio, per le finalità indicate nello stesso. <br>Costituisce violazione ai principi dettati dal D.Lgs. 196/2003: <br>trattenere il messaggio stesso, divulgarlo anche in parte, distribuirlo<br>ad altri soggetti, copiarlo o utilizzarlo per finalità diverse.<br>Qualora riceveste questo messaggio senza esserne il destinatario <br>Vi preghiamo cortesemente di darcene notizia via e-mail <br>e di procedere alla distruzione del messaggio stesso, <br>cancellandolo dal Vostro sistema. <br>Grazie." </span><br>---------------- <br><span style="font-size:x-small">Nota: per proteggere il computer dai virus, le applicazioni di posta <br>elettronica impediscono l'invio o la ricezione di alcuni tipi di <br>allegati. Per determinare la modalità di gestione degli allegati, <br>controllare le impostazioni di protezione della posta elettronica. </span></div></div></div></div></div></div></div></div>
</div></div>