# [emerge] Erreur de compilation avec libcrypto.a (Résolu)

## orgoz

Bonjour à tous,

J'essaye en vain de compiler app-backup/bacula-2.0.3 mais j'ai des erreurs que voici :

```

/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':

(.text+0x6e): undefined reference to `dlopen'

/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':

(.text+0xf3): undefined reference to `dlclose'

/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':

(.text+0x138): undefined reference to `dlerror'

/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_unload':

(.text+0x1f5): undefined reference to `dlclose'

/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_var':

(.text+0x30a): undefined reference to `dlsym'

/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_var':

(.text+0x3cd): undefined reference to `dlerror'

/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_func':

(.text+0x46e): undefined reference to `dlsym'

/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_func':

(.text+0x4f5): undefined reference to `dlerror'

collect2: ld returned 1 exit status

make[1]: *** [static-bacula-sd] Error 1

```

J'ai essayé de ré-emerger quelques paquets comme openssl, gcc et glibc ainsi qu'un revedep-rebuild mais sans succès  :Sad: 

Auriez-vous une idée de ce que je pourrais faire ?

Merci  :Smile: Last edited by orgoz on Mon Jul 09, 2007 10:03 pm; edited 2 times in total

----------

## orgoz

Bonjour,

je me permet de remonter le topic, personne n'a une petite idée pour moi ?   :Very Happy: 

Merci

----------

## jr

update gcc et tout le reste en utilisant la page de doc de la gentoo pour passer de gcc 3.4.6 a 4.1 

http://www.gentoo.org/doc/fr/gcc-upgrading.xml

Apres ca devrait couler de src :p

----------

## YetiBarBar

Bonjour,

Sinon poste ton :

```
emerge --info
```

----------

## orgoz

Bonjour,

Merci pour vos conseils. Je viens d'essayer avec GCC-4.1.2

```

/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_func':

(.text+0x356): undefined reference to `dlsym'

/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_func':

(.text+0x44a): undefined reference to `dlerror'

/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_var':

(.text+0x4e2): undefined reference to `dlsym'

/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_var':

(.text+0x5ba): undefined reference to `dlerror'

/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_unload':

(.text+0x635): undefined reference to `dlclose'

/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':

(.text+0x735): undefined reference to `dlopen'

/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':

(.text+0x7ad): undefined reference to `dlclose'

/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':

(.text+0x7e7): undefined reference to `dlerror'

collect2: ld returned 1 exit status

make[1]: *** [static-bacula-fd] Error 1

```

Et voici mon emerge --info :

```

Portage 2.1.2.9 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.5-r4, 2.6.16-gentoo-r6 i686)

=================================================================

System uname: 2.6.16-gentoo-r6 i686 VIA Esther processor 2000MHz

Gentoo Base System release 1.12.9

Timestamp of tree: Thu, 05 Jul 2007 21:50:01 +0000

dev-java/java-config: 1.3.7, 2.0.33-r1

dev-lang/python:     2.4.4-r4

dev-python/pycrypto: 2.0.1-r5

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.61

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10

sys-devel/binutils:  2.17

sys-devel/gcc-config: 1.3.16

sys-devel/libtool:   1.5.23b

virtual/os-headers:  2.6.17-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=i686 -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /var/bind"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo"

CXXFLAGS="-O2 -march=i686 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="distlocks metadata-transfer sandbox sfperms strict"

GENTOO_MIRRORS="http://gentoo.modulix.net/gentoo/ http://ftp.club-internet.fr/pub/mirrors/gentoo "

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="acl acpi alsa apache2 bcmath bitmap-fonts cairo calendar caps cddb cdr cli cracklib crypt dbus dri dvd dvdr dvdread eds emboss encode esd evo exif fam firefox flash fortran ftp gd gdbm gif gpm gstreamer hal hardened hardenedphp hash iconv imap ipv6 isdnlog jpeg kerberos latin1 ldap libg++ mad maildir mcal memlimit midi mikmod mp3 mudflap mysql ncurses nls nptl nptlonly ogg openmp openssh pam pcntl pcre pdf pdo png pppd qt3 qt3support qt4 quicktime readline reflection sasl session simplexml sockets spamassassin spell spl ssl static svg tcpd tidy tiff tokenizer truetype truetype-fonts type1-fonts unicode vorbis win32codecs x86 xml xmlreader xmlrpc xmlwriter zip zlib"

ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci"

ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol"

ELIBC="glibc"

INPUT_DEVICES="keyboard mouse evdev"

KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text"

USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

```

----------

## YetiBarBar

As tu fait le :

```
emerge -e world
```

 qui va avec ta mise a jour de gcc ?

Si tu ne l'a pas fait, avant de poster, il faudrait au moins que tu reemerge :

```
emerge -e bacula
```

 mais le world serait mieux

----------

## jr

Je pense que c'est en effet un probleme de mise a jour d'autre package .. le emerge world me semble en effet conseillé .. test system et apres world  :Wink: 

----------

## orgoz

Voila, j'ai donc essayé un emerge -eav world et un emerge -eav system mais ca n'a pas résolu le problème  :Sad: 

----------

## boozo

'alute

@orgoz : ne le prend pas mal mais comme tu es nouveau sur le forum je me pose une question car je trouve ton USE un peu singulier   :Rolling Eyes:   soit tu as placé certaines options pour un usage particulier et dans ce cas il faut que tu nous en dise plus, soit tu as mis des choses sans trop savoir leur usage...

 *orgoz wrote:*   

> extrait de ton emerge --info *Quote:*   
> 
> USE="acl acpi alsa apache2 bcmath bitmap-fonts cairo calendar caps cddb cdr cli cracklib crypt dbus dri dvd dvdr dvdread eds emboss encode esd evo exif fam firefox flash fortran ftp gd gdbm gif gpm gstreamer hal hardened hardenedphp hash iconv imap ipv6 isdnlog jpeg kerberos latin1 ldap libg++ mad maildir mcal memlimit midi mikmod mp3 mudflap mysql ncurses nls nptl nptlonly ogg openmp openssh pam pcntl pcre pdf pdo png pppd qt3 qt3support qt4 quicktime readline reflection sasl session simplexml sockets spamassassin spell spl ssl static svg tcpd tidy tiff tokenizer truetype truetype-fonts type1-fonts unicode vorbis win32codecs x86 xml xmlreader xmlrpc xmlwriter zip zlib" 
> 
> 

 

Avant de t'engager à recompiler des choses inutilement et si tu débute, merci de nous en dire plus car certains de ces supports ne sont pas anodins et on risque de chercher très loin des choses toutes simples 

wait and see   :Wink: 

@others : c'est pas terrible comme méthode de résolution des pbs d'envoyer des -e world sans savoir ou on va... en plus c'est pas dans nos usages.  On est sous GNU/Linux et qui plus est sous gentoo ; faudrait perdre des manies de l'autre OS hein ?!    :Laughing:  

edit : je pense que ton pb vient du fait que Bacula ne doit pas trop aimer être statiquement lié avec ton openssh (ou ssh?) mais c'est étrange que tu n'ais pas d'autres erreurs sur d'autres packages avec ceratins de ces uses...

----------

## orgoz

Salut boozo,

Pas de problème, c'est normal de poser la question. Il se peut d'ailleurs que je me sois trompé avec quelques USE flags... En ce qui concerne ceux que tu as mis en avant, je ne pense pas qu'ils soient en trop étant donné qu'il s'agit d'un serveur... En revanche, le flag static etait un flag par défaut (la gentoo fournie par dedibox propose des flags par défaut) et j'avoue que je ne sais pas trop s'il est nécessaire  :Embarassed: 

----------

## boozo

Bon je ne cherche pas a te saccager ta bestiole là mais regarde y de plus près et selon tes besoins pour un serveur avec la doc gentoo officielle en référence car je ne connais pas les dedibox mais si c'est comme les ovh qu'on a eu récemment... je pense qu'il y a des choses à revoir... surtout si c'est un serveur  :p

exple : avec çà tu as un compilé tes packages avec un support hardened sans en avoir le noyau, tu sembles avoir ssh et openssh en parallèle si je ne m'abuse sinon pourquoi le use openssh ; kerberiser les services genre nfsv4 tu en as l'usage ? tu sais faire ? et qu'est-ce que : hardenedphp ? c'est un truc spécial php-dedibox ?

Pour un serveur on souhaite avoir généralement le minimum vital pour un usage donné et restreind à celui-ci ; afin d'éviter toutes failles sur des choses inutiles voire non maitrisées, et non pas une multitude de d'outils superflus même ils sont construits avec un support dit "securisé" - une erreur de config de base dans un nfs et c'est le drame.... surtout si on se croit à l'abris de tout parce qu'on à mis un profile hardened   :Confused:   (en plus tu as un profile desktop migré en hardened avec tout çà, au pire il existe un profile serveur si tu veux)

Mais une chose à la fois, pour en revenir à ton pb : static n'est pas du tout un flag par défaut généralement du moins sur gentoo car avec ça tu lies statiquement les bibliothèques au lieu de dynamiquement dans les binaires générés et c'est souvent le contraire que l'on veut après a toi de voir...

mais je ferais un essai en virant les uses static et ssl (et/ou alternativement) pour cette version de bacula afin de déterminer la cause exacte après on avisera en fonction

----------

## orgoz

 *boozo wrote:*   

> 
> 
> static n'est pas du tout un flag par défaut généralement du moins sur gentoo car avec ça tu lies statiquement les bibliothèques au lieu de dynamiquement dans les binaires générés et c'est souvent le contraire que l'on veut après a toi de voir...
> 
> mais je ferais un essai en virant les uses static et ssl (et/ou alternativement) pour cette version de bacula afin de déterminer la cause exacte après on avisera en fonction

 

On est d'accord, je n'ai pas dit qu'il s'agissait d'un flag par défaut sous gentoo, mais un flag par défaut sur le système dedibox.

Je vais essayer de faire du ménage dans mes flags inutiles, je verrais bien.

Merci en tous cas

----------

## boozo

 *orgoz wrote:*   

> 
> 
> On est d'accord, je n'ai pas dit qu'il s'agissait d'un flag par défaut sous gentoo, mais un flag par défaut sur le système dedibox.
> 
> Je vais essayer de faire du ménage dans mes flags inutiles, je verrais bien.
> ...

 

je sais bien c'est juste que rien n'indiquait au départ que tu n'étais pas sur une gentoo native d'où les supputations successives   :Wink: 

pour faire le ménage, minute... une chose à la fois parce que sinon on s'en tirera pas. D'abord on teste les uses pour bacula seulement avec le package.use après on voit pour remettre à plat les make.conf/profile parce que si tu bouges tout en même temps on risque d'allez de mal en pis

----------

## orgoz

Oui c'est vrai, tu as raison  :Confused:  rha mon impatience me posa des problèmes un jour  :Laughing: 

Merci pour tes conseils, je jouerais avec ça surement demain, et je tiendrais au courant des avancées  :Smile: 

----------

## orgoz

Et bien voilà, j'ai donc supprimé le flag static pour bacula et ca fonctionne désormais bien !

Merci de m'avoir indiqué cette piste  :Very Happy: 

----------

## boozo

Mais de rien voyons ; tant qu'on peut aider  ^^

On attend la suite quand tu nous aura mitonné un serveur aux petits oignons 

btw: désolé de jouer les croulants, d'autant plus que tu l'as fait de toi même, mais d'après nos convention c'est à la fin le (Résolu) ; c'est pas que... mais c'est 'achement plus mieux de voir une série de (Résolu) aligné   :Laughing: 

[OT]D'ailleurs des grandes enfilades, ça manque un peu depuis quelques mois sur ce forum... Oh les Vieux va falloir en donner un peu hein ?! parce que les D'zeuns là, ils ne respectent plus la couche d'os jaunes  :Twisted Evil:   [/OT]

----------

## orgoz

 *boozo wrote:*   

> Mais de rien voyons ; tant qu'on peut aider  ^^
> 
> On attend la suite quand tu nous aura mitonné un serveur aux petits oignons 
> 
> 

 

bon il n'est pas parfait le serveur mais il fonctionne très bien depuis pas mal de mois, c'est déjà pas si mal  :Laughing:  (c'est plus un serveur perso qu'un serveur de prod a proprement parler... il me sert d'apprentissage donc je suis indulgent avec les petites erreurs de conf)

 *boozo wrote:*   

> 
> 
> btw: désolé de jouer les croulants, d'autant plus que tu l'as fait de toi même, mais d'après nos convention c'est à la fin le (Résolu) ; c'est pas que... mais c'est 'achement plus mieux de voir une série de (Résolu) aligné  
> 
> 

 

Voila qui est réparé  :Very Happy: 

----------

