Bagaimana untuk menangani ralat `panggilan ke fungsi yang tidak diisytiharkan 'sys_icache_invalidate'` apabila melaksanakan `make` pada Mac OS Ventura M1?
P粉006977956
P粉006977956 2023-07-17 18:30:07
0
1
439

Saya cuba mengekalkan aplikasi lama menggunakan PHP 5.4.45. Jadi saya memasang kod sumber versi PHP yang sepadan dari sini. Saya membuka zip folder tar.gz dan melaksanakan...

  1. ./configure --with-iconv=/opt/homebrew/opt/libiconv
  2. make

Dalam langkah pertama, konfigurasi telah berjaya dilakukan. Walau bagaimanapun, semasa langkah kedua, banyak amaran dan ralat muncul. Pada ralat ini, proses membuat berhenti:

/Users/ferguso/Downloads/php-5.4.45/ext/pcre/pcrelib/sljit/sljitNativeARM_64.c:312:2: error: call to undeclared function 'sys_icache_invalidate'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] SLJIT_CACHE_FLUSH(code, code_ptr); /Users/ferguso/Downloads/php-5.4.45/ext/pcre/pcrelib/sljit/sljitConfigInternal.h:301:2: note: expanded from macro 'SLJIT_CACHE_FLUSH' sys_icache_invalidate((char*)(from), (char*)(to) - (char*)(from))

Bagaimana untuk menangani ralat ini dan memasang kod sumber versi PHP 5.4.45 pada MacOS Ventura M1 MacBook saya?

P粉006977956
P粉006977956

membalas semua (1)
P粉418351692

我比较了最新的代码。尝试在宏前面包含头文件。

#include
           
            /* +++ */ #define SLJIT_CACHE_FLUSH(from, to) \ sys_icache_invalidate((void*)(from), (size_t)((char*)(to) - (char*)(from)))
            
           
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!