AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 411652
Accepted
B. Belete
B. Belete
Asked: 2017-12-19 11:45:20 +0800 CST2017-12-19 11:45:20 +0800 CST 2017-12-19 11:45:20 +0800 CST

Problemas do Freebsd 11.1 com falha no teste de avaliação do gnu m4

  • 772

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.

shell freebsd
  • 1 1 respostas
  • 242 Views

1 respostas

  • Voted
  1. Best Answer
    Claus Andersen
    2017-12-21T06:50:22+08:002017-12-21T06:50:22+08:00

    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 GNU make. Se você quiser usar o GNU make, você o instalará. Mas ao usá-lo makeainda é BSD, mas agora você gmaketambém tem. Isso pode ser confuso.

    É a mesma coisa m4que o FreeBSD tem no sistema básico.

    $ which m4
    /usr/bin/m4
    

    Mas escrever que você está instalando gnu m4-1.4.18nã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.

    pkg install m4
    

    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/m4e make(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 m4depende de autoconfqual, por sua vez, depende do GNU make.

    Mas, para o nosso propósito, usaremos o BSD make:

    $ make
    $ sudo make install
    

    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 makee m4mas as variantes do BSD.

    Portanto, quando as instruções do GNU dizem makeque você deve certificar-se de ter o GNU make instalado e de digitar gmakena 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:

    pkg install apr1
    

    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 portsnapferramenta para garantir que a árvore esteja atualizada.

    Se você não tem árvore de portas, então:

    # portsnap fetch
    # portsnap extract
    

    Se você só precisa atualizar:

    # portsnap fetch update
    

    Então:

    # cd /usr/ports/devel/apr1
    # make config
    # make
    # make install
    
    • 1

relate perguntas

  • FreeBSD's sh: funções de lista

  • Existe uma maneira de fazer ls mostrar arquivos ocultos apenas para determinados diretórios?

  • o que grep -v grep faz

  • Como salvar um caminho com ~ em uma variável?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Matriz JSON para bash variáveis ​​usando jq

    • 4 respostas
  • Marko Smith

    A data pode formatar a hora atual para o fuso horário GMT? [duplicado]

    • 2 respostas
  • Marko Smith

    bash + lê variáveis ​​e valores do arquivo pelo script bash

    • 4 respostas
  • Marko Smith

    Como posso copiar um diretório e renomeá-lo no mesmo comando?

    • 4 respostas
  • Marko Smith

    conexão ssh. Conexão X11 rejeitada devido a autenticação incorreta

    • 3 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Marko Smith

    comando systemctl não funciona no RHEL 6

    • 3 respostas
  • Marko Smith

    rsync porta 22 e 873 uso

    • 2 respostas
  • Marko Smith

    snap /dev/loop em 100% de utilização -- sem espaço livre

    • 1 respostas
  • Marko Smith

    chave de impressão jq e valor para todos no subobjeto

    • 2 respostas
  • Martin Hope
    EHerman Matriz JSON para bash variáveis ​​usando jq 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux A data pode formatar a hora atual para o fuso horário GMT? [duplicado] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC Como posso copiar um diretório e renomeá-lo no mesmo comando? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve Como as permissões de arquivo funcionam para o usuário "root"? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe Altere o editor padrão para vim para _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey Como baixar o pacote não instalá-lo com o comando apt-get? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao Por que os diretórios /home, /usr, /var, etc. têm o mesmo número de inode (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg — o comando list-keys gera uid [ desconhecido ] depois de importar a chave privada para uma instalação limpa 2017-11-26 18:26:02 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve