Portál AbcLinuxu, 8. května 2025 00:07

Dotaz: SCSI target - kompilace modulu iscsi_trgt

30.3.2010 21:58 JirkaK | skóre: 15 | blog:
SCSI target - kompilace modulu iscsi_trgt
Přečteno: 473×
Odpovědět | Admin
Zdravím, pokouším se na Debianu 5.0.4 rozjet (mj.) pNFS s blokovým přístupem podle http://wiki.linux-nfs.org/wiki/index.php/PNFS_Block_Server_Setup_Instructions a k tomu jsou potřeba scsi-target-utils (na Debianu "tgt"). Nainstaloval jsem iscsitarget, instalace ale skončila varováním, že se nepodařilo spustit tgt démona. Zkusil jsem to ručně, ale zjistil jsem, že mi chybí modul iscsi_trgt. Nainstaloval jsem tedy i balíček iscsitarget-source a po nějakém tom googlování dospěl k postupu pro jeho kompilaci pomocí module-assistantu, tzn.

m-a a-i iscsitarget,

což ovšem skončilo chybovými hláškami:
dh_clean
/usr/bin/make -C /usr/src/linux-OLDVERSION.1269977161 SUBDIRS=/usr/src/modules/iscsitarget/kernel clean
make[1]: Entering directory `/usr/src/linux-OLDVERSION.1269976362'
  CLEAN   /usr/src/modules/iscsitarget/kernel/.tmp_versions
make[1]: Leaving directory `/usr/src/linux-OLDVERSION.1269976362'
hostname: Unknown host
/usr/bin/make  -f debian/rules kdist_clean kdist_config binary-modules
hostname: Unknown host
make[1]: Entering directory `/usr/src/modules/iscsitarget'
dh_clean
/usr/bin/make -C /usr/src/linux-OLDVERSION.1269977161 SUBDIRS=/usr/src/modules/iscsitarget/kernel clean
make[2]: Entering directory `/usr/src/linux-OLDVERSION.1269976362'
make[2]: Leaving directory `/usr/src/linux-OLDVERSION.1269976362'
for templ in /usr/src/modules/iscsitarget/debian/iscsitarget-module-_KVERS_.postinst; do \
    cp $templ `echo $templ | sed -e 's/_KVERS_/2.6.33-rc6-pnfs-dist/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.33-rc6-pnfs-dist/g ;s/#KVERS#/2.6.33-rc6-pnfs-dist/g ; s/_KVERS_/2.6.33-rc6-pnfs-dist/g ; s/##KDREV##//g ; s/#KDREV#//g ; s/_KDREV_//g  ' < $templ > ${templ%.modules.in}; \
  done
dh_testdir
dh_testroot
dh_clean -k
#/usr/bin/make -C /usr/src/linux-OLDVERSION.1269977161 KERNEL_SOURCES=/usr/src/linux-OLDVERSION.1269977161 MODVERSIONS=detect KERNEL=linux-2.6.33-rc6-pnfs-dist KDIR=/usr/src/linux-OLDVERSION.1269977161 SUBDIRS=/usr/src/modules/iscsitarget/kernel modules
/usr/bin/make -C /usr/src/linux-OLDVERSION.1269977161 SUBDIRS=/usr/src/modules/iscsitarget/kernel modules
make[2]: Entering directory `/usr/src/linux-OLDVERSION.1269976362'
  CC [M]  /usr/src/modules/iscsitarget/kernel/tio.o
  CC [M]  /usr/src/modules/iscsitarget/kernel/iscsi.o
  CC [M]  /usr/src/modules/iscsitarget/kernel/nthread.o
  CC [M]  /usr/src/modules/iscsitarget/kernel/wthread.o
  CC [M]  /usr/src/modules/iscsitarget/kernel/config.o
  CC [M]  /usr/src/modules/iscsitarget/kernel/digest.o
  CC [M]  /usr/src/modules/iscsitarget/kernel/conn.o
/usr/src/modules/iscsitarget/kernel/conn.c: In function ‘conn_info_show’:
/usr/src/modules/iscsitarget/kernel/conn.c:46: error: ‘struct inet_sock’ has no member named ‘daddr’
/usr/src/modules/iscsitarget/kernel/conn.c:46: error: ‘struct inet_sock’ has no member named ‘daddr’
/usr/src/modules/iscsitarget/kernel/conn.c:46: error: ‘struct inet_sock’ has no member named ‘daddr’
/usr/src/modules/iscsitarget/kernel/conn.c:46: error: ‘struct inet_sock’ has no member named ‘daddr’
make[3]: *** [/usr/src/modules/iscsitarget/kernel/conn.o] Error 1
make[2]: *** [_module_/usr/src/modules/iscsitarget/kernel] Error 2
make[2]: Leaving directory `/usr/src/linux-OLDVERSION.1269976362'
make[1]: *** [binary-modules] Error 2
make[1]: Leaving directory `/usr/src/modules/iscsitarget'
make: *** [kdist_build] Error 2
,

což jsem se pochopitelně pokoušel řešit dál googlováním, ale už jsem nepřišel na žádné použitelné řešení. Za normálních okolností bych to asi vyřešil instalací modulu z balíčku, ale vzhledem k tomu, že používám kernel 2.6.33-rc6 (kvůli tomu pNFS), musím ten balíček taky nějak zkompilovat. Ale tady už vůbec netuším, jak dál :( Budu vděčný za jakoukoliv dobrou radu :)
** Počítač bez window$, to je jako ryba bez bicyklu... ** echo 'Kdo neskáče, není Čech!'|sed s/Čech/cvičená\ opice/
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.3.2010 12:13 JirkaK | skóre: 15 | blog:
Rozbalit Rozbalit vše Re: SCSI target - kompilace modulu iscsi_trgt
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ještě jsem zkoušel zkompilovat iscsitarget + modul iscsi_trgt ze zdrojáků přímo od vývojářů z http://sourceforge.net/projects/iscsitarget/files/iscsitarget/1.4.19/iscsitarget-1.4.19.tar.gz/download, ale skončil jsem prakticky stejně :-(
ds:~/iscsitarget-1.4.19# make
/bin/sh: line 0: [: -le: unary operator expected
/bin/sh: line 0: [: -le: unary operator expected
/bin/sh: line 0: [: -le: unary operator expected
/bin/sh: line 0: [: -le: unary operator expected
/bin/sh: line 0: [: -le: unary operator expected
/bin/sh: line 0: [: -le: unary operator expected
/bin/sh: line 0: [: -le: unary operator expected
/bin/sh: line 0: [: -le: unary operator expected
/bin/sh: line 0: [: -lt: unary operator expected
make -C usr
make[1]: Entering directory `/root/iscsitarget-1.4.19/usr'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/iscsitarget-1.4.19/usr'
make -C /lib/modules/2.6.33-rc6-pnfs-dist/build SUBDIRS=/root/iscsitarget-1.4.19/kernel modules
make[1]: Entering directory `/usr/src/linux-2.6.33-rc6-pnfs-dist'
  CC [M]  /root/iscsitarget-1.4.19/kernel/tio.o
  CC [M]  /root/iscsitarget-1.4.19/kernel/iscsi.o
  CC [M]  /root/iscsitarget-1.4.19/kernel/nthread.o
  CC [M]  /root/iscsitarget-1.4.19/kernel/wthread.o
  CC [M]  /root/iscsitarget-1.4.19/kernel/config.o
  CC [M]  /root/iscsitarget-1.4.19/kernel/digest.o
  CC [M]  /root/iscsitarget-1.4.19/kernel/conn.o
/root/iscsitarget-1.4.19/kernel/conn.c: In function ‘conn_info_show’:
/root/iscsitarget-1.4.19/kernel/conn.c:46: error: ‘struct inet_sock’ has no member named ‘daddr’
/root/iscsitarget-1.4.19/kernel/conn.c:46: error: ‘struct inet_sock’ has no member named ‘daddr’
/root/iscsitarget-1.4.19/kernel/conn.c:46: error: ‘struct inet_sock’ has no member named ‘daddr’
/root/iscsitarget-1.4.19/kernel/conn.c:46: error: ‘struct inet_sock’ has no member named ‘daddr’
make[2]: *** [/root/iscsitarget-1.4.19/kernel/conn.o] Error 1
make[1]: *** [_module_/root/iscsitarget-1.4.19/kernel] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.33-rc6-pnfs-dist'
make: *** [kernel] Error 2
Buď to je nekompatibilitou zdrojáků kernelu a iscsitargetu nebo mi tam něco chybí (což by asi byla ta lepší možnost) - ale co? :-( Taky mě celkem zaráží ty hlášky od sh hned na začátku výpisu, kde to hlásí syntaktickou chybu v ifu (že je očekáván unární operátor) - ale tam fakt nevím, proč to hlásí, do Makefile jsem nikterak nezasahoval...
** Počítač bez window$, to je jako ryba bez bicyklu... ** echo 'Kdo neskáče, není Čech!'|sed s/Čech/cvičená\ opice/
31.3.2010 16:21 R
Rozbalit Rozbalit vše Re: SCSI target - kompilace modulu iscsi_trgt
Ano, ten iscsitarget zjavne potrebuje patch pre 2.6.33. Ma ho napriklad Gentoo.
2.4.2010 23:38 JirkaK | skóre: 15 | blog:
Rozbalit Rozbalit vše Re: SCSI target - kompilace modulu iscsi_trgt
Dík za odpověď, je to, jak říkáš. Přímo od vývojářů jsem dostal informaci, že by se to teď někdy mělo už objevit v nové verzi nebo se to dá stáhnout z svn (zatím jsem nezkoušel).
** Počítač bez window$, to je jako ryba bez bicyklu... ** echo 'Kdo neskáče, není Čech!'|sed s/Čech/cvičená\ opice/

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.