Niedawno zaktualizowałem Kubuntu 12.04 do 13.04, kompletna ponowna instalacja.
Korzystanie z gcc 4.7.3. Skompilowałem kilka programów, aby odkryć, że nie ma /usr/include/sys
katalogu. Oznacza to, że types.h
, stat.h
itd, są nieobecne. Istnieją w include/linux
katalogu, ale nie include/sys
.
Co się dzieje?
Odpowiedzi:
Jeśli używasz Ubuntu w wersji 64-bitowej (nie mogę teraz pisać dokładnie w systemie 32-bitowym), katalog z pytaniem to:
Teraz, mając te informacje, możesz utworzyć dowiązania symboliczne do tych plików, jeśli naprawdę potrzebujesz ich w tej lokalizacji (
/usr/include/sys
), używając tego na terminalu:źródło
zainstaluj libc6-dev-amd64, jeśli pracujesz na 64-bitowym systemie Linux. Wpisz następujące polecenie w terminalu ubuntu:
źródło
katalog sys to katalog nagłówkowy systemu unix / linux z wieloma poleceniami systemowymi. Różne marki / wersje Linux mogą umieścić go w różnych miejscach. Następujące polecenie może ci pomóc:
Pierwszy z nich zawiera nagłówki systemu unix BSD.
Drugi to katalog zawierający 64-bitowe głowice systemu Linux.
Mam problemy z tym, że cmake nie może znaleźć pliku sys / stat.h. Moim tymczasowym rozwiązaniem jest utworzenie dowiązania symbolicznego
Nie chcę zanieczyszczać katalogu / usr / include i tworzę tylko łącze do jednego konkretnego pliku nagłówka, a nie do całego katalogu sys. Myślę, że jest to wada cmake, więc ma minimalny wpływ, tworząc tylko jeden link. Mam nadzieję, że może to pomóc tym, którzy cierpią z powodu tego samego problemu.
źródło
Sprawdźmy, jaka jest domyślna ścieżka wyszukiwania gcc. Z tej odpowiedzi otrzymujemy następujące polecenie:
Na końcu danych wyjściowych widzę to na moim komputerze:
Zwróć uwagę na ostatnią linię. Oznacza to, że kiedy skompilujesz plik C
#include <sys/stat.h>
, gcc będzie szukał/usr/include/x86_64-linux-gnu/sys/stat.h
przed próbą/usr/include/sys/stat.h
, bez konieczności niczego dowiązania symbolicznego.źródło
Ponieważ moja architektura to amd64, nie ma
libc6-dev-amd64
. Pakiet do zainstalowania tolibc6-dev-i386
.To naprawiło zależność dla pakietu CPAN.
źródło