Eu sou um novo usuário do Freebsd. Enquanto tento instalar gnu m4-1.4.18
, recebo eval fail na seção de teste eval:
Checking ./189.eval
@ ../doc/m4.texi:6405: Origin of test
./189.eval: stdout mismatch
--- m4-tmp.2536/m4-xout 2017-12-18 22:11:42.931036000 +0000
+++ m4-tmp.2536/m4-out 2017-12-18 22:11:42.928582000 +0000
@@ -2,8 +2,8 @@
1
1
-overflow occurred
--2147483648
+
+2147483648
0
-2
-2
isto é o que dentro de 189.eval:
dnl @ ../doc/m4.texi:6405: Origin of test
dnl @ expected status: 0
dnl @ extra options:
dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software
dnl @ Foundation, Inc.
dnl @ This file is free software; the Free Software Foundation
dnl @ gives unlimited permission to copy and/or distribute it
dnl @ with or without modifications, as long as this notice
dnl @ is preserved.
define(`max_int', eval(`0x7fffffff'))
dnl @result{}
define(`min_int', incr(max_int))
dnl @result{}
eval(min_int` < 0')
dnl @result{}1
eval(max_int` > 0')
dnl @result{}1
ifelse(eval(min_int` / -1'), min_int, `overflow occurred')
dnl @result{}overflow occurred
min_int
dnl @result{}-2147483648
eval(`0x80000000 % -1')
dnl @result{}0
eval(`-4 >> 1')
dnl @result{}-2
eval(`-4 >> 33')
dnl @result{}-2
Só para informar seu novo sistema operacional (instalação) e um dos primeiros softwares que estou instalando.
Você está tendo problemas para instalar o software, mas não nos mostra o que está fazendo. Você está apenas mostrando a saída de algum comando e ficamos adivinhando.
Se você é novo no FreeBSD, mas já esteve acostumado a trabalhar em um sistema GNU (Linux), existem algumas diferenças sutis, mas importantes.
Um obstáculo típico ao compilar seus próprios programas é make. BSD tem um bom
make
, mas não é o mesmo que GNUmake
. Se você quiser usar o GNUmake
, você o instalará. Mas ao usá-lomake
ainda é BSD, mas agora vocêgmake
também tem. Isso pode ser confuso.É a mesma coisa
m4
que o FreeBSD tem no sistema básico.Mas escrever que você está instalando
gnu m4-1.4.18
não ajuda, pois muitas estradas levam a Roma. Você está instalando o pacote/port ou da fonte ?Pacote FreeBSD
A maneira mais simples de instalar software no FreeBSD é instalar o pacote. Os pacotes são distribuições binárias pré-compiladas das portas.
Você provavelmente não está fazendo isso. Mas este é o caminho mais fácil.
Porta FreeBSD
Um port do FreeBSD é uma coleção de patches e tudo mais necessário para que um aplicativo seja executado no FreeBSD. Se você tiver a árvore de ports instalada, você deve alterar o diretório
devel/m4
emake
(compilar) o aplicativo.A árvore de ports tem como alvo o BSD make. Portanto, é importante usar make BSD e não make GNU. A parte divertida é que
m4
depende deautoconf
qual, por sua vez, depende do GNUmake
.Mas, para o nosso propósito, usaremos o BSD make:
Uma vantagem de usar portas é que você pode alterar as configurações de tempo de compilação usando
make config
. Mas na maioria dos casos com autotools GNU e amigos, os padrões geralmente são suficientes e o pacote binário é tudo que você precisa.Instalação de origem
Meu palpite é que você está tentando instalar a partir da fonte. Nesse caso, é importante saber as diferenças entre as ferramentas GNU e BSD, que geralmente têm o mesmo nome. Mas as ferramentas GNU tendem a esperar que você use ferramentas GNU. E se você tiver uma instalação gratuita do FreeBSD, então você já tem
make
em4
mas as variantes do BSD.Portanto, quando as instruções do GNU dizem
make
que você deve certificar-se de ter o GNU make instalado e de digitargmake
na linha de comando.A menos que você queira aprender essas complexidades, recomendo que você se atenha aos pacotes. Se você quiser continuar por este caminho, você precisa ser mais detalhado em suas perguntas e nos mostrar o que está fazendo. Sem essa informação, ficamos na dúvida.
Atualizar
Ao ler os comentários, parece que a causa raiz está tentando instalar o Apache APR. Isso também está disponível nas portas do FreeBSD . No momento em que escrevo, a versão mais recente do APR é 1.6.3, que está em sincronia com o que o Apache pensa ser a versão estável mais recente.
Nos novos sistemas Vanilla FreeBSD, será tão simples quanto digitar:
Se os servidores de pacotes binários ainda não estiverem atualizados, você pode optar por construí-los você mesmo. Nesse caso, você também pode alterar os padrões. Você faz isso usando a árvore de ports . Use a
portsnap
ferramenta para garantir que a árvore esteja atualizada.Se você não tem árvore de portas, então:
Se você só precisa atualizar:
Então: