configure: ошибка: mcrypt.h не найден. Пожалуйста, переустановите libmcrypt

Recopilando los pensamientos de la sección de comentarios, parece que esto se reduce a cómo las diferentes implementaciones grephan decidido lidiar con coincidencias vacías, y las coincidencias de expresiones [a-z]*en la cadena vacía.

La opción -ono está definida por POSIX, por lo que la forma en que una implementación la trata se deja a los desarrolladores.

GNU grepobviamente descarta las coincidencias vacías, por ejemplo, la coincidencia de la cadena vacía después de oncecuando se usa [a-z]*, y continúa procesando la entrada desde el siguiente carácter en adelante.

BSD grep, parece estar golpeando el fósforo vacío y decide que, por alguna razón, eso es suficiente, y se detiene allí.

Stéphane menciona que la versión ast-opende grepen realidad entra en un bucle infinito en la coincidencia vacía de [a-z]*después de oncey no pasa de ese punto en la cadena.

OpenBSD grepparece ser diferente de macOS y FreeBSD grepen que agregar el indicador -w(que requiere que las coincidencias estén delimitadas por límites de palabras )hace que [a-z]*devuelva cada palabra por separado.

ilkkachu hace la observación de que -ocon un patrón que permite hacer coincidir una cadena vacía en algún sentido es confuso (o posiblemente al menos ambiguo ). ¿Deben imprimirse todas las coincidencias vacías? De hecho, hay infinitas coincidencias de este tipo después de cada palabra en la cadena dada.


La fuente de OpenBSD paragrep(que muestra el mismo comportamiento que grepen macOS )contiene(src/usr.bin/grep/util.c):

               if (r == 0) {
                        c = 1;
                        if (oflag && pmatch.rm_so != pmatch.rm_eo)
                                goto print;
                        break;
                }
        }
        if (oflag)
                return c;
print:

Básicamente, esto dice que si el patrón coincide con(r == 0)y si estamos usando -o(oflag), y si el desplazamiento inicial de la coincidencia es el mismo que el desplazamiento final de la coincidencia (pmatch.rm_so == pmatch.rm_eo, es decir, una coincidencia vacía ), entonces el resultado de la coincidencia es no impreso y la coincidencia en esta línea particular de entrada termina(return ccon c == 1para "coincidencia encontrada" ).

0
02.05.2019, 02:27
2 ответа

OpenSUSE 10.2 является EOL с 11 -30 -2008 года. Я рекомендую выполнить обновление до поддерживаемой версии, например 15.1 или 42.3.

Если вы настаиваете на использовании того, что у вас есть, вам придется собирать пакет из исходного кода, как вы это делаете с PHP. Затем вы добавите его двоичные и библиотечные каталоги в PATH и LD _LIBRARY _PATH.

Если вы используете поддерживаемую версию, вы можете просто использовать zypperдля установки php и любых других пакетов, потому что в настоящее время вам придется собирать все из исходного кода, которого нет на этом DVD.

0
28.01.2020, 03:45

Если вам это все еще нужно, это может помочь

yum install epel-release
yum install libmcrypt-devel

Ссылка:https://www.omniweb.com/wordpress/?p=1285

1
24.02.2020, 08:09

Теги

Похожие вопросы