Kompilacja ISCSI Target

Tematy związane z oprogramowaniem, instalacją, konfiguracją
marek22
Posty: 21
Rejestracja: 09 sierpnia 2008, 16:45

Kompilacja ISCSI Target

Post autor: marek22 »

Witam,

W poprzednim temacie pytałem o możliwość utworzenia RAID-u, ale doszedłem do wniosku że ze względu na brak identycznych dysków dam sobie tymczasowo odpust (do czasu zakupu).

Potrzebuję niestety "na gwałt" udostępnić te 250 GB na inny komputer.

Pomyślałem że ISCSI Target umożliwia udostępnienie całego dysku /dev/hdb

No to jest to dokładnie o co mi chodzi...

Nie czekając długo pobrałem najnowszy build ze strony www producenta.

Wskazałem kompilatorowi ścieżkę do plików nagłówkowych mojego jądra Linuksa...
I niestety pojawia mi się niezrozumiały błąd.

Czy ktoś doświadczony mógł by zerknąć okiem na ten "output" z konsoli i powiedzieć gdzie może leżeć przyczyna.

Pozdrawiam

Kod: Zaznacz cały

serwercentralny:~/Desktop/iscsitarget-0.4.16# ls
ChangeLog  COPYING  doc  etc  include  kernel  Makefile  patches  README  README.vmware  usr
serwercentralny:~/Desktop/iscsitarget-0.4.16# export KERNELSRC=/usr/src/kernels/linux-headers-2.6.18-6-486
serwercentralny:~/Desktop/iscsitarget-0.4.16# make && make install
make -C usr
make[1]: Wejście do katalogu `/root/Desktop/iscsitarget-0.4.16/usr'
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o chap.o chap.c
chap.c:20:25: error: openssl/sha.h: Nie ma takiego pliku ani katalogu
chap.c:21:25: error: openssl/md5.h: Nie ma takiego pliku ani katalogu
chap.c: In function ‘chap_calc_digest_md5’:
chap.c:303: error: ‘MD5_CTX’ undeclared (first use in this function)
chap.c:303: error: (Each undeclared identifier is reported only once
chap.c:303: error: for each function it appears in.)
chap.c:303: error: expected ‘;’ before ‘ctx’
chap.c:305: warning: implicit declaration of function ‘MD5_Init’
chap.c:305: error: ‘ctx’ undeclared (first use in this function)
chap.c:306: warning: implicit declaration of function ‘MD5_Update’
chap.c:309: warning: implicit declaration of function ‘MD5_Final’
chap.c: In function ‘chap_calc_digest_sha1’:
chap.c:314: error: ‘SHA_CTX’ undeclared (first use in this function)
chap.c:314: error: expected ‘;’ before ‘ctx’
chap.c:316: warning: implicit declaration of function ‘SHA1_Init’
chap.c:316: error: ‘ctx’ undeclared (first use in this function)
chap.c:317: warning: implicit declaration of function ‘SHA1_Update’
chap.c:320: warning: implicit declaration of function ‘SHA1_Final’
make[1]: *** [chap.o] Błąd 1
make[1]: Opuszczenie katalogu `/root/Desktop/iscsitarget-0.4.16/usr'
make: *** [usr] Błąd 2
serwercentralny:~/Desktop/iscsitarget-0.4.16#
tomii
Junior Member
Posty: 687
Rejestracja: 21 października 2007, 13:27

Post autor: tomii »

Chyba pomoże:

Kod: Zaznacz cały

 apt-get install openssl
marek22
Posty: 21
Rejestracja: 09 sierpnia 2008, 16:45

Post autor: marek22 »

Wgrałem kolego już wcześniej ;)

Niestety to nie tu problem.
salmon
Beginner
Posty: 296
Rejestracja: 12 października 2007, 23:28
Lokalizacja: Gliwice/Bielsko-Biała

Post autor: salmon »

A nie możesz zainstalować tego z repozytorium?
Logansan
Posty: 98
Rejestracja: 25 października 2006, 11:09

Post autor: Logansan »

Po co wyważać otwarte drzwi?

Kod: Zaznacz cały

$ apt-cache search open-iscsi
open-iscsi - High performance, transport independent iSCSI implementation
$ apt-cache search iscsitarget
iscsitarget - iSCSI Enterprise Target userland tools
iscsitarget-source - iSCSI Enterprise Target kernel module source
Pozdrawiam!

PS iscsitarget jest w backportach.
marek22
Posty: 21
Rejestracja: 09 sierpnia 2008, 16:45

Post autor: marek22 »

Witam,

Racja, jest przecież takie coś jak Repozytorium.

No więc dodałem repo.

Zainstalowałem:

Kod: Zaznacz cały

scsitarget-source 
iscsitarget package

Potem

Kod: Zaznacz cały

apt-get install module-assistant debhelper

Następnie dodałem moduły do jądra

Kod: Zaznacz cały

m-a a-i iscsitarget

No i oczywiście FAILED...

Kod: Zaznacz cały

───────────────┤ module-assistant, log file viewer ├────────────────────┐
 │                                                                            │
 │ dh_clean                                                                   ↑
 │ /usr/bin/make -C /lib/modules/2.6.18-6-486/build                           ▮
 │ SUBDIRS=/usr/src/modules/iscsitarget/kernel clean                          ▒
 │ make[1]: Wejście do katalogu `/usr/src/linux-headers-2.6.18-6-486'         ▒
 │ make[1]: Opuszczenie katalogu `/usr/src/linux-headers-2.6.18-6-486'        ▒
 │ /usr/bin/make  -f debian/rules kdist_clean kdist_config binary-modules     ▒
 │ make[1]: Wejście do katalogu `/usr/src/modules/iscsitarget'                ▒
 │ dh_clean                                                                   ▒
 │ /usr/bin/make -C /lib/modules/2.6.18-6-486/build                           ▒
 │ SUBDIRS=/usr/src/modules/iscsitarget/kernel clean                          ▒
 │ make[2]: Wejście do katalogu `/usr/src/linux-headers-2.6.18-6-486'         ▒
 │ make[2]: Opuszczenie katalogu `/usr/src/linux-headers-2.6.18-6-486'        ▒
 │ for templ in                                                               ▒
 │ /usr/src/modules/iscsitarget/debian/iscsitarget-module-_KVERS_.postinst;   ▒
 │ do \           
  cp $templ `echo $templ | sed -e 's/_KVERS_/2.6.18-6-486/g'` ; \        ▒
 │   done                                                                     ▒
 │ for templ in `ls debian/*.modules.in` ; do \                               ▒
 │     test -e ${templ%.modules.in}.backup || cp ${templ%.modules.in}         ▮
 │ ${templ%.modules.in}.backup 2>/dev/null || true; \                         ▒
 │     sed -e 's/##KVERS##/2.6.18-6-486/g ;s/#KVERS#/2.6.18-6-486/g ;         ▒
 │ s/_KVERS_/2.6.18-6-486/g ; s/##KDREV##/2.6.18.dfsg.1-22/g ;                ▒
 │ s/#KDREV#/2.6.18.dfsg.1-22/g ; s/_KDREV_/2.6.18.dfsg.1-22/g  ' < $templ    ▒
 │ > ${templ%.modules.in}; \                                                  ▒
 │   done                                                                     ▒
 │ dh_testdir                                                                 ▒
 │ dh_testroot                                                                ▒
 │ dh_clean -k                                                                ▒
 │ #/usr/bin/make -C /lib/modules/2.6.18-6-486/build                          ↓
 │
 KERNEL_SOURCES=/lib/modules/2.6.18-6-486/build MODVERSIONS=detect            ▒
 │ KERNEL=linux-2.6.18-6-486 KDIR=/lib/modules/2.6.18-6-486/build             ▒
 │ SUBDIRS=/usr/src/modules/iscsitarget/kernel modules                        ▒
 │ /usr/bin/make -C /lib/modules/2.6.18-6-486/build                           ▒
 │ SUBDIRS=/usr/src/modules/iscsitarget/kernel modules                        ▒
 │ make[2]: Wejście do katalogu `/usr/src/linux-headers-2.6.18-6-486'         ▒
 │   CC [M]  /usr/src/modules/iscsitarget/kernel/tio.o                        ▒
 │ In file included from /usr/src/modules/iscsitarget/kernel/tio.c:7:         ▮
 │ /usr/src/modules/iscsitarget/kernel/iscsi.h:236: error: field ‘rx_hash’    ▒
 │ has incomplete type                                                        ▒
 │ /usr/src/modules/iscsitarget/kernel/iscsi.h:237: error: field ‘tx_hash’    ▒
 │ has incomplete type                                                        ▒
 │ /usr/src/modules/iscsitarget/kernel/tio.c: In function ‘tio_init’:         ▒
 │ /usr/src/modules/iscsitarget/kernel/tio.c:113: warning: implicit           ↓
 │
  declaration of function ‘KMEM_CACHE’                                       ▒
 │ /usr/src/modules/iscsitarget/kernel/tio.c:113: error: ‘tio’ undeclared     ▒
 │ (first use in this function)                                               ▒
 │ /usr/src/modules/iscsitarget/kernel/tio.c:113: error: (Each undeclared     ▒
 │ identifier is reported only once                                           ▒
 │ /usr/src/modules/iscsitarget/kernel/tio.c:113: error: for each function    ▒
 │ it appears in.)                                                            ▒
 │ /usr/src/modules/iscsitarget/kernel/tio.c:113: warning: assignment makes   ▒
 │ pointer from integer without a cast                                        ▒
 │ make[3]: *** [/usr/src/modules/iscsitarget/kernel/tio.o] Błąd 1            ▒
 │ make[2]: *** [_module_/usr/src/modules/iscsitarget/kernel] Błąd 2          ▒
 │ make[2]: Opuszczenie katalogu `/usr/src/linux-headers-2.6.18-6-486'        ▮
 │ make[1]: *** [binary-modules] Błąd 2                                       ▒
 │ make[1]: Opuszczenie katalogu `/usr/src/modules/iscsitarget'  
 make: *** [kdist_build] Błąd 2                                             ▮
  1       
No to pomyślałem że skasuje ten pakiet bo mi się nie przyda...


- Oczywiście failed ;)

Kod: Zaznacz cały

serwercentralny:~# apt-get remove iscsitarget
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
Następujące pakiety zostaną USUNIÊTE:
  iscsitarget
0 aktualizowanych, 0 nowo instalowanych, 1 usuwanych i 0 nieaktualizowanych.
Konieczne pobranie 0B archiwów.
Po rozpakowaniu zostanie zwolnione 209kB miejsca na dysku.
Czy chcesz kontynuować [T/n]? T
(Odczytywanie bazy danych ... 89562 plików i katalogów obecnie zainstalowanych.)
Usuwanie iscsitarget ...
Removing iSCSI enterprise target devices: failed with reason :Connection refused.
invoke-rc.d: initscript iscsitarget, action "stop" failed.
dpkg: błąd przetwarzania iscsitarget (--remove):
 podproces pre-removal script zwrócił kod błędu 1
Starting iSCSI enterprise target service: FATAL: Module iscsi_trgt not found.
netlink fd: Connection refused
failed.
Wystąpiły błędy podczas przetwarzania:
 iscsitarget
E: Sub-process /usr/bin/dpkg returned an error code (1)
serwercentralny:~#

Ani używać, ani skasować :)
Logansan
Posty: 98
Rejestracja: 25 października 2006, 11:09

Post autor: Logansan »

m-a a-i iscsitarget
A m-a prepare dałeś?

Nie może odinstalować pakietu bo nie ma pliku z modułem. Jak skompilujesz moduł to będzie można usunąć zablokowany pakiet (tylko po co wtedy?)
Działamy dalej...

Powodzenia!
marek22
Posty: 21
Rejestracja: 09 sierpnia 2008, 16:45

Post autor: marek22 »

m-a prepare
Wykonało się, w zasadzie nic nie zrobiło.

Kod: Zaznacz cały

serwercentralny:~# m-a prepare
Getting source for kernel version: 2.6.18-6-486
Kernel headers available in /lib/modules/2.6.18-6-486/build
apt-get install build-essential
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
build-essential jest już w najnowszej wersji.
0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 0 nieaktualizowanych.

Done!
Po tym, dalej niestety nie działa, próbowałem ponownie uruchomić komendę

Kod: Zaznacz cały

serwercentralny:~# m-a a-i iscsitarget
Ale komunikat jak post powyżej :/
Logansan
Posty: 98
Rejestracja: 25 października 2006, 11:09

Post autor: Logansan »

Hmmm... U mnie też się nie koplikuje... Ehh... moim zdaniem to jeden z przejawów złego wpływu Ubuntu i całej bandy pochodnych...

Znalazłem co prawda patch'a tutaj ale na szybko nie zadziałał. Spróbuje ponownie po pracy. Tymczasem...

[ Dodano: 2008-08-16, 12:28 ]
Mały update gdyby jeszcze było potrzebne. Nie udało mi się skomplikować iscsitarget-0.4.15, ale najnowesze 0.4.16 jak najbardziej tak...

Pozdrawiam!

PS nie używałem jeszcze sterownika... sprawdziłem tylko czy sie skompiluje.
ODPOWIEDZ