Linux: Como reinstalar todos os stdlib


0

Eu tentei instalar a última versão do Clang e LLVM (3.9) ( http://releases.llvm.org/download.html#3.9.1 ) porque a versão do LLVM no Debian com o apt-get é o 3.5 ...

Mas como noob, eu não sei como, eu quebrei /usr/include:

#include <iostream>

int main()
{
  std::cout << "Hello World!" << std::endl;
}

Eu tenho esse erro (versão do apt-get do clang, não o mais recente):

$ clang test.cpp
In file included from test.cpp:1:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/iostream:39:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/ostream:38:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/ios:38:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/iosfwd:40:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/postypes.h:40:
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/cwchar:44:10: fatal error: 'wchar.h' file not found
#include <wchar.h>
         ^
1 error generated.

wchar.h existe, mas está em uma subpasta de /usr/include:

$ find /usr/include -name 'wchar.h'
/usr/include/bsd/wchar.h
/usr/include/c++/4.9/tr1/wchar.h
/usr/include/x86_64-linux-gnu/bits/wchar.h

Como posso reinstalar e corrigir esses arquivos /usr/include?

Respostas:


0
dpkg -S `realpath /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/cwchar`

Em seguida, reinstale este pacote:

apt-get install --reinstall <package>

Não funciona: / Mesmo problema após a reinstalação
Ardakaniz

faça isso com todos os arquivos afetados.
Ipor Sircer

Desculpe, muitos amigos me recomendaram a instalar o Arch em vez do Debian por causa de seus pacotes antigos, então agora não tenho mais problemas :)
Ardakaniz
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.