open-iscsi 컴파일, __without__ systemd

open-iscsi 컴파일, __without__ systemd

안녕하세요 @돕는 사람들,

K4.9.207에서 open-scsi를 컴파일하려고 하는데 이 시스템에는아니요체계화되었습니다. 괜찮습니다.

알 겠어:

wget https://github.com/open-iscsi/open-iscsi/archive/2.1.0.tar.gz

그리고

wget https://github.com/open-iscsi/open-isns/archive/v0.99.tar.gz

그런 다음 ...을 만들고 여기서 끝냅니다.

iscsid.c:38:10: 치명적인 오류: systemd/sd-daemon.h: 해당 파일이나 디렉터리가 없습니다 #include ^~~~~~~~~~~~~~~~~~~~~는 괜찮습니다 , 이 시스템에는 systemd가 없기 때문입니다. 또한 makefile에서 찾았습니다.

# export systemd disablement if set
ifneq ($(NO_SYSTEMD),)
export NO_SYSTEMD
WITHOUT_ARG = --without-systemd
else
WITHOUT_ARG =
endif

make --without-systemd는 내가 가지고 있는 옵션인 make의 도움을 제공합니다. 그러나 --without-systemd-옵션은 없습니다.

open-scsi를 컴파일하는 방법이 있나요?없이(어떻게 든 위의 옵션을 사용하고 방법)체계화된?

미리 감사드립니다. ELindemann


@Nazar Trisha, 전체 make 로그가 있습니다.

 make
cd iscsiuio; ./configure
checking for a BSD-compatible install... install
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for bash... /bin/sh
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether gcc and cc understand -c and -o together... yes
checking for ranlib... ranlib
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether gcc needs -traditional... no
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for off_t... yes
checking for size_t... yes
checking for int8_t... yes
checking for uint8_t... yes
checking for int16_t... yes
checking for uint16_t... yes
checking for int32_t... yes
checking for uint32_t... yes
checking for int64_t... yes
checking for uint64_t... yes
checking size of short... 2
checking size of int... 4
checking size of long... 8
checking whether byte ordering is bigendian... no
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... (cached) ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
Package libsystemd was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsystemd.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libsystemd' found
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/apps/Makefile
config.status: creating src/apps/dhcpc/Makefile
config.status: creating src/apps/brcm-iscsi/Makefile
config.status: creating src/uip/Makefile
config.status: creating src/unix/Makefile
config.status: creating src/unix/libs/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default commands
make -C libopeniscsiusr
make[1]: Entering directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/libopeniscsiusr'
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod    -c -o context.o context.c
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod    -c -o misc.o misc.c
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod    -c -o session.o session.c
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod    -c -o sysfs.o sysfs.c
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod    -c -o iface.o iface.c
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod    -c -o idbm.o idbm.c
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod    -c -o node.o node.c
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod    -c -o default.o default.c
CFLAGS= -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod  -shared -Wl,-soname=libopeniscsiusr.so.0.2.0 -o libopeniscsiusr.so.0.2.0 context.o misc.o session.o sysfs.o iface.o idbm.o node.o default.o -lkmod
ln -sf libopeniscsiusr.so.0.2.0 libopeniscsiusr.so
ln -sf libopeniscsiusr.so.0.2.0 libopeniscsiusr.so.0
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod  -I../libopeniscsiusr -g  -lkmod   -L../libopeniscsiusr -lopeniscsiusr  tests/test_context.c libopeniscsiusr.so.0.2.0   -o tests/test_context
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod  -I../libopeniscsiusr -g  -lkmod   -L../libopeniscsiusr -lopeniscsiusr  tests/test_session.c libopeniscsiusr.so.0.2.0   -o tests/test_session
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod  -I../libopeniscsiusr -g  -lkmod   -L../libopeniscsiusr -lopeniscsiusr  tests/test_iface.c libopeniscsiusr.so.0.2.0   -o tests/test_iface
cc -O2 -g -Wall -Werror -Wextra -fvisibility=hidden -fPIC -I/usr/include/kmod  -I../libopeniscsiusr -g  -lkmod   -L../libopeniscsiusr -lopeniscsiusr  tests/test_node.c libopeniscsiusr.so.0.2.0   -o tests/test_node
install: creating directory 'docs/man'
'docs/libopeniscsiusr.h.3' -> 'docs/man/libopeniscsiusr.h.3'
cat libopeniscsiusr/libopeniscsiusr.h libopeniscsiusr/libopeniscsiusr_common.h libopeniscsiusr/libopeniscsiusr_session.h libopeniscsiusr/libopeniscsiusr_iface.h | \
    perl docs/doc-preclean.pl > "/tmp/tmp.zWqxwrYQdZ"
perl docs/kernel-doc -man "/tmp/tmp.zWqxwrYQdZ" | \
    perl docs/split-man.pl docs/man
Creating docs/man/iscsi_log_priority_str.3
Creating docs/man/iscsi_strerror.3
Creating docs/man/iscsi_context_new.3
Creating docs/man/iscsi_context_free.3
Creating docs/man/iscsi_context_log_priority_set.3
Creating docs/man/iscsi_context_log_priority_get.3
Creating docs/man/iscsi_context_log_func_set.3
Creating docs/man/iscsi_context_userdata_set.3
Creating docs/man/iscsi_context_userdata_get.3
Creating docs/man/iscsi_sessions_get.3
Creating docs/man/iscsi_sessions_free.3
Creating docs/man/iscsi_session_get.3
Creating docs/man/iscsi_session_free.3
Creating docs/man/iscsi_default_iface_setup.3
Creating docs/man/iscsi_ifaces_get.3
Creating docs/man/iscsi_ifaces_free.3
Creating docs/man/iscsi_iface_get.3
Creating docs/man/iscsi_iface_free.3
Creating docs/man/iscsi_nodes_get.3
Creating docs/man/iscsi_nodes_free.3
Creating docs/man/iscsi_session_sid_get.3
Creating docs/man/iscsi_session_persistent_address_get.3
Creating docs/man/iscsi_session_persistent_port_get.3
Creating docs/man/iscsi_session_target_name_get.3
Creating docs/man/iscsi_session_username_get.3
Creating docs/man/iscsi_session_password_get.3
Creating docs/man/iscsi_session_username_in_get.3
Creating docs/man/iscsi_session_password_in_get.3
Creating docs/man/iscsi_session_recovery_tmo_get.3
Creating docs/man/iscsi_session_lu_reset_tmo_get.3
Creating docs/man/iscsi_session_tgt_reset_tmo_get.3
Creating docs/man/iscsi_session_abort_tmo_get.3
Creating docs/man/iscsi_session_tpgt_get.3
Creating docs/man/iscsi_session_address_get.3
Creating docs/man/iscsi_session_port_get.3
Creating docs/man/iscsi_session_iface_get.3
Creating docs/man/iscsi_iface_ipaddress_get.3
Creating docs/man/iscsi_iface_hwaddress_get.3
Creating docs/man/iscsi_iface_netdev_get.3
Creating docs/man/iscsi_iface_transport_name_get.3
Creating docs/man/iscsi_iface_iname_get.3
Creating docs/man/iscsi_iface_port_state_get.3
Creating docs/man/iscsi_iface_port_speed_get.3
Creating docs/man/iscsi_iface_name_get.3
Creating docs/man/iscsi_iface_dump_config.3
Creating docs/man/iscsi_iface_print_config.3
Creating docs/man/iscsi_is_default_iface.3
rm -f "/tmp/tmp.zWqxwrYQdZ"
find docs/man -type f -name \*[0-9].gz
docs/man/iscsi_session_iface_get.3.gz
docs/man/iscsi_session_persistent_port_get.3.gz
docs/man/iscsi_iface_netdev_get.3.gz
docs/man/iscsi_iface_transport_name_get.3.gz
docs/man/iscsi_session_password_in_get.3.gz
docs/man/iscsi_context_userdata_get.3.gz
docs/man/iscsi_session_target_name_get.3.gz
docs/man/iscsi_iface_hwaddress_get.3.gz
docs/man/iscsi_iface_get.3.gz
docs/man/iscsi_context_log_func_set.3.gz
docs/man/libopeniscsiusr.h.3.gz
docs/man/iscsi_iface_print_config.3.gz
docs/man/iscsi_sessions_get.3.gz
docs/man/iscsi_log_priority_str.3.gz
docs/man/iscsi_session_recovery_tmo_get.3.gz
docs/man/iscsi_session_sid_get.3.gz
docs/man/iscsi_iface_port_speed_get.3.gz
docs/man/iscsi_context_userdata_set.3.gz
docs/man/iscsi_context_new.3.gz
docs/man/iscsi_session_persistent_address_get.3.gz
docs/man/iscsi_iface_iname_get.3.gz
docs/man/iscsi_session_get.3.gz
docs/man/iscsi_sessions_free.3.gz
docs/man/iscsi_default_iface_setup.3.gz
docs/man/iscsi_session_tpgt_get.3.gz
docs/man/iscsi_session_address_get.3.gz
docs/man/iscsi_session_port_get.3.gz
docs/man/iscsi_iface_ipaddress_get.3.gz
docs/man/iscsi_session_username_in_get.3.gz
docs/man/iscsi_ifaces_get.3.gz
docs/man/iscsi_context_log_priority_set.3.gz
docs/man/iscsi_session_username_get.3.gz
docs/man/iscsi_session_abort_tmo_get.3.gz
docs/man/iscsi_session_lu_reset_tmo_get.3.gz
docs/man/iscsi_session_password_get.3.gz
docs/man/iscsi_iface_port_state_get.3.gz
docs/man/iscsi_nodes_free.3.gz
docs/man/iscsi_ifaces_free.3.gz
docs/man/iscsi_nodes_get.3.gz
docs/man/iscsi_strerror.3.gz
docs/man/iscsi_iface_name_get.3.gz
docs/man/iscsi_iface_dump_config.3.gz
docs/man/iscsi_context_log_priority_get.3.gz
docs/man/iscsi_is_default_iface.3.gz
docs/man/iscsi_context_free.3.gz
docs/man/iscsi_session_tgt_reset_tmo_get.3.gz
docs/man/iscsi_iface_free.3.gz
docs/man/iscsi_session_free.3.gz
make[1]: Leaving directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/libopeniscsiusr'
make -C utils/sysdeps
make[1]: Entering directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/utils/sysdeps'
cc -O2 -fno-inline -g  -Wall -Wstrict-prototypes   -c -o sysdeps.o sysdeps.c
make[1]: Leaving directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/utils/sysdeps'
make -C utils/fwparam_ibft
make[1]: Entering directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/utils/fwparam_ibft'
cc -O2 -g -fPIC -Wall -Wstrict-prototypes -Wno-format-truncation -I../../include -I../../usr -D_GNU_SOURCE -I../../libopeniscsiusr   -c -o fw_entry.o fw_entry.c
cc -O2 -g -fPIC -Wall -Wstrict-prototypes -Wno-format-truncation -I../../include -I../../usr -D_GNU_SOURCE -I../../libopeniscsiusr   -c -o fwparam_sysfs.o fwparam_sysfs.c
cc -O2 -g -fPIC -Wall -Wstrict-prototypes -Wno-format-truncation -I../../include -I../../usr -D_GNU_SOURCE -I../../libopeniscsiusr   -c -o ../../usr/iscsi_net_util.o ../../usr/iscsi_net_util.c
cc -O2 -g -fPIC -Wall -Wstrict-prototypes -Wno-format-truncation -I../../include -I../../usr -D_GNU_SOURCE -I../../libopeniscsiusr   -c -o prom_lex.o prom_lex.c
cc -O2 -g -fPIC -Wall -Wstrict-prototypes -Wno-format-truncation -I../../include -I../../usr -D_GNU_SOURCE -I../../libopeniscsiusr   -c -o prom_parse.tab.o prom_parse.tab.c
cc -O2 -g -fPIC -Wall -Wstrict-prototypes -Wno-format-truncation -I../../include -I../../usr -D_GNU_SOURCE -I../../libopeniscsiusr   -c -o fwparam_ppc.o fwparam_ppc.c
make[1]: Leaving directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/utils/fwparam_ibft'
make -C usr
make[1]: Entering directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/usr'
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o iscsi_util.o iscsi_util.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o io.o io.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o auth.o auth.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o iscsi_timer.o iscsi_timer.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o login.o login.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o log.o log.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o iface.o iface.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o idbm.o idbm.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o sysfs.o sysfs.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o host.o host.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o session_info.o session_info.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o iscsi_sysfs.o iscsi_sysfs.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o iscsid_req.o iscsid_req.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o transport.o transport.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o iser.o iser.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o cxgbi.o cxgbi.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o be2iscsi.o be2iscsi.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o initiator_common.o initiator_common.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o iscsi_err.o iscsi_err.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o flashnode.o flashnode.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o uip_mgmt_ipc.o uip_mgmt_ipc.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o netlink.o netlink.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o initiator.o initiator.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o scsi.o scsi.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o actor.o actor.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o event_poll.o event_poll.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o mgmt_ipc.o mgmt_ipc.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o kern_err_table.o kern_err_table.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o local_strings.o local_strings.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o discovery.o discovery.c
cc -O2 -g -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o iscsid.o iscsid.c
iscsid.c:38:10: fatal error: systemd/sd-daemon.h: No such file or directory
 #include <systemd/sd-daemon.h>
          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
<builtin>: recipe for target 'iscsid.o' failed
make[1]: *** [iscsid.o] Error 1
make[1]: Leaving directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/usr'
Makefile:66: recipe for target 'user' failed
make: *** [user] Error 2

@라섹

메이크파일을 편집합니다

# if you are packaging open-iscsi, set this variable to the location
# that you want everything installed into.
DESTDIR ?=

prefix = /usr
exec_prefix = /
sbindir = $(exec_prefix)/sbin
bindir = $(exec_prefix)/bin
mandir = $(prefix)/share/man
etcdir = /etc
initddir = $(etcdir)/init.d
rulesdir = $(etcdir)/udev/rules.d
systemddir = $(prefix)/lib/systemd/system

MANPAGES = doc/iscsid.8 doc/iscsiadm.8 doc/iscsi_discovery.8 \
<------><------>iscsiuio/docs/iscsiuio.8 doc/iscsi_fw_login.8 doc/iscsi-iname.8 \
<------><------>doc/iscsistart.8
PROGRAMS = usr/iscsid usr/iscsiadm utils/iscsi-iname iscsiuio/src/unix/iscsiuio \
<------><------>   usr/iscsistart
SCRIPTS = utils/iscsi_discovery utils/iscsi_fw_login utils/iscsi_offload \
<------><------>  utils/iscsi-gen-initiatorname
INSTALL = install
ETCFILES = etc/iscsid.conf
IFACEFILES = etc/iface.example
RULESFILES = utils/50-iscsi-firmware-login.rules
SYSTEMDFILES = etc/systemd/iscsi.service \
<------><------><------>   etc/systemd/iscsid.service etc/systemd/iscsid.socket \
<------><------><------>   etc/systemd/iscsiuio.service etc/systemd/iscsiuio.socket

export DESTDIR prefix INSTALL

CFLAGS=-DNO_SYSTEMD make


# Compatibility: parse old OPTFLAGS argument
ifdef OPTFLAGS
CFLAGS = $(OPTFLAGS)
endif

# Export it so configure of iscsiuio will
# pick it up.
ifneq (,$(CFLAGS))
export CFLAGS
endif

CFLAGS=-DNO_SYSTEMD make
export CFLAG

그런 다음 다시 make 결과는 다음과 같습니다.

make
make -C libopeniscsiusr
make[1]: Entering directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/libopeniscsiusr'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/libopeniscsiusr'
make -C utils/sysdeps
make[1]: Entering directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/utils/sysdeps'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/utils/sysdeps'
make -C utils/fwparam_ibft
make[1]: Entering directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/utils/fwparam_ibft'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/utils/fwparam_ibft'
make -C usr
make[1]: Entering directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/usr'
cc -DNO_SYSTEMD make -Wall -Wstrict-prototypes -I../include -I. -D_GNU_SOURCE -I../libopeniscsiusr -I/usr/include/kmod    -c -o iscsid.o iscsid.c
cc: error: make: No such file or directory
<builtin>: recipe for target 'iscsid.o' failed
make[1]: *** [iscsid.o] Error 1
make[1]: Leaving directory '/temp/2.1.0/2.1.0/open-iscsi-2.1.0/usr'
Makefile:69: recipe for target 'user' failed
make: *** [user] Error 2

그리고 make가 나에게 말한 대로 결함이 어디에 있는지 살펴보았습니다.

cd iscsiuio; ./configure
checking for a BSD-compatible install... install
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for bash... /bin/sh
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/temp/2.1.0/2.1.0/open-iscsi-2.1.0/iscsiuio':
configure: error: C compiler cannot create executables
See **`config.log'** for more details
Makefile:87: recipe for target 'iscsiuio/Makefile' failed
make: *** [iscsiuio/Makefile] Error 77

경로: /sbin 경로: /usr/sbin 경로: /bin 경로: /usr/bin 경로: /usr/local/bin 경로: /usr/local/go/bin 경로: /usr/local/jre/bin

## ----------- ##
## Core tests. ##
## ----------- ##

configure:2496: checking for a BSD-compatible install
configure:2564: result: install
configure:2575: checking whether build environment is sane
configure:2630: result: yes
configure:2781: checking for a thread-safe mkdir -p
configure:2820: result: /bin/mkdir -p
configure:2827: checking for gawk
configure:2843: found /bin/gawk
configure:2854: result: gawk
configure:2865: checking whether make sets $(MAKE)
configure:2887: result: yes
configure:2916: checking whether make supports nested variables
configure:2933: result: yes
configure:3023: checking for bash
configure:3053: result: /bin/sh
configure:3113: checking for gcc
configure:3129: found /usr/bin/gcc
configure:3140: result: gcc
configure:3369: checking for C compiler version
configure:3378: gcc --version >&5
gcc (eisfair Linux) 8.1.1 20180719 [gcc-8-branch revision 262874]
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


configure:3389: $? = 0
configure:3378: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-pc-linux-gnu/8/lto-wrapper
OFFLOAD_TARGET_NAMES=hsa:nvptx-none
Target: x86_64-pc-linux-gnu
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir
Thread model: posix
gcc version 8.1.1 20180719 [gcc-8-branch revision 262874] (eisfair Linux).
configure:3389: $? = 0
configure:3378: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3389: $? = 1
configure:3378: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:3389: $? = 1
configure:3409: checking whether the C compiler works
configure:3431: gcc -DNO_SYSTEMD make   conftest.c  >&5
gcc: error: make: No such file or directory
configure:3435: $? = 1
configure:3473: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "iscsiuio"
| #define PACKAGE_TARNAME "iscsiuio"
| #define PACKAGE_VERSION "0.7.8.6"
| #define PACKAGE_STRING "iscsiuio 0.7.8.6"
| #define PACKAGE_BUGREPORT "[email protected]"
| #define PACKAGE_URL ""
| #define PACKAGE "iscsiuio"
| #define VERSION "0.7.8.6"
| /* end confdefs.h.  */
|.
| int
| main ()
| {
|.
|   ;
|   return 0;
| }
configure:3478: error: in `/temp/2.1.0/2.1.0/open-iscsi-2.1.0/iscsiuio':
configure:3480: error: C compiler cannot create executables
See `config.log' for more details

안돼요 호세 :-(

어떤 생각이라도. 첫 번째 오류는 사라졌지만 이제 또 다른 오류가 발생했습니다. 추가 도움이 필요합니다.

엘린데만

답변1

나는 이것을 달성하는 "더 나은" 방법이 있다고 생각하지만 make다음과 같이 실행하면 됩니다.

CFLAGS=-DNO_SYSTEMD make

관련 정보