2015-08-10 10 views
7

Jestem nowy w Linuksie (nowy jak wczoraj to zainstalowałem), potrzebuję go do mojego kursu programowania na uniwersytecie i kazano mi instalować określone wersje konkretnych programów, ale chociaż Użyto apt-get install do ich zainstalowania (po uprzednim wykonaniu aktualizacji apt-get), które nie są w poprawnej wersji.jak zaktualizować 3.81 linux

Programy, których potrzebuję, to 4.0 i valgrind 3.10.1.

apt-get instaluje make 3.81 i valgrind 3.10.0.SVN.

Próbowałem pisać "apt-get install make4.0" i "apt-get install valgrind10.3.1" na próżno. Pobrałem je z Internetu i postępowałem zgodnie z instrukcjami, które mogłem zrozumieć, aby zainstalować nowsze wersje, ale wciąż powtarza się, że mam starsze wersje. (Nie jestem pewien, czy mogę opublikować bezpośrednie linki tutaj, jeśli mogę dać mi znać, a ja opublikuję, skąd je wziąłem).

Co robiłem źle? Jak mogę to naprawić?

Aktualnie pracuję pod Linux Mint.

Dziękujemy za odpowiedź z góry.

+1

Obecna wersja ['valgrind'] (http://www.valgrind.org/) to 3.10.1, a nie 10.3.1. Aktualna wersja GNU make to 4.1. Możesz uzyskać źródło, a następnie skompilować na swoim komputerze. Prawdopodobnie będzie to proste.Zastanów się dobrze, zanim zainstalujesz nowe wersje w istniejącym oprogramowaniu. Nie zrobiłbym tego; Stworzyłem nowy katalog, na przykład '/ usr/gnu' lub'/opt/software' i umieściłem tam nowe programy, i dodałem '/ usr/gnu/bin' lub'/opt/software/bin' przed standardowymi lokalizacjami w mojej zmiennej PATH. Lub możesz użyć '/ usr/local' lub dowolnych innych nazw, których pragniesz. –

+0

Przepraszamy! To była moja Dysleksja (lub coś podobnego), musiałem kilka razy przeczytać twój komentarz, zanim zdałem sobie sprawę, że istnieje różnica między kolejnością liczb, które napisałeś. Teraz poprawnie napisałem "sudo apt-get install valgrind 3.10.1", zrobiłem kilka rzeczy, których nie zrobiłem, zanim założę, że wprowadzałem różne liczby, ale kiedy napisałem "valgrind --version" nadal mówiło "valgrind-3.10.0.SVN": /. Ok, to jest mój pierwszy raz tutaj, nie widziałem, że twój komentarz był większy niż to, zamierzam go teraz przeczytać. – DJA

+0

Drętwienie numeru wersji może dotknąć każdego. Jeśli 'apt-get' nie dostanie nowych wersji, to nie są one jeszcze oficjalnie dostępne za pośrednictwem tego mechanizmu. Musisz zdecydować, czy nowsza wersja ma dla Ciebie kluczowe znaczenie. Jeśli nie, przejdź do tego, co jest dostępne - co już masz. Jest to zdecydowanie najprostsze. Jeśli uważasz, że nowa wersja jest krytyczna, musisz sam uzyskać kod i skompilować go samodzielnie. To nie jest trudne, ale jest trudniejsze niż instalowanie wstępnie zbudowanego oprogramowania. Mam wersję 3.11.0.SVN dla wersji, którą zbudowałem (jakiś czas temu) z klonu repozytorium SVN. –

Odpowiedz

15

Z powodu długotrwałego nierozwiązanego raportu o błędzie w Debianie, GNU Make pozostawał od bardzo dawna 3,81 w Debianie, aw konsekwencji w dystrybucjach opartych na Debianie, takich jak Ubuntu i Mint.

The latest Debian release, Jessie, has upgraded to 4.0, więc dystrybucje oparte na Debianie będą miały to uaktualnienie. Jednak it is better to use 4.1.

Zostało to omówione wiele razy na liście mailingowej GNU Make i elsewhere.

Aby uzyskać nowszą wersję, należy ją skompilować od podstaw. To proste:

  1. zainstalować wymagane pakiety (gcc, make i takie).
  2. Otwórz powłokę (jeśli używasz GUI, okno terminala).
  3. Wpisz następujące polecenia (lub coś równoważne, na przykład można użyć curl zamiast wget):

    cd /tmp 
    wget http://ftp.gnu.org/gnu/make/make-4.1.tar.gz 
    tar xvf make-4.1.tar.gz 
    cd make-4.1/ 
    ./configure 
    make 
    sudo make install 
    rm -rf make-4.1.tar.gz make-4.1 
    

Teraz make 4.1 jest w /usr/local/bin/make.

Możesz ustawić domyślny make, dodając prefiks /usr/local/bin do swojej zmiennej $PATH w pliku startowym powłoki; na przykład w .profile lub .bashrc, jeśli używasz powłoki bash.

Nie należy instalować samodzielnie skompilowanego make (ani niczego innego, co nie pochodzi z menedżera pakietów dystrybucyjnych) w postaci /bin lub /usr/bin; spowoduje to zamieszanie Twojego menedżera pakietów.

+0

Ściśnięcie Debiana i świszczący oddech są na 3,81, jesse/stretch na 4.0. To mniej więcej synchronizuje się z wydaniem GNU make 4.0 (który został wydany po wheezie i jesse). Byłbym zainteresowany, do którego błędu się odwołujesz. Jakieś linki? – DevSolar

+0

Wow! Dobre wieści. Poprawiłem moje sformułowanie i dodałem link do strony, która prowadzi do raportu o błędzie. – reinierpost

+0

Dzięki za informację, +1. – DevSolar