Perguntas sobre 'compiling'

Questões relacionadas à compilação de software a partir de fontes, geralmente usando o comando "make".
1
resposta

GLIBCXX_3.4.21 não definido no arquivo libstdc ++. so.6 com referência de tempo de link

Ao tentar executar qualquer programa c ++, recebo este erro. A mensagem de erro completa é: ./main: relocation error: ./main: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev, version GLIBCXX_3.4.21 not defined in file libstdc...
20.04.2016 / 04:50
3
respostas

___ qstntxt ___

Estou interessado em compilar um novo kernel no Ubuntu 12.04 x86 de 64 bits.

Eu encontrei esta página wiki que é basicamente um espelho para este blog e há vários passos ( git , etc. ) que parecem inúteis para mim.

Com lançamentos / distribuições anteriores, eu costumava criar um arquivo %code% e modificar um %code% se eu precisasse, depois apenas executar %code% e pronto.

Existe uma maneira simples de fazer isso no Ubuntu?

    
___ answer163348 ___

1. Use %code% para baixar a versão do Ubuntu do kernel

%pre%

fornece uma pasta que contém, por exemplo:

%pre%

O diff em negrito inclui todas as personalizações do Ubuntu / Debian.

2. Para construir um kernel de ações com seu próprio %code% , use o Debian "old-fashioned" %code% method

Esta é a maneira antiquada e alternativa descrita no wiki:

%pre%

Se você estiver compilando um kernel pela primeira vez:

%pre%

Em seguida, %code% no diretório de origem (aqui, %code% ) e execute %code% para criar o arquivo %code% com a configuração do kernel em execução ou copie uma terceira parte %code% para esse diretório.

Dependendo se você deseja um texto ou uma configuração gráfica, instale:

(texto)

%pre%

(gráfico)

%pre%

E, em seguida, execute:

(texto)

%pre%

(gráfico)

%pre%

Quando terminar, basta executar:

%pre%

em que %code% é quantos trabalhos devem ser executados em paralelo (geralmente o número de CPUs que você tem) e %code% é uma string personalizada para identificar essa compilação.

Quando terminar, os arquivos de imagem e cabeçalho do kernel estarão prontos como debs no diretório pai; você pode instalá-los com %code% , que também irá adicionar entradas do GRUB, etc.

    
___ tag123compiling ___ Questões relacionadas à compilação de software a partir de fontes, geralmente usando o comando "make". ___ tag123kernel ___ Questões relacionadas ao kernel do Linux no Ubuntu. Os problemas podem incluir a atualização e instalação de kernels, compilação, patches e módulos do kernel. ___ answer513243 ___

Aqui estão os passos. Este procedimento é baseado no nixCraft 's Como: Compilar o kernel Linux 2.6 - mas modernizado consideravelmente.

Faça o download e extraia o código-fonte do kernel que você deseja construir.

Você pode obter código-fonte do kernel upstream em kernel.org . Versão 3.16.1 (o kernel estável mais recente no momento em que escrevo) será usado aqui. Então você pode precisar modificar esses comandos se estiver usando uma versão diferente.

O código-fonte do kernel é atualmente fornecido em tar . xz arquivos, então clique no link" tar.xz "pela versão que quiser:

Após %code% para o diretório onde você baixou o arquivo, você pode extraí-lo com < href="http://manpages.ubuntu.com/manpages/man1/tar.1.html"> %code% :

%pre%

Instale as ferramentas de criação necessárias e execute a configuração do kernel.

Para obter o toolchain do Ubuntu ( %code% , %code% e assim por diante) instale o build-essential meta-pacote:

%pre%

Duas maneiras razoavelmente fáceis de usar para configurar o que entra no seu kernel são fornecidas pelos %code% targets %code% e %code% .

%code% executa um utilitário de configuração gráfica, enquanto %code% é baseado em texto (ou seja, sua interface aparece totalmente no seu terminal). Cada um requer algum software adicional não fornecido por build-essential .

Para configurar graficamente, instale o libqt4-dev img src="https://hostmar.co/software-small"> e pkg-config < img src="https://hostmar.co/software-small"> e execute %code% :

%pre%

Para configurar no terminal , instale %code% (graças a Hannu para esta informação) e execute %code% :

%pre%

Construa o kernel configurado.

Primeiro, execute isso para compilar o kernel e criar %code% :

%pre%

%code% é "o kernel". Especificamente, é a imagem do kernel que será descompactada e carregada na memória por GRUB ou qualquer outro gerenciador de partida que você usa.

Em seguida, crie os módulos de kernel carregáveis :

%pre%

Instale seu kernel recém-construído.

Assumindo que os comandos %code% foram concluídos com sucesso, é hora de instalar o novo kernel. Primeiro instale os módulos:

%pre%

Em seguida, instale o kernel :

%pre%

Isso coloca %code% (uma cópia de %code% ), %code% (um arquivo de texto armazenando parâmetros de configuração do kernel) e %code% (o Tabela de pesquisa de símbolos do kernel ) em %code% . Para mais detalhes, veja este post comp.os.linux.misc por Hadron e %code% .

Configuração final, para que o kernel possa ser iniciado e inicializar o sistema:

Esta seção é parcialmente baseada em informações em Kernel / Compile .

Com o kernel agora onde ele precisa estar, é necessário:

Gere seu initramfs com %code% :

%pre%

Quando você atualiza a configuração do carregador de inicialização GRUB2 - que tem sido o padrão no Ubuntu desde 9.10-- deve detectar automaticamente o novo kernel e adicionar uma opção para inicializar a partir dele.

%pre%

Experimente o seu kernel.

Agora você pode reinicializar para testar seu novo kernel. Você pode precisar manter pressionado Shift durante a inicialização para ver o menu de inicialização do GRUB, onde você pode selecionar entre os diferentes kernels instalados.

Para tornar seu kernel (ou outro) o padrão, veja Como altero a ordem de inicialização do GRUB?

    
___ answer830723 ___

As instruções rápidas para criar um kernel Ubuntu (em oposição à baunilha) podem ser encontradas aqui: link .

Eu não vou copiar o wiki inteiro, mas vou listar os passos mínimos para compilar a versão do kernel do Ubuntu que você atualmente instalou. (Para obter a versão mais recente, copie o repositório git do kernel do próximo lançamento do Ubuntu.) Testado no Ubuntu 16.04.

%pre%     
___

Estou interessado em compilar um novo kernel no Ubuntu 12.04 x86 de 64 bits. Eu encontrei esta página wiki que é basicamente um espelho para este blog e há vários passos ( git , etc. ) que parecem inúteis para mim. Com lançamentos / di...
13.07.2012 / 23:40
1
resposta

Como posso atualizar o libavcodec para 57?

Estou tentando criar um player VLC no Ubuntu 14.04. Tem sido um caminho difícil, mas estou aprendendo ao longo do caminho. No entanto, estou realmente preso com essa lib libavcodec que é necessária, conforme solicitado por esta mensagem....
07.10.2016 / 18:54
0
respostas

Compilando muito devagar no Ubuntu 16.04

Eu tenho um servidor no qual eu compilo Android ROMs and Recoveries. Eu tinha o Ubuntu 14.04 antes. Compilar uma recuperação demorou 4 minutos. do zero. Mas agora, quando eu atualizei para o Ubuntu 16.04, enquanto digito mka recoveryimage -j...
17.06.2016 / 08:30
1
resposta

Compilando Cheese from source, falha ao compilar

Estou tentando instalar o queijo a partir do código-fonte, e não estou interessado em encontrar um pacote, porque tenho alterações no código-fonte que gostaria de aplicar, se conseguir compilar. Eu tenho automake libtool e autotools-dev instalad...
16.06.2016 / 02:05
1
resposta

O destino importado “Qt5 :: Gui” referencia o arquivo “/usr/lib/x86_64-linux-gnu/libEGL.so”, mas este arquivo não existe. [fechadas]

Então, 15,04 x64, acabou de instalar. Instalei o nvidia binário da maneira antiga (console, desligando o lightdm) porque recebi um erro sobre a autenticação DRI2. Então eu queria construir as amostras nv opengl e eles dizem que estes eram...
29.04.2015 / 22:39
1
resposta

Problema ao carregar o LaTeX KOMA-script e o fontspec após a instalação recente do texlive vanilla

Acabei de instalar o vanilla TeXlive de acordo com as instruções do TUG no meu Ubuntu 13.10. Um exemplo mínimo padrão compila corretamente a maneira como é suposto fazer: \documentclass[ngerman]{article} \usepackage{babel} \begin{docume...
01.04.2014 / 00:01
0
respostas

Referência indefinida para 'memcpy@GLIBC_2.14': Criando o Android SDK com suporte para SmartCard API:

Estou tentando criar um emulador Android com suporte a API do SmartCard. Eu estava seguindo este manual: um dois Todos os passos foram aprovados, mas quando eu corro: PCSC_INCPATH=<path_to_pcsc-lite_32bit>/src/PCSC/ PCSC32_LIBPAT...
11.11.2013 / 15:38
0
respostas

Criando o pacote lirc a partir da origem com correções

Gostaria de criar o pacote lirc mais recente para o 12.04 com dois patches de aqui para fazer o trabalho do USB Infrared toy v2: A execução de sudo apt-build source lirc me deu ➜ build ll total 960 drwxr-xr-x 10 root root 4096 Nov...
05.11.2013 / 16:36
0
respostas

Compilando RTL8192CU Driver para Edimax EW-7811UN para Ubuntu 13.04 (Raring Ringtail) [closed]

Ontem, atualizei para o Ubuntu Raring 13.04 e não consigo mais compilar o driver RTL8192CU mais recente do site da Realtek (3.4.4_4749-2012 / 11/12). Raring Ringtail é executado sob o kernel 3.8.0-1-generic, que não parece ser compatível com...
26.01.2013 / 16:34