грешка: редефинисање ап_хацк_апр_аллоцатор_цреате

Компилација изворног кода Апацхе веб сервера је увек забавна.

Веома је ретко да ће Апацхе бити састављен при првом покретању на потпуно новом серверу.

Чињеница је да то захтева много предуслова и ако неки од њих недостаје или компатибилност са верзијама, можда ћете морати да потрошите доста времена на поправку тога.

Радио сам на потпуно новом серверу Линук 6.4 да бих инсталирао Апацхе 2.4.6 и наишао сам на следећу грешку.

exports.c:1929:
error: redefinition of 'ap_hack_apr_allocator_create'
exports.c:921: note: previous definition of 'ap_hack_apr_allocator_create' was here exports.c:1930:
error: redefinition of 'ap_hack_apr_allocator_destroy'
exports.c:922: note: previous definition of 'ap_hack_apr_allocator_destroy' was here exports.c:1931:
error: redefinition of 'ap_hack_apr_allocator_alloc' exports.c:923: note: previous definition of 'ap_hack_apr_allocator_alloc' was here exports.c:1932:
error: redefinition of 'ap_hack_apr_allocator_free' exports.c:924: note: previous definition of 'ap_hack_apr_allocator_free' was here exports.c:1933:
error: redefinition of 'ap_hack_apr_allocator_owner_set'
exports.c:925: note: previous definition of 'ap_hack_apr_allocator_owner_set' was here exports.c:1934:
error: redefinition of 'ap_hack_apr_allocator_owner_get' exports.c:926: note: previous definition of 'ap_hack_apr_allocator_owner_get' was here exports.c:1935:
error: redefinition of 'ap_hack_apr_allocator_max_free_set' exports.c:927: note: previous definition of 'ap_hack_apr_allocator_max_free_set' was here exports.c:1937:
error: redefinition of 'ap_hack_apr_allocator_mutex_set' exports.c:929: note: previous definition of 'ap_hack_apr_allocator_mutex_set' was here exports.c:1938:
error: redefinition of 'ap_hack_apr_allocator_mutex_get' exports.c:930: note: previous definition of 'ap_hack_apr_allocator_mutex_get' was here exports.c:1944:
error: redefinition of 'ap_hack_apr_atomic_init' exports.c:936: note: previous definition of 'ap_hack_apr_atomic_init' was here exports.c:1945:
error: redefinition of 'ap_hack_apr_atomic_read32' exports.c:937: note: previous definition of 'ap_hack_apr_atomic_read32' was here exports.c:1946:
error: redefinition of 'ap_hack_apr_atomic_set32' exports.c:938: note: previous definition of 'ap_hack_apr_atomic_set32' was here exports.c:1947:
error: redefinition of 'ap_hack_apr_atomic_add32' exports.c:939: note: previous definition of 'ap_hack_apr_atomic_add32' was here exports.c:1948:
error: redefinition of 'ap_hack_apr_atomic_sub32' exports.c:940: note: previous definition of 'ap_hack_apr_atomic_sub32' was here exports.c:1949:
error: redefinition of 'ap_hack_apr_atomic_inc32' exports.c:941: note: previous definition of 'ap_hack_apr_atomic_inc32' was here exports.c:1950:
error: redefinition of 'ap_hack_apr_atomic_dec32' exports.c:942: note: previous definition of 'ap_hack_apr_atomic_dec32' was here exports.c:1951:
error: redefinition of 'ap_hack_apr_atomic_cas32' exports.c:943: note: previous definition of 'ap_hack_apr_atomic_cas32' was here exports.c:1952:
error: redefinition of 'ap_hack_apr_atomic_xchg32' exports.c:944: note: previous definition of 'ap_hack_apr_atomic_xchg32' was here exports.c:1953:
error: redefinition of 'ap_hack_apr_atomic_casptr' exports.c:945: note: previous definition of 'ap_hack_apr_atomic_casptr' was here exports.c:1954:
error: redefinition of 'ap_hack_apr_atomic_xchgptr' exports.c:946: note: previous definition of 'ap_hack_apr_atomic_xchgptr' was here exports.c:1960:
error: redefinition of 'ap_hack_apr_dso_load' exports.c:1085: note: previous definition of 'ap_hack_apr_dso_load' was here exports.c:1961:
error: redefinition of 'ap_hack_apr_dso_unload' exports.c:1086: note: previous definition of 'ap_hack_apr_dso_unload' was here exports.c:1962:
error: redefinition of 'ap_hack_apr_dso_sym' exports.c:1087: note: previous definition of 'ap_hack_apr_dso_sym' was here exports.c:1963:
error: redefinition of 'ap_hack_apr_dso_error' exports.c:1088: note: previous definition of 'ap_hack_apr_dso_error' was here exports.c:1969:
error: redefinition of 'ap_hack_apr_env_get' exports.c:1094: note: previous definition of 'ap_hack_apr_env_get' was here exports.c:1970:
error: redefinition of 'ap_hack_apr_env_set' exports.c:1095: note: previous definition of 'ap_hack_apr_env_set' was here exports.c:1971:
error: redefinition of 'ap_hack_apr_env_delete' exports.c:1096: note: previous definition of 'ap_hack_apr_env_delete' was here exports.c:1976:
error: redefinition of 'ap_hack_apr_strerror' exports.c:1101: note: previous definition of 'ap_hack_apr_strerror' was here export.c:1981:
error: redefinition of 'ap_hack_apr_stat' exports.c:1106: note: previous definition of 'ap_hack_apr_stat' was here exports.c:1982:
error: redefinition of 'ap_hack_apr_dir_open' exports.c:1107: note: previous definition of 'ap_hack_apr_dir_open' was here exports.c:1983:
error: redefinition of 'ap_hack_apr_dir_close' exports.c:1108: note: previous definition of 'ap_hack_apr_dir_close' was here

Ако добијете сличну грешку, можете је поправити као што сам ја урадио тако што ћете пратити.

  Како направити резервну копију података Гоогле УА пре него што буду избрисани

Решење

Након што сам погледао различите параметре, приметио сам да се ово дешава када имате апр-утил нижу верзију од 1.4.1

  • Проверите своју верзију за април. Ако пронађете нижу верзију, морате инсталирати 1.4.1 или новију
  • Преузмите изворни код апр-утил са хттп://миррор.нус.еду.сг/апацхе/апр/
  • Извуците преузету датотеку

Саставите и инсталирајте на следећи начин

./configure 
make 
make install

Подразумевано ће се инсталирати под /уср/лоцал/апр/бин/апу-1-цонфиг

Сада можете да ускладите апацхе са новоинсталираним апр-утил-ом и требало би да буде у реду.

./configure --with-apr-util=/usr/local/apr/bin/apu-1-config

Мени је помогло, а надам се и теби.

Да ли сте уживали у читању чланка? Шта кажете на дељење са светом?