Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Błąd gmake podczas kompilacji source.


Rekomendowane odpowiedzi

Rekrut
Opublikowano

Witam.

 

Chciałbym skompilować game/db z plików source (Pliki pobrane od Paszka prosto spod jego poradnika https://www.youtube.com/watch?v=Xhf1jUWS1to ). Jednak jak to ja chciałbym wszystko mieć na własnej maszynie zrobionej od podstawy (tak aby później przerzucając na dedyka mieć już doświadczenie z konfiguracją itd. :D ). Zainstalować musiałem FreeBSD 10/11 ponieważ wersję FreeBSD 9 i inne już nie są wspierane i podczas instalacji programów po komendzie "portsnap fetch extract" wywala błędy związane z kompatybilnością.

Ale przechodząc do sedna...

Podczas kompilacji na FreeBSD 11.0 z pakietem gcc wyskakuję w logu taki błąd:

gmake: *** No rule to make target 'usr/include/c++/4.2/vector', needed by '.obj/Config.o'. Stop.

I ciągnie  się on w nieskończoność nawet jeżeli gram obecny plik do tego folderu ręcznie.

 

Czy jest opcja (jakaś w miarę prosta) aby zmodyfikować pliki w taki sposób aby kompilowany się za pomocą gcc49 czy może jednak jest przy tym za dużo roboty i łatwiej do tego jest użyć maszyny (np. od Terenzo) do samej kompilacji a serwer sam robić na czystej maszynce tylko z libkami i plikami serwerowymi + ew. mysql.

 

Pozdrawiam.

Opublikowano

Jak dla mnie to nie zainstalowałeś tego gcc poprawnie. U mnie jest zainstalowane gcc 4.8.5 i bez modyfikacji Makefile (148linia) się kompiluje.

 

Sprawdź ten film, może czegoś nie zainstalowałeś:

 


Rekrut
Opublikowano

Próbowałem wykonać tak jak na tym filmie jednak bez żadnych rezultatów dalej error logi pokazują:

Game:

gmake: *** No rule to make target '/usr/include/c++/4.2/bits/c++config.h', needed by 'OBJDIR/BattleArena.o'.  Stop.

DB:

gmake: *** No rule to make target '/usr/include/c++/4.2/bits/c++config.h', needed by '.obj/Config.o'.  Stop.

W folderach do jakich próbuje się dopchać - /usr/include/c++/4.2/ nie było wgl żadnego pliku. Próbowałem wgrać tam pliki z innej wersji kompilatora (najpierw z /usr/include/c++/v1/ potem pozostałe brakujące pliki znalazłem gdzieś w plikach innego kompilatora). Pozwoliło to ominąć co prawda kilka błędów jednak dalej wymaga konkretnych headerów :(

 

Działa Ci poprawnie ale zgaduje, że pewnie BSD 9.2 :>

Rekrut
Opublikowano

Przeniesienie katalogu z plików terenzo część błędów naprawiło i zaczęła się część kompilować jednak do ideału brakuje sporo.

 

Do kompilacji instalowałem wszystko według takiej kolejności:

cd /usr/ports/devel/gmake && make install clean
cd /usr/ports/devel/makedepend && make install clean
cd /usr/ports/devel/subversion && make install clean
cd /usr/ports/graphics/devil && make install clean
cd /usr/ports/graphics/boost-all && make install clean
cd /usr/ports/lang/gcc48 & make install clean

Błędy jakie teraz otrzymuję na głównej maszynie to dla game:

gmake: g++: Command not found
gmake: *** [Makefile:132: OBJDIR/FSM.o] Error 127
gmake: *** Waiting for unfinished jobs....
gmake: g++: Command not found
gmake: *** [Makefile:132: OBJDIR/BattleArena.o] Error 127

oraz dla db:

gmake: g++: Command not found
gmake: *** [Makefile:57: .obj/Config.o] Error 127

Podaję też od razu linki do kodu z makefile:

db: https://pastebin.com/6fqeHksf

game: https://pastebin.com/KrCmV3Yg

 

Żeby też nie było wątpliwości. Mogę normalnie kompilować te pliki na maszynie terenzo bez większych problemów otrzymuję obydwie binarki ale warto błędy powinno się rozwiązywać by coś się nauczyć :|

Opublikowano

Przeniesienie katalogu z plików terenzo część błędów naprawiło i zaczęła się część kompilować jednak do ideału brakuje sporo.

 

Do kompilacji instalowałem wszystko według takiej kolejności:

cd /usr/ports/devel/gmake && make install clean
cd /usr/ports/devel/makedepend && make install clean
cd /usr/ports/devel/subversion && make install clean
cd /usr/ports/graphics/devil && make install clean
cd /usr/ports/graphics/boost-all && make install clean
cd /usr/ports/lang/gcc48 & make install clean

Błędy jakie teraz otrzymuję na głównej maszynie to dla game:

gmake: g++: Command not found
gmake: *** [Makefile:132: OBJDIR/FSM.o] Error 127
gmake: *** Waiting for unfinished jobs....
gmake: g++: Command not found
gmake: *** [Makefile:132: OBJDIR/BattleArena.o] Error 127

oraz dla db:

gmake: g++: Command not found
gmake: *** [Makefile:57: .obj/Config.o] Error 127

Podaję też od razu linki do kodu z makefile:

db: https://pastebin.com/6fqeHksf

game: https://pastebin.com/KrCmV3Yg

 

Żeby też nie było wątpliwości. Mogę normalnie kompilować te pliki na maszynie terenzo bez większych problemów otrzymuję obydwie binarki ale warto błędy powinno się rozwiązywać by coś się nauczyć :|

Dam Ci lajka za to, że użyłeś komend, które każdemu polecam, ale dwóch komend nikomu nie podawałem.

 

Co do VPSa, odpuść sobie kompilacje kodu źródłowego na VPSie, poczekaj aż ja skonfiguruję na VPSie arubacloud i wtedy będziesz miał wszystko git.

To co Paszka podał i jak on konfiguruje, to po prostu amatorsko oraz oczywiście nie polecam bo nie miał całego kodu źródłowego tylko miał odchudzony kod źródłowy i strip którego nie polecam. Normalnie game waży około 45mb a u Paszki zapewne będzie z 20-30 max 40mb. 

 

Co do błędu to brak bibliotek g++

Musisz sobie je zainstalować a jak to niestety nie mogę podać Ci komend itd., ze względu na to, że poradnik dot. konfiguracji jak i kompilacji na VPSie zrobię ja i nie chcę by ktoś inny zrobił jakiś poradnik (nie mowa tu o Tobie tylko).

Pomogłem ? klik up to Like ;D ( Lubię to ! ) xD

300 postów-> 10.10.2013 godz. 9:00
400 postów-> 19.10.2013 godz. 9:00

 

Opublikowano

Dobra, to teraz takie pytanie, bo ja już głupi jestem, czy czasem bez przerabiania kodu nie da się kompilować na wersji powyżej 9.3?

 Isayia - Już wkrótce  :yay:B) 

Opublikowano

Dzięki za info :D W takim razie czekam na twój poradnik :)

Spx, polecam subskrybować mój kanał na youtube :P

 

Dobra, to teraz takie pytanie, bo ja już głupi jestem, czy czasem bez przerabiania kodu nie da się kompilować na wersji powyżej 9.3?

Da się, da się kompilować nawet na wersji 9.3, ale na VPSie z org. kodu mainline_released będzie ciężko, jeśli VPS będzie niestabilny i bez load balancerów to będzie wszystko lipnie szła kompilacja.

Ale żeby skompilować na VPSie, trzeba poświęcić z kilka dobrych godzin na zainstalowanie wszystkiego z portów, albo zainstalować wszystko z pkg ale również ściągnąć wszystkie biblioteki potrzebne do kompilatora.

Jednym słowem, ja tam zawsze polecam ściągnąć VirtualBoxa, maszynę od Terenzo i kompilowac na kompie bo szybciej.

 

Ja miałem zamiar zrobić już rok temu poradniki dot. kompilacji jak i poprawnego instalowania mysql, nadawania praw itd ale niezbyt miałem chęci a potem czasu. A teraz rozwinąłem się bardziej oraz mam więcej czasu to go nie zmarnuję i nagram wszystko ;)

Pomogłem ? klik up to Like ;D ( Lubię to ! ) xD

300 postów-> 10.10.2013 godz. 9:00
400 postów-> 19.10.2013 godz. 9:00

 

Rekrut
Opublikowano

No to tu mamy kolejny problem.

 

Skompilowałem source na maszynie Terenzo. Zmodernizowałem wszystko według poradnika do source aby usunąć timebombę i fix na DB. Kiedy odpalam serwer niby on startuje ale w pid nic nie ma a logi są puste. Pliki raczej na pewno się odpalają bo gdy brakowało bibliotek to wyskakiwało w logach dokładnie czego brakuje a teraz są całkowicie puste. Nawet nie wiem pod czym szukać jakiegoś fixa do tego :(

Co do logów z kompilacji to 0 błędów pliki normalnie się skompilowały z raczej normalnymi rozmiarami (game 62mb db 7 mb).

 

Tak przy okazji bazę danych da radę jakoś samemu skompilować, wygenerować w prosty sposób czy wziąć pierwszą lepszą (opisaną jako do source :D ) i będzie działała bez problemów ?

Opublikowano

No to tu mamy kolejny problem.

 

Skompilowałem source na maszynie Terenzo. Zmodernizowałem wszystko według poradnika do source aby usunąć timebombę i fix na DB. Kiedy odpalam serwer niby on startuje ale w pid nic nie ma a logi są puste. Pliki raczej na pewno się odpalają bo gdy brakowało bibliotek to wyskakiwało w logach dokładnie czego brakuje a teraz są całkowicie puste. Nawet nie wiem pod czym szukać jakiegoś fixa do tego :(

Co do logów z kompilacji to 0 błędów pliki normalnie się skompilowały z raczej normalnymi rozmiarami (game 62mb db 7 mb).

 

Tak przy okazji bazę danych da radę jakoś samemu skompilować, wygenerować w prosty sposób czy wziąć pierwszą lepszą (opisaną jako do source :D ) i będzie działała bez problemów ?

Tylko taki błąd.. ech to banalny błąd.

Twoje IP zaczyna się od 192.168 więc otwórz plik config.cpp, znajdź 192.168 i edytuj na np. 888.888 i serwer Ci się włączy.

DB Ci na pewno startuje ale nie startuje game, lecz pewnie tego nie zauważyłeś :P 

97% użytkowników, którym pomagam miało właśnie ten problem :D dlatego obstawiam że masz początek IP takie jakie napisałem i nie edytowałeś pliku config.cpp bo nigdzie nie ma napisane :P ale będzie o tym poradnik wkrótce.

Pomogłem ? klik up to Like ;D ( Lubię to ! ) xD

300 postów-> 10.10.2013 godz. 9:00
400 postów-> 19.10.2013 godz. 9:00

 

Rekrut
Opublikowano

No to albo robię wciąż coś źle albo należę do tych 3% użytkowników, którym to nie pomogło :D Zmieniłem w game/src/config.cpp 192.168 na 999.999 . Upewniłem się, że fix na DB jest wgrany, skompilowałem pliki i odpaliłem. Sprawdziłem jeszcze raz czy napewno nic nie startuje no i jest całkowita pustka :( 

RZ4J48S.png

 

W takim razie skoro zmiana w configu nic nie pomogła to coś jeszcze można z tym zrobić bo rozumiem, że ciągle czegoś nie ustawiłem (trudnego bądź banalnego) skoro jakiś losowy gotowiec działa.

Gość Lajk™
Opublikowano

Pokaż syserr / syslog a jak korzystasz z plików terenzo to i start.log

Rekrut
Opublikowano

Na maszynie terenzo działa jak należy. Kiedy skopiowałem sobie na drugą maszynę wszystkie foldery z usr/home i próbuję odpalić to 0 reakcji a logi są puste. Wszystkie symlinki pozmieniałem na odpowiednie. Obecnie wszystkie pliki mam w /xxx/Server/ skąd startują...

Opublikowano

No to nie masz libow wgranych na nowej maszynie a pewnie maszyna to vps....... Tak więc winne są liby. W start.log pisze Ci, polecam czytać wszystkie logi.

Jeśli dalej się upierać będziesz to zapraszam na gg, Teamviewer i udowodnię Ci błąd jaki robisz :p nic samo się nie dzieje a i logi nigdy nie są puste

Pomogłem ? klik up to Like ;D ( Lubię to ! ) xD

300 postów-> 10.10.2013 godz. 9:00
400 postów-> 19.10.2013 godz. 9:00

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...