-
portage sous linux
Je suis entrain de developper un logiciel sous linux et je veux que ca sois portable sur plusieur machines et different distrubution de linux..
Est ce que vous pouviez me conseuiller une solution efficace...
j ai pense a compile le binaire en static, sachant que j utilise une trentaine de lib qui sont installer dans mon systeme en dynamique .so, donc apparament je dois telecharger tous les lib en static. qu est ce que vous penser de cette solution un peu longue???
Et ce que vous connaisser un lien internet ou je peux telecharger quelque lib en static ?
merci d avance
voici les lib dont j ai besoin en static .
ldd binaire
linux-gate.so.1 => (0xffffe000)
libwcs.so => /usr/local/lib/libwcs.so (0xb7eba000)
libCCfits.so.0 => /usr/local/lib/libCCfits.so.0 (0xb7df0000)
libcfitsio.so => /usr/lib/libcfitsio.so (0xb7c65000)
libqt-mt.so.3 => /usr/lib/qt3/lib/libqt-mt.so.3 (0xb757e000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb7570000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb74a4000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb73c8000)
libm.so.6 => /lib/tls/libm.so.6 (0xb73a2000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb7397000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7269000)
libaudio.so.2 => /usr/X11R6/lib/libaudio.so.2 (0xb7253000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0xb7202000)
libmng.so.1 => /usr/lib/libmng.so.1 (0xb71a1000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb7180000)
libpng.so.3 => /usr/lib/libpng.so.3 (0xb715a000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7147000)
libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0xb713e000)
libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0xb713a000)
libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0xb7131000)
libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0xb712d000)
libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0xb711a000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb70b1000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7081000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0xb7078000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0xb7060000)
libdl.so.2 => /usr/lib/libdl.so.2 (0xb705b000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7049000)
/lib/ld-linux.so.2 (0xb7f7a000)
liblcms.so.1 => /usr/lib/liblcms.so.1 (0xb701a000)
libXfixes.so.3 => /usr/X11R6/lib/libXfixes.so.3 (0xb7015000)
libexpat.so.0 => /usr/lib/libexpat.so.0 (0xb6ff4000)
-
hmm 30lib ton prog fait 30giga ou koi! sinon pourquoi telechargé des static tu trouve ces meme librairie pour win ya juste a les installé de la meme maniere avec cygwin et de faire un configure avec les flags qui vont bien
-
Le mieux c'est de ne pas inclure les librairies. Par exemple sur les 30 tu as :
libc => essentiel pour faire tourner Linux, donc pas besoin de la lier statiquement
libm => Dois sûrement être partout (nécessaire pour faire un pow !)
libX11 => Ton programmes est graphique ? Donc tout ceux qui vont l'utiliser on sûrement déjà cette librairie.
libstdc++ => Sûrement déjà partout
libz => Partout ...
libpthread => Partout ...
Et je pense que des trucs comme libexpat, libfontconfig, libfreetype, libjpeg, libpng doivent être sur la toutes les distributions dans une installation graphique.
Le mieux est donc que tu n'inclus aucunes librairies et indique juste les dépendances, comme ça tu bénéficies du support de la distribution pour la mise à jour de ces librairies.