Linux環境下apache阿帕奇安裝配置失敗報錯,編譯失敗的解決方案,Apache安裝升級OpsenSSL步驟__Linux

來源:互聯網
上載者:User

1、準備安裝程式:

apr-1.6.2.tar.gz

apr-util-1.6.0.tar.gz

expat-2.2.4.tar.bz

httpd-2.4.27.tar.gz

openssl-1.1.0f.tar.gz

pcre-8.41.tar.gz

2、依次解壓縮:

 tar -xvf apr-1.6.2.tar.gz 

tar -xvf apr-util-1.6.0.tar.gz

tar -xvf expat-2.2.4.tar.bz 

tar -xvf httpd-2.4.27.tar.gz 

tar -xvf pcre-8.41.tar.gz 

3、安裝openSSL

 tar -xvf openssl-1.1.0f.tar.gz cd openssl-1.1.0f./config shared zlib-dynamic--prefix=/usr/local/opensslmakemake install

安裝之後如果有曆史版本的OpenSSL,則需要處理一下

mv /usr/bin/openssl/usr/bin/openssl.bakmv /usr/include/openssl /usr/include/openssl.bak

建立so檔案的軟串連,這裡需要注意先找到so檔案的地址才能知道軟連結的地址

比如有的人是

ln -s /usr/lib64/libssl.so.1.1 /usr/local/lib64/libssl.so.1.1 ln -s /usr/lib64/libcrypto.so.1.1 /usr/local/lib64/libcrypto.so.1.1 

但是我發現自己伺服器執行失敗,於是尋找so地址

 find / -name "libssl.so.1.1"

發現安裝地址有差異:

[root$tgpmsidc39 lib64]# find / -name "libssl.so.1.1"/soft/openssl-1.1.0f/libssl.so.1.1/usr/local/openssl/lib/libssl.so.1.1

那麼很明顯,我們的命令應該修改為:

ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

讓so生效,具體原理請Google一下:

echo " /usr/lib64 ">> /etc/ld.so.conf

查看一下路徑是否寫入

[root$tgpmsidc39 lib64]# cat /etc/ld.so.confinclude ld.so.conf.d/*.conf/usr/lib64
寫入了檔案,則使之生效

ldconfig –v

或者ldconfig –v |grep libssl

有的人執行 ldconfig –v ,會報錯,請修改加上絕對路徑:

/sbin/ldconfig -v |grep libssl

如果有1.1版本的so資訊則沒問題

安裝APR

tar  -xvzf  apr-1.6.2.tar.gzcd apr-1.6.2./configure --prefix=/usr/lcoal/aprmakemake install

解壓後安裝Expat

tar  -xvzf expat-2.2.4.tar.gzcd expat-2.2.4./configuremakemake install

安裝apr-util

tar  -xvzf apr-util-1.6.0.tar.gzcd apr-util-1.6.0

發現系統報錯:

[root$tgpmsidc39 apr-util-1.6.0]# ./configure checking build system type... x86_64-pc-linux-gnuchecking host system type... x86_64-pc-linux-gnuchecking target system type... x86_64-pc-linux-gnuchecking for a BSD-compatible install... /usr/bin/install -cchecking for working mkdir -p... yesAPR-util Version: 1.6.0checking for chosen layout... apr-utilchecking for gcc... gccchecking whether the C compiler works... yeschecking for C compiler default output file name... a.outchecking for suffix of executables... checking whether we are cross compiling... nochecking for suffix of object files... ochecking whether we are using the GNU C compiler... yeschecking whether gcc accepts -g... yeschecking for gcc option to accept ISO C89... none neededApplying apr-util hints file rules for x86_64-pc-linux-gnuchecking for APR... noconfigure: error: APR could not be located. Please use the --with-apr option.

重新來過:

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

成功。

make

make install

安裝pcre

tar -xvf pcre-8.41.tar.gz

cd pcre-8.41

這裡安裝需要指定路徑

./configure --prefix=/usr/local/pcremakemake install

安裝apache

tar -xvf  httpd-2.4.27.tar.gz cd  httpd-2.4.27./configure --prefix=/usr/local/apache2.4.27 --enable-mods-shared=all  --with-ssl=/usr/local/openssl    --with-apr=/usr/local/apr --with-pcre=/usr/local/pcre --with-expat=/usr/local/expat

make編譯階段報錯如上:

exports.c:1902: 錯誤:‘ap_hack_apr_md4’ 重定義  exports.c:1080: 錯誤:‘ap_hack_apr_md4’ 的上一個定義在此  exports.c:1907: 錯誤:‘ap_hack_apr_md5_init’ 重定義  exports.c:1085: 錯誤:‘ap_hack_apr_md5_init’ 的上一個定義在此  exports.c:1908: 錯誤:‘ap_hack_apr_md5_set_xlate’ 重定義  exports.c:1086: 錯誤:‘ap_hack_apr_md5_set_xlate’ 的上一個定義在此  exports.c:1909: 錯誤:‘ap_hack_apr_md5_update’ 重定義  exports.c:1087: 錯誤:‘ap_hack_apr_md5_update’ 的上一個定義在此  exports.c:1910: 錯誤:‘ap_hack_apr_md5_final’ 重定義  exports.c:1088: 錯誤:‘ap_hack_apr_md5_final’ 的上一個定義在此  exports.c:1911: 錯誤:‘ap_hack_apr_md5’ 重定義  exports.c:1089: 錯誤:‘ap_hack_apr_md5’ 的上一個定義在此  exports.c:1912: 錯誤:‘ap_hack_apr_md5_encode’ 重定義  exports.c:1090: 錯誤:‘ap_hack_apr_md5_encode’ 的上一個定義在此  exports.c:1913: 錯誤:‘ap_hack_apr_password_validate’ 重定義  exports.c:1091: 錯誤:‘ap_hack_apr_password_validate’ 的上一個定義在此  exports.c:1918: 錯誤:‘ap_hack_apr_memcache_hash’ 重定義  exports.c:1096: 錯誤:‘ap_hack_apr_memcache_hash’ 的上一個定義在此  exports.c:1919: 錯誤:‘ap_hack_apr_memcache_hash_crc32’ 重定義  exports.c:1097: 錯誤:‘ap_hack_apr_memcache_hash_crc32’ 的上一個定義在此  exports.c:1920: 錯誤:‘ap_hack_apr_memcache_hash_default’ 重定義  exports.c:1098: 錯誤:‘ap_hack_apr_memcache_hash_default’ 的上一個定義在此  exports.c:1921: 錯誤:‘ap_hack_apr_memcache_find_server_hash’ 重定義  exports.c:1099: 錯誤:‘ap_hack_apr_memcache_find_server_hash’ 的上一個定義在此  exports.c:1922: 錯誤:‘ap_hack_apr_memcache_add_server’ 重定義  exports.c:1100: 錯誤:‘ap_hack_apr_memcache_add_server’ 的上一個定義在此  exports.c:1923: 錯誤:‘ap_hack_apr_memcache_find_server’ 重定義  exports.c:1101: 錯誤:‘ap_hack_apr_memcache_find_server’ 的上一個定義在此  exports.c:1924: 錯誤:‘ap_hack_apr_memcache_enable_server’ 重定義  exports.c:1102: 錯誤:‘ap_hack_apr_memcache_enable_server’ 的上一個定義在此  exports.c:1925: 錯誤:‘ap_hack_apr_memcache_disable_server’ 重定義  exports.c:1103: 錯誤:‘ap_hack_apr_memcache_disable_server’ 的上一個定義在此  exports.c:1926: 錯誤:‘ap_hack_apr_memcache_server_create’ 重定義  exports.c:1104: 錯誤:‘ap_hack_apr_memcache_server_create’ 的上一個定義在此  exports.c:1927: 錯誤:‘ap_hack_apr_memcache_create’ 重定義  exports.c:1105: 錯誤:‘ap_hack_apr_memcache_create’ 的上一個定義在此  exports.c:1928: 錯誤:‘ap_hack_apr_memcache_getp’ 重定義  exports.c:1106: 錯誤:‘ap_hack_apr_memcache_getp’ 的上一個定義在此  exports.c:1929: 錯誤:‘ap_hack_apr_memcache_add_multget_key’ 重定義  exports.c:1107: 錯誤:‘ap_hack_apr_memcache_add_multget_key’ 的上一個定義在此  exports.c:1930: 錯誤:‘ap_hack_apr_memcache_multgetp’ 重定義  exports.c:1108: 錯誤:‘ap_hack_apr_memcache_multgetp’ 的上一個定義在此  exports.c:1931: 錯誤:‘ap_hack_apr_memcache_set’ 重定義  exports.c:1109: 錯誤:‘ap_hack_apr_memcache_set’ 的上一個定義在此  exports.c:1932: 錯誤:‘ap_hack_apr_memcache_add’ 重定義  exports.c:1110: 錯誤:‘ap_hack_apr_memcache_add’ 的上一個定義在此  exports.c:1933: 錯誤:‘ap_hack_apr_memcache_replace’ 重定義  exports.c:1111: 錯誤:‘ap_hack_apr_memcache_replace’ 的上一個定義在此  exports.c:1934: 錯誤:‘ap_hack_apr_memcache_delete’ 重定義  exports.c:1112: 錯誤:‘ap_hack_apr_memcache_delete’ 的上一個定義在此  exports.c:1935: 錯誤:‘ap_hack_apr_memcache_incr’ 重定義  exports.c:1113: 錯誤:‘ap_hack_apr_memcache_incr’ 的上一個定義在此  exports.c:1936: 錯誤:‘ap_hack_apr_memcache_decr’ 重定義  exports.c:1114: 錯誤:‘ap_hack_apr_memcache_decr’ 的上一個定義在此  exports.c:1937: 錯誤:‘ap_hack_apr_memcache_version’ 重定義  exports.c:1115: 錯誤:‘ap_hack_apr_memcache_version’ 的上一個定義在此  exports.c:1938: 錯誤:‘ap_hack_apr_memcache_stats’ 重定義  exports.c:1116: 錯誤:‘ap_hack_apr_memcache_stats’ 的上一個定義在此  exports.c:1943: 錯誤:‘ap_hack_apr_dynamic_fn_register’ 重定義  exports.c:1179: 錯誤:‘ap_hack_apr_dynamic_fn_register’ 的上一個定義在此  exports.c:1944: 錯誤:‘ap_hack_apr_dynamic_fn_retrieve’ 重定義  exports.c:1180: 錯誤:‘ap_hack_apr_dynamic_fn_retrieve’ 的上一個定義在此  exports.c:1949: 錯誤:‘ap_hack_apr_optional_hook_add’ 重定義  exports.c:1185: 錯誤:‘ap_hack_apr_optional_hook_add’ 的上一個定義在此  exports.c:1950: 錯誤:‘ap_hack_apr_optional_hook_get’ 重定義  exports.c:1186: 錯誤:‘ap_hack_apr_optional_hook_get’ 的上一個定義在此  exports.c:1956: 錯誤:‘ap_hack_apr_queue_create’ 重定義  exports.c:1323: 錯誤:‘ap_hack_apr_queue_create’ 的上一個定義在此  exports.c:1957: 錯誤:‘ap_hack_apr_queue_push’ 重定義  exports.c:1324: 錯誤:‘ap_hack_apr_queue_push’ 的上一個定義在此  exports.c:1958: 錯誤:‘ap_hack_apr_queue_pop’ 重定義  exports.c:1325: 錯誤:‘ap_hack_apr_queue_pop’ 的上一個定義在此  exports.c:1959: 錯誤:‘ap_hack_apr_queue_trypush’ 重定義  exports.c:1326: 錯誤:‘ap_hack_apr_queue_trypush’ 的上一個定義在此  exports.c:1960: 錯誤:‘ap_hack_apr_queue_trypop’ 重定義  exports.c:1327: 錯誤:‘ap_hack_apr_queue_trypop’ 的上一個定義在此  exports.c:1961: 錯誤:‘ap_hack_apr_queue_size’ 重定義  exports.c:1328: 錯誤:‘ap_hack_apr_queue_size’ 的上一個定義在此  exports.c:1962: 錯誤:‘ap_hack_apr_queue_interrupt_all’ 重定義  exports.c:1329: 錯誤:‘ap_hack_apr_queue_interrupt_all’ 的上一個定義在此  exports.c:1963: 錯誤:‘ap_hack_apr_queue_term’ 重定義  exports.c:1330: 錯誤:‘ap_hack_apr_queue_term’ 的上一個定義在此  exports.c:1970: 錯誤:‘ap_hack_apr_reslist_create’ 重定義  exports.c:1351: 錯誤:‘ap_hack_apr_reslist_create’ 的上一個定義在此  exports.c:1971: 錯誤:‘ap_hack_apr_reslist_destroy’ 重定義  exports.c:1352: 錯誤:‘ap_hack_apr_reslist_destroy’ 的上一個定義在此  exports.c:1972: 錯誤:‘ap_hack_apr_reslist_acquire’ 重定義  exports.c:1353: 錯誤:‘ap_hack_apr_reslist_acquire’ 的上一個定義在此  exports.c:1973: 錯誤:‘ap_hack_apr_reslist_release’ 重定義  exports.c:1354: 錯誤:‘ap_hack_apr_reslist_release’ 的上一個定義在此  exports.c:1974: 錯誤:‘ap_hack_apr_reslist_timeout_set’ 重定義  exports.c:1355: 錯誤:‘ap_hack_apr_reslist_timeout_set’ 的上一個定義在此  exports.c:1975: 錯誤:‘ap_hack_apr_reslist_acquired_count’ 重定義  exports.c:1356: 錯誤:‘ap_hack_apr_reslist_acquired_count’ 的上一個定義在此  exports.c:1976: 錯誤:‘ap_hack_apr_reslist_invalidate’ 重定義  exports.c:1357: 錯誤:‘ap_hack_apr_reslist_invalidate’ 的上一個定義在此  exports.c:1982: 錯誤:‘ap_hack_apr_rmm_init’ 重定義  exports.c:1363: 錯誤:‘ap_hack_apr_rmm_init’ 的上一個定義在此  exports.c:1983: 錯誤:‘ap_hack_apr_rmm_destroy’ 重定義  exports.c:1364: 錯誤:‘ap_hack_apr_rmm_destroy’ 的上一個定義在此  exports.c:1984: 錯誤:‘ap_hack_apr_rmm_attach’ 重定義  exports.c:1365: 錯誤:‘ap_hack_apr_rmm_attach’ 的上一個定義在此  exports.c:1985: 錯誤:‘ap_hack_apr_rmm_detach’ 重定義  exports.c:1366: 錯誤:‘ap_hack_apr_rmm_detach’ 的上一個定義在此  exports.c:1986: 錯誤:‘ap_hack_apr_rmm_malloc’ 重定義  exports.c:1367: 錯誤:‘ap_hack_apr_rmm_malloc’ 的上一個定義在此  exports.c:1987: 錯誤:‘ap_hack_apr_rmm_realloc’ 重定義  exports.c:1368: 錯誤:‘ap_hack_apr_rmm_realloc’ 的上一個定義在此  exports.c:1988: 錯誤:‘ap_hack_apr_rmm_calloc’ 重定義  exports.c:1369: 錯誤:‘ap_hack_apr_rmm_calloc’ 的上一個定義在此  exports.c:1989: 錯誤:‘ap_hack_apr_rmm_free’ 重定義  exports.c:1370: 錯誤:‘ap_hack_apr_rmm_free’ 的上一個定義在此  exports.c:1990: 錯誤:‘ap_hack_apr_rmm_addr_get’ 重定義  exports.c:1371: 錯誤:‘ap_hack_apr_rmm_addr_get’ 的上一個定義在此  exports.c:1991: 錯誤:‘ap_hack_apr_rmm_offset_get’ 重定義  exports.c:1372: 錯誤:‘ap_hack_apr_rmm_offset_get’ 的上一個定義在此  exports.c:1992: 錯誤:‘ap_hack_apr_rmm_overhead_get’ 重定義  exports.c:1373: 錯誤:‘ap_hack_apr_rmm_overhead_get’ 的上一個定義在此  exports.c:1997: 錯誤:‘ap_hack_apr_sdbm_open’ 重定義  exports.c:1378: 錯誤:‘ap_hack_apr_sdbm_open’ 的上一個定義在此  exports.c:1998: 錯誤:‘ap_hack_apr_sdbm_close’ 重定義  exports.c:1379: 錯誤:‘ap_hack_apr_sdbm_close’ 的上一個定義在此  exports.c:1999: 錯誤:‘ap_hack_apr_sdbm_lock’ 重定義  exports.c:1380: 錯誤:‘ap_hack_apr_sdbm_lock’ 的上一個定義在此  exports.c:2000: 錯誤:‘ap_hack_apr_sdbm_unlock’ 重定義  exports.c:1381: 錯誤:‘ap_hack_apr_sdbm_unlock’ 的上一個定義在此  exports.c:2001: 錯誤:‘ap_hack_apr_sdbm_fetch’ 重定義  exports.c:1382: 錯誤:‘ap_hack_apr_sdbm_fetch’ 的上一個定義在此  exports.c:2002: 錯誤:‘ap_hack_apr_sdbm_store’ 重定義  exports.c:1383: 錯誤:‘ap_hack_apr_sdbm_store’ 的上一個定義在此  exports.c:2003: 錯誤:‘ap_hack_apr_sdbm_delete’ 重定義  exports.c:1384: 錯誤:‘ap_hack_apr_sdbm_delete’ 的上一個定義在此  exports.c:2004: 錯誤:‘ap_hack_apr_sdbm_firstkey’ 重定義  exports.c:1385: 錯誤:‘ap_hack_apr_sdbm_firstkey’ 的上一個定義在此  exports.c:2005: 錯誤:‘ap_hack_apr_sdbm_nextkey’ 重定義  exports.c:1386: 錯誤:‘ap_hack_apr_sdbm_nextkey’ 的上一個定義在此  exports.c:2006: 錯誤:‘ap_hack_apr_sdbm_rdonly’ 重定義  exports.c:1387: 錯誤:‘ap_hack_apr_sdbm_rdonly’ 的上一個定義在此  exports.c:2011: 錯誤:‘ap_hack_apr_sha1_base64’ 重定義  exports.c:1392: 錯誤:‘ap_hack_apr_sha1_base64’ 的上一個定義在此  exports.c:2012: 錯誤:‘ap_hack_apr_sha1_init’ 重定義  exports.c:1393: 錯誤:‘ap_hack_apr_sha1_init’ 的上一個定義在此  exports.c:2013: 錯誤:‘ap_hack_apr_sha1_update’ 重定義  exports.c:1394: 錯誤:‘ap_hack_apr_sha1_update’ 的上一個定義在此  exports.c:2014: 錯誤:‘ap_hack_apr_sha1_update_binary’ 重定義  exports.c:1395: 錯誤:‘ap_hack_apr_sha1_update_binary’ 的上一個定義在此  exports.c:2015: 錯誤:‘ap_hack_apr_sha1_final’ 重定義  exports.c:1396: 錯誤:‘ap_hack_apr_sha1_final’ 的上一個定義在此  exports.c:2024: 錯誤:‘ap_hack_apr_strmatch_precompile’ 重定義  exports.c:1455: 錯誤:‘ap_hack_apr_strmatch_precompile’ 的上一個定義在此  exports.c:2030: 錯誤:‘ap_hack_apr_thread_pool_create’ 重定義  exports.c:1519: 錯誤:‘ap_hack_apr_thread_pool_create’ 的上一個定義在此  exports.c:2031: 錯誤:‘ap_hack_apr_thread_pool_destroy’ 重定義  exports.c:1520: 錯誤:‘ap_hack_apr_thread_pool_destroy’ 的上一個定義在此  exports.c:2032: 錯誤:‘ap_hack_apr_thread_pool_push’ 重定義  exports.c:1521: 錯誤:‘ap_hack_apr_thread_pool_push’ 的上一個定義在此  exports.c:2033: 錯誤:‘ap_hack_apr_thread_pool_schedule’ 重定義  exports.c:1522: 錯誤:‘ap_hack_apr_thread_pool_schedule’ 的上一個定義在此  exports.c:2034: 錯誤:‘ap_hack_apr_thread_pool_top’ 重定義  exports.c:1523: 錯誤:‘ap_hack_apr_thread_pool_top’ 的上一個定義在此  exports.c:2035: 錯誤:‘ap_hack_apr_thread_pool_tasks_cancel’ 重定義  exports.c:1524: 錯誤:‘ap_hack_apr_thread_pool_tasks_cancel’ 的上一個定義在此  exports.c:2036: 錯誤:‘ap_hack_apr_thread_pool_tasks_count’ 重定義  exports.c:1525: 錯誤:‘ap_hack_apr_thread_pool_tasks_count’ 的上一個定義在此  exports.c:2037: 錯誤:‘ap_hack_apr_thread_pool_scheduled_tasks_count’ 重定義  exports.c:1526: 錯誤:‘ap_hack_apr_thread_pool_scheduled_tasks_count’ 的上一個定義在此  exports.c:2038: 錯誤:‘ap_hack_apr_thread_pool_threads_count’ 重定義  exports.c:1527: 錯誤:‘ap_hack_apr_thread_pool_threads_count’ 的上一個定義在此  exports.c:2039: 錯誤:‘ap_hack_apr_thread_pool_busy_count’ 重定義  exports.c:1528: 錯誤:‘ap_hack_apr_thread_pool_busy_count’ 的上一個定義在此  exports.c:2040: 錯誤:‘ap_hack_apr_thread_pool_idle_count’ 重定義  exports.c:1529: 錯誤:‘ap_hack_apr_thread_pool_idle_count’ 的上一個定義在此  exports.c:2041: 錯誤:‘ap_hack_apr_thread_pool_idle_max_set’ 重定義  exports.c:1530: 錯誤:‘ap_hack_apr_thread_pool_idle_max_set’ 的上一個定義在此  exports.c:2042: 錯誤:‘ap_hack_apr_thread_pool_idle_max_get’ 重定義  exports.c:1531: 錯誤:‘ap_hack_apr_thread_pool_idle_max_get’ 的上一個定義在此  exports.c:2043: 錯誤:‘ap_hack_apr_thread_pool_thread_max_set’ 重定義  exports.c:1532: 錯誤:‘ap_hack_apr_thread_pool_thread_max_set’ 的上一個定義在此  exports.c:2044: 錯誤:‘ap_hack_apr_thread_pool_thread_max_get’ 重定義  exports.c:1533: 錯誤:‘ap_hack_apr_thread_pool_thread_max_get’ 的上一個定義在此  exports.c:2045: 錯誤:‘ap_hack_apr_thread_pool_threshold_set’ 重定義  exports.c:1534: 錯誤:‘ap_hack_apr_thread_pool_threshold_set’ 的上一個定義在此  exports.c:2046: 錯誤:‘ap_hack_apr_thread_pool_threshold_get’ 重定義  exports.c:1535: 錯誤:‘ap_hack_apr_thread_pool_threshold_get’ 的上一個定義在此  exports.c:2047: 錯誤:‘ap_hack_apr_thread_pool_task_owner_get’ 重定義  exports.c:1536: 錯誤:‘ap_hack_apr_thread_pool_task_owner_get’ 的上一個定義在此  exports.c:2053: 錯誤:‘ap_hack_apr_uri_port_of_scheme’ 重定義  exports.c:1635: 錯誤:‘ap_hack_apr_uri_port_of_scheme’ 的上一個定義在此  exports.c:2054: 錯誤:‘ap_hack_apr_uri_unparse’ 重定義  exports.c:1636: 錯誤:‘ap_hack_apr_uri_unparse’ 的上一個定義在此  exports.c:2055: 錯誤:‘ap_hack_apr_uri_parse’ 重定義  exports.c:1637: 錯誤:‘ap_hack_apr_uri_parse’ 的上一個定義在此  exports.c:2056: 錯誤:‘ap_hack_apr_uri_parse_hostinfo’ 重定義  exports.c:1638: 錯誤:‘ap_hack_apr_uri_parse_hostinfo’ 的上一個定義在此  exports.c:2061: 錯誤:‘ap_hack_apr_uuid_get’ 重定義  exports.c:1663: 錯誤:‘ap_hack_apr_uuid_get’ 的上一個定義在此  exports.c:2062: 錯誤:‘ap_hack_apr_uuid_format’ 重定義  exports.c:1664: 錯誤:‘ap_hack_apr_uuid_format’ 的上一個定義在此  exports.c:2063: 錯誤:‘ap_hack_apr_uuid_parse’ 重定義  exports.c:1665: 錯誤:‘ap_hack_apr_uuid_parse’ 的上一個定義在此  exports.c:2068: 錯誤:‘ap_hack_apr_xlate_open’ 重定義  exports.c:1678: 錯誤:‘ap_hack_apr_xlate_open’ 的上一個定義在此  exports.c:2069: 錯誤:‘ap_hack_apr_xlate_sb_get’ 重定義  exports.c:1679: 錯誤:‘ap_hack_apr_xlate_sb_get’ 的上一個定義在此  exports.c:2070: 錯誤:‘ap_hack_apr_xlate_conv_buffer’ 重定義  exports.c:1680: 錯誤:‘ap_hack_apr_xlate_conv_buffer’ 的上一個定義在此  exports.c:2074: 錯誤:‘ap_hack_apr_xlate_conv_byte’ 重定義  exports.c:1684: 錯誤:‘ap_hack_apr_xlate_conv_byte’ 的上一個定義在此  exports.c:2075: 錯誤:‘ap_hack_apr_xlate_close’ 重定義  exports.c:1685: 錯誤:‘ap_hack_apr_xlate_close’ 的上一個定義在此  exports.c:2080: 錯誤:‘ap_hack_apr_text_append’ 重定義  exports.c:1690: 錯誤:‘ap_hack_apr_text_append’ 的上一個定義在此  exports.c:2081: 錯誤:‘ap_hack_apr_xml_parser_create’ 重定義  exports.c:1691: 錯誤:‘ap_hack_apr_xml_parser_create’ 的上一個定義在此  exports.c:2082: 錯誤:‘ap_hack_apr_xml_parse_file’ 重定義  exports.c:1692: 錯誤:‘ap_hack_apr_xml_parse_file’ 的上一個定義在此  exports.c:2083: 錯誤:‘ap_hack_apr_xml_parser_feed’ 重定義  exports.c:1693: 錯誤:‘ap_hack_apr_xml_parser_feed’ 的上一個定義在此  exports.c:2084: 錯誤:‘ap_hack_apr_xml_parser_done’ 重定義  exports.c:1694: 錯誤:‘ap_hack_apr_xml_parser_done’ 的上一個定義在此  exports.c:2085: 錯誤:‘ap_hack_apr_xml_parser_geterror’ 重定義  exports.c:1695: 錯誤:‘ap_hack_apr_xml_parser_geterror’ 的上一個定義在此  exports.c:2086: 錯誤:‘ap_hack_apr_xml_to_text’ 重定義  exports.c:1696: 錯誤:‘ap_hack_apr_xml_to_text’ 的上一個定義在此  exports.c:2087: 錯誤:‘ap_hack_apr_xml_empty_elem’ 重定義  exports.c:1697: 錯誤:‘ap_hack_apr_xml_empty_elem’ 的上一個定義在此  exports.c:2088: 錯誤:‘ap_hack_apr_xml_quote_string’ 重定義  exports.c:1698: 錯誤:‘ap_hack_apr_xml_quote_string’ 的上一個定義在此  exports.c:2089: 錯誤:‘ap_hack_apr_xml_quote_elem’ 重定義  exports.c:1699: 錯誤:‘ap_hack_apr_xml_quote_elem’ 的上一個定義在此  exports.c:2090: 錯誤:‘ap_hack_apr_xml_insert_uri’ 重定義  exports.c:1700: 錯誤:‘ap_hack_apr_xml_insert_uri’ 的上一個定義在此  exports.c:2099: 錯誤:‘ap_hack_apu_version’ 重定義  exports.c:1709: 錯誤:‘ap_hack_apu_version’ 的上一個定義在此  exports.c:2100: 錯誤:‘ap_hack_apu_version_string’ 重定義  exports.c:1710: 錯誤:‘ap_hack_apu_version_string’ 的上一個定義在此  make[2]: *** [exports.lo] 錯誤 1  make[2]: Leaving directory `/abc/setup/httpd-2.2.17/server'  make[1]: *** [all-recursive] 錯誤 1  make[1]: Leaving directory `/abc/setup/httpd-2.2.17/server'  make: *** [all-recursive] 錯誤 1  

解決步驟如下:

./configure --prefix=/usr/local/apache2.4 --enable-mods-shared=all  --with-ssl=/usr/local/openssl   --with-apr-util=/usr/local/apr/bin/apu-1-config

然後make就不會報錯了,安裝也會成功了。

另外安裝另外一台的時候報錯找不到APR

[root$tgpmsidc39 httpd-2.4.27]# ./configure --prefix=/usr/local/apache2.4.27 --enable-mods-shared=all   --with-ssl=/usr/local/openssl --with-apr-util=/usr/local/apr/bin/apu-1-configchecking for chosen layout... Apachechecking for working mkdir -p... yeschecking for grep that handles long lines and -e... /bin/grepchecking for egrep... /bin/grep -Echecking build system type... x86_64-pc-linux-gnuchecking host system type... x86_64-pc-linux-gnuchecking target system type... x86_64-pc-linux-gnuconfigure: configure: Configuring Apache Portable Runtime library...configure: checking for APR... configure: WARNING: APR version 1.4.0 or later is required, found 1.3.9configure: WARNING: skipped APR at apr-1-config, version not acceptablenoconfigure: error: APR not found.  Please read the documentation.

解決辦法:

./configure --prefix=/usr/local/apache2.4.27 --enable-mods-shared=all  --with-ssl=/usr/local/openssl   --with-apr-util=/usr/local/apr/bin/apu-1-config --with-apr=/usr/local/apr/bin/apr-1-config --with-lib=/usr/local/apr/lib

成功

makemake install




相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.