Áú»¢¶Ä²©

1 Problemes de compilaci¨®

Aquests s¨®n els problemes coneguts sobre la compilaci¨® de Áú»¢¶Ä²© des de les fonts. Per a la resta de casos, consulteu la p¨¤gina de problemes coneguts.

Compilaci¨® de l'agent Áú»¢¶Ä²© sota HP-UX

Si instal¡¤leu la biblioteca PCRE des d'un lloc popular de paquets d'HP-UX (per exemple, des del fitxer pcre-8.42-ia64_64-11.31.depot), nom¨¦s s'instal¡¤lar¨¤ la versi¨® de 64 bits de la biblioteca al directori /usr/local/lib/hpux64.

En aquest cas, per a una compilaci¨® correcta de l'agent, s'han d'emprar opcions personalitzades amb l'script configure, per exemple:

 CFLAGS="+DD64" ./configure --enable-agent --with-libpcre-include=/usr/local/include --with-libpcre-lib=/usr/local/lib/hpux64

Biblioteca en una ubicaci¨® no est¨¤ndard

Áú»¢¶Ä²© us permet especificar una biblioteca ubicada a un lloc no est¨¤ndard. A l'exemple seg¨¹ent, Áú»¢¶Ä²© executar¨¤ curl-config des de la ubicaci¨® no est¨¤ndard especificada i emprar¨¤ la seva sortida per determinar el libcurl correcte a emprar.

$ ./configure --enable-server --with-mysql --with-libcurl=/usr/local/bin/curl-config

Aix¨° funcionar¨¤ si ¨¦s l'¨²nic libcurl instal¡¤lat al sistema, per¨° potser no pas si hi ha un altre libcurl instal¡¤lat en una ubicaci¨® est¨¤ndard (pel gestor de paquets, per exemple). Aquest ¨¦s el cas quan us cal una versi¨® m¨¦s nova de la biblioteca per a Áú»¢¶Ä²© i la m¨¦s antiga per a altres aplicacions.

Per tant, especificar un component en una ubicaci¨® no est¨¤ndard no sempre funcionar¨¤ quan el mateix component tamb¨¦ existeix en una ubicaci¨® est¨¤ndard.

Per exemple, si empreu un libcurl m¨¦s nou instal¡¤lat a /usr/local amb el paquet libcurl encara instal¡¤lat, Áú»¢¶Ä²© podria agafar l'equivocat i la compilaci¨® fallar¨¤:

usr/bin/ld: ../../src/libs/zbxhttp/libzbxhttp.a(http.o): a la funci¨® 'zbx_http_convert_to_utf8':
       /tmp/zabbix-master/src/libs/zbxhttp/http.c:957: refer¨¨ncia indefinida a 'curl_easy_header'
       collect2: error: ld returned 1 exit status

Aqu¨ª, la funci¨® curl_easy_header() no ¨¦s disponible a l'antiga /usr/lib/x86_64-linux-gnu/libcurl.so, per¨° s¨ª que ho ¨¦s a la nova /usr/local/lib/libcurl.so .

El problema rau en l'ordre dels indicadors d'enlla? i una soluci¨® ¨¦s especificar el cam¨ª complet a la biblioteca en una variable LDFLAGS:

$ LDFLAGS="-Wl,--no-as-needed /usr/local/lib/libcurl.so" ./configure --enable-server --with-mysql --with-libcurl=/usr/local/bin /curl-config

Tingueu en compte l'opci¨® -Wl,--no-as-needed que pot caldre en alguns sistemes (vegeu tamb¨¦: opcions d'enlla? predeterminades a sistemes ).