Hello,<br><br>Following the document below, I am trying to install lustre (as oss) on Nexenta which has opensolaris kernel<br><br><a href="http://wiki.lustre.org/index.php/Lustre_OSS/MDS_with_ZFS_DMU">http://wiki.lustre.org/index.php/Lustre_OSS/MDS_with_ZFS_DMU</a><br>
<br>According to the doc, &quot;The uOSS-DMU can run on Solaris or Linux. MDS/MGS/clients run only on Linux.&quot;<br><br>So, I followed the steps. For &#39;sh autogen.sh&#39;, &#39;./configure&#39; etc. there were no problem.<br>
But, when I tried &#39;make&#39; step there were some errors:<br><br>----------<br>gcc -o lib/zpool/vdev_cache.os -c -pipe -Wall -Werror -std=c99 -Wno-switch -Wno-unused -Wno-missing-braces -Wno-parentheses -Wno-uninitialized -fno-strict-aliasing -DZFS_NO_KERNEL -D_GNU_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D__EXTENSIONS__ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -DTEXT_DOMAIN=\&quot;lustre\&quot; -ggdb -O2 -fPIC -I. -Ilib/zfscommon/include -Ilib/avl/include -Ilib/nvpair/include -Ilib/port/include lib/zpool/vdev_cache.c<br>
cc1: warnings being treated as errors<br>lib/zpool/vdev_cache.c: In function &#39;vdev_cache_read&#39;:<br>lib/zpool/vdev_cache.c:278: warning: implicit declaration of function &#39;P2CROSS&#39;<br>scons: *** [lib/zpool/vdev_cache.os] Error 1<br>
scons: building terminated because of errors.<br>make[3]: *** [all] Error 2<br>make[3]: Leaving directory `/export/home/portakal/lustre/lustre/zfs-lustre&#39;<br>make[2]: *** [all-recursive] Error 1<br>make[2]: Leaving directory `/export/home/portakal/lustre/lustre&#39;<br>
make[1]: *** [all-recursive] Error 1<br>make[1]: Leaving directory `/export/home/portakal/lustre&#39;<br>make: *** [all] Error 2<br>----------<br><br>It says &quot;implicit declaration of function &#39;P2CROSS&#39;&quot;. So, I opened vdev_cache.c and added a prototype for P2CROSS like &quot;#define P2CROSS(x, y, align) (((x) ^ (y)) &gt; (align) - 1)&quot; (btw, was this a bug ?)<br>
<br>After that, I tried &#39;make&#39; step again<br><br>But now, it gives another error:<br><br>----------<br>gcc -g -Wall -fPIC -D_GNU_SOURCE -g -O2 -L../../lnet/utils -o lustre_uoss lustre_uoss-lustre_uoss.o ../../lustre/ost/libost.a ../../lustre/ofd/libofd.a ../../lustre/mgc/libmgc.a ../../lustre/obdclass/libobdclass.a ../../lustre/ptlrpc/libptlrpc.a ../../lustre/dmu-osd/libdmuosd.a ../../lustre/lvfs/liblvfs_dmu.a -L /export/home/portakal/lustre/lustre/zfs-lustre/src/lib/udmu -lldmu-udmu -L /export/home/portakal/lustre/lustre/zfs-lustre/src/lib/ctl -lldmu-ctl-server -L /export/home/portakal/lustre/lustre/zfs-lustre/src/lib/zpool -lldmu-zpool -L /export/home/portakal/lustre/lustre/zfs-lustre/src/lib/zfscommon -lldmu-zfscommon -L /export/home/portakal/lustre/lustre/zfs-lustre/src/lib/nvpair -lldmu-nvpair -L /export/home/portakal/lustre/lustre/zfs-lustre/src/lib/avl -lldmu-avl -L /export/home/portakal/lustre/lustre/zfs-lustre/src/lib/umem -lumem -L /export/home/portakal/lustre/lustre/zfs-lustre/src/lib/port -lldmu-port -lpthread -lz ../../lnet/lnet/liblnet.a ../../lnet/ulnds/socklnd/libsocklnd.a ../../lnet/libcfs/libcfs.a -lnsl -lsocket -lrt -lm<br>
../../lnet/libcfs/libcfs.a(libcfs_a-posix-lock.o): In function `sema_init&#39;:<br>/export/home/portakal/lustre/lnet/libcfs/posix-lock.c:46: multiple definition of `sema_init&#39;<br>collect2: ld returned 1 exit status<br>
make[4]: *** [lustre_uoss] Error 1<br>make[4]: Leaving directory `/export/home/portakal/lustre/lustre/utils&#39;<br>make[3]: *** [all-recursive] Error 1<br>make[3]: Leaving directory `/export/home/portakal/lustre/lustre/utils&#39;<br>
make[2]: *** [all-recursive] Error 1<br>make[2]: Leaving directory `/export/home/portakal/lustre/lustre&#39;<br>make[1]: *** [all-recursive] Error 1<br>make[1]: Leaving directory `/export/home/portakal/lustre&#39;<br>make: *** [all] Error 2<br>
----------<br><br><br>What sould I do to overcome solve this problem ? I opened posix-lock.c and could not see any multiple definition of &#39;sema_init&#39;. These errors are caused by another reason I guess. In my opinion, I cannot solve this by modifying source code.<br>
<br><br>Thanks in advance<br><br><br>