suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie gehe ich mit dem Fehler „Aufruf der nicht deklarierten Funktion „sys_icache_invalidate““ um, wenn „make“ unter Mac OS Ventura M1 ausgeführt wird?

Ich versuche, eine alte Anwendung mit PHP 5.4.45 zu warten. Daher habe ich den Quellcode der entsprechenden PHP-Version von hier installiert. Ich habe den Ordner tar.gz entpackt und ausgeführt...

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

Im ersten Schritt wurde die Konfiguration erfolgreich durchgeführt. Im zweiten Schritt traten jedoch viele Warnungen und Fehler auf. Bei diesem Fehler stoppt der Make-Prozess:

/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))

Wie gehe ich mit diesem Fehler um und installiere den Quellcode der Version PHP 5.4.45 auf meinem MacOS Ventura M1 MacBook?

P粉006977956P粉006977956577 Tage vor668

Antworte allen(1)Ich werde antworten

  • P粉418351692

    P粉4183516922023-07-18 16:15:42

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

    #include  /* +++ */
    #define SLJIT_CACHE_FLUSH(from, to) \
         sys_icache_invalidate((void*)(from), (size_t)((char*)(to) - (char*)(from))) 

    Antwort
    0
  • StornierenAntwort