Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-06-19 11:34:27

  life - Użytkownik

life
Użytkownik
Zarejestrowany: 2009-10-30

Problem przy kompilacji (chyba zmienne środowiskowe).

Mam problem przy kompilacji, dokładnie OpenWrt (muszę skompilować własne jądro), przy wydaniu stabilnym nie ma problemu ale przy trunku (taki ich testing) wywala się i tak np.

Wywołanie upgrade:

Kod:

misiek@celeron:/media/green/OpenWrt/trunk$ ./scripts/feeds update
-bash: ./scripts/feeds: Brak dostępu
misiek@celeron:/media/green/OpenWrt/trunk$ perl ./scripts/feeds update
Updating feed 'packages' from 'svn://svn.openwrt.org/openwrt/packages' ...

Czyli wywołanie przez perla jest ok ale przy kompilacji skrypty same z siebie uruchamiane automatycznie nie odpalają się.

Kolejny problem:

Kod:

misiek@celeron:/media/green/OpenWrt/trunk$ make menuconfig
make: execvp: /media/green/OpenWrt/trunk/scripts/getver.sh: Brak dostępu
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'getopt'... ok.
Checking 'fileutils'... ok.
Checking 'working-gcc'... ok.
Checking 'working-g++'... failed.
Checking 'ncurses'... ok.
Checking 'zlib'... ok.
Checking 'gawk'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'patch'... ok.
Checking 'perl'... ok.
Checking 'python'... ok.
Checking 'wget'... ok.
Checking 'git'... ok.
Checking 'gnutar'... ok.
Checking 'svn'... ok.
Checking 'gnu-find'... ok.
Checking 'getopt-extended'... ok.
Checking 'non-root'... ok.

Build dependency: Please install the GNU C++ Compiler (g++).

Prerequisite check failed. Use FORCE=1 to override.
make: *** [tmp/.prereq-build] Błąd 1

Oczywiście kompilatory są zainstalowane (jak wspomniałem wersję stabilną kompiluje bez problemu).

Może ktoś wie gdzie co poprawić?? Samodzielnie rzadko kompiluję i brak mi doświadczenia ;)

PS. z komunikatem "Brak dostępu" wynika pewnie to z tego że bash nie chce przetworzyć skryptów perl, bo uprawnienia są dobrze ustawione.

Kod:

misiek@celeron:/media/green/OpenWrt/trunk$ /media/green/OpenWrt/trunk/scripts/getver.sh
-bash: /media/green/OpenWrt/trunk/scripts/getver.sh: Brak dostępu
misiek@celeron:/media/green/OpenWrt/trunk$ perl /media/green/OpenWrt/trunk/scripts/getver.sh
r32423

Co by nie być gołosłownym:

Kod:

# dpkg -l | grep g++
ii  g++                                                    4:4.4.5-1                    The GNU C++ compiler
ii  g++-4.3                                                4.3.5-4                      The GNU C++ compiler
ii  g++-4.4                                                4.4.5-8                      The GNU C++ compiler

# dpkg -l | grep cpp
ii  cpp                                                    4:4.4.5-1                    The GNU C preprocessor (cpp)
ii  cpp-4.3                                                4.3.5-4                      The GNU C preprocessor
ii  cpp-4.4                                                4.4.5-8                      The GNU C preprocessor

Ostatnio edytowany przez life (2012-06-19 11:36:05)

Offline

 

#2  2012-06-19 23:08:31

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: Problem przy kompilacji (chyba zmienne środowiskowe).

Żeby nie być gołosłownym byś pokazał te prawa dostępu do problematycznych plików.

Offline

 

#3  2012-06-26 08:56:19

  life - Użytkownik

life
Użytkownik
Zarejestrowany: 2009-10-30

Re: Problem przy kompilacji (chyba zmienne środowiskowe).

Teraz zauważyłem że na koncie zwykłego usera nie mogę uruchomić żadnego skryptu (czyli tak jakby powłoka "nie wiedziała" jak/czym skrypty interpretować). Nie ważne czy to skrypty bash, python czy perl.

Na koncie roota wszystko jest OK.

--- EDIT ---

Zauważyłem dziwną rzecz.
W zmiennej PATH nie było wpisów bo /sbin i /usr/sbin. Choć to raczej nie przyczyna bo bash jest w /bin

Ale zauważyłem że z katalogu domowego usera mogę bez problemu wykonywać skrypty, natomiast z innego dysku (inny punkt montowania) już nie. Owe źródła przeniosłem na inny dysk ze względu na barak miejsca w /home.

Sprawdziłem fstab bo przyszło mi do głowy że mogłem nałożyć ograniczenia na wykonywanie dla tej partycji ale niestety nic takiego niem:

Kod:

UUID=02ce8fa5-9ca9-43f2-8932-0086ac96d632       /media/green    ext4    rw,user,auto,noatime  0       2

Teoretycznie powinienem móc wykonywać.

Jako root, też nie mogę uruchamiać skryptów z tego dysku/partycji.

No i tu pojawia się tajemnicza sprawa.

Kod:

cat /proc/mounts
rootfs / rootfs rw 0 0
.....
/dev/sdb5 /media/green ext4 rw,nosuid,nodev,noexec,noatime,user_xattr,acl,barrier=1,data=ordered 0 0

Skąd tam się wzięło noexec skoro w fstab go nie ma??


Może to jakaś nowa domyślna polityka bezpieczeństwa, dodanie exec w fstab i ponowne zamontowanie rozwiązało problem.
Tylko pytanie czemu tak się stało, wcześniej miałem skrypty na tej partycji i normalnie działały, a teraz przestały. Chyba, że z jakąś aktualizacją coś się zmieniło.


PS. Kompilacja, czyli problem z pierwszego postu też ruszyła bez problemu. Nie wiem czemu tak się stało, może ktoś będzie miał podobny problem to pomoże mu mój przypadek ;)

Ostatnio edytowany przez life (2012-06-26 09:27:26)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)