indy-vdr
indy-vdr copied to clipboard
Build fails on Linux aarch64 with --parallel
Building indy-vdr
using cargo build on Ubuntu 18.04 aarch64
fails:
error: failed to run custom build command for `zmq-sys v0.11.0`
Caused by:
process didn't exit successfully: `/home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-d0b872da29bf9f33/build-script-main` (exit status: 101)
--- stdout
cargo:rerun-if-changed=build/main.rs
cargo:rerun-if-env-changed=PROFILE
CMAKE_TOOLCHAIN_FILE_aarch64-unknown-linux-gnu = None
CMAKE_TOOLCHAIN_FILE_aarch64_unknown_linux_gnu = None
HOST_CMAKE_TOOLCHAIN_FILE = None
CMAKE_TOOLCHAIN_FILE = None
CMAKE_GENERATOR_aarch64-unknown-linux-gnu = None
CMAKE_GENERATOR_aarch64_unknown_linux_gnu = None
HOST_CMAKE_GENERATOR = None
CMAKE_GENERATOR = None
CMAKE_PREFIX_PATH_aarch64-unknown-linux-gnu = None
CMAKE_PREFIX_PATH_aarch64_unknown_linux_gnu = None
HOST_CMAKE_PREFIX_PATH = None
CMAKE_PREFIX_PATH = None
CMAKE_aarch64-unknown-linux-gnu = None
CMAKE_aarch64_unknown_linux_gnu = None
HOST_CMAKE = None
CMAKE = None
running: "cmake" "/home/indy/.cargo/registry/src/github.com-1ecc6299db9ec823/zeromq-src-0.1.10+4.3.2/vendor" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_C_STANDARD=99" "-DZMQ_BUILD_TESTS=OFF" "-DENABLE_DRAFTS=OFF" "-DENABLE_CURVE=ON" "-DCMAKE_BUILD_TYPE=Debug" "-DWITH_PERF_TOOL=OFF" "-DBUILD_SHARED=OFF" "-DBUILD_STATIC=ON" "-DWITH_LIBSODIUM=OFF" "-DCMAKE_INSTALL_PREFIX=/home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_ASM_COMPILER=/usr/bin/cc"
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Detected ZMQ Version - 4.3.2
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Performing Test COMPILER_SUPPORTS_C11
-- Performing Test COMPILER_SUPPORTS_C11 - Success
-- Performing Test CXX_HAS_TAUT_WARNING
-- Performing Test CXX_HAS_TAUT_WARNING - Success
-- Performing Test CC_HAS_TAUT_WARNING
-- Performing Test CC_HAS_TAUT_WARNING - Success
-- Using tweetnacl for CURVE security
-- Looking for kqueue
-- Looking for kqueue - not found
-- Looking for epoll_create
-- Looking for epoll_create - found
-- Looking for epoll_create1
-- Looking for epoll_create1 - found
-- Using polling method in I/O threads: epoll
-- Using polling method in zmq_poll(er)_* API: poll
-- Using 64 bytes alignment for lock-free data structures
-- Looking for include file windows.h
-- Looking for include file windows.h - not found
-- Looking for include file condition_variable
-- Looking for include file condition_variable - not found
-- Using condition_variable_t implementation: pthreads
-- Looking for include file ifaddrs.h
-- Looking for include file ifaddrs.h - found
-- Looking for include file sys/uio.h
-- Looking for include file sys/uio.h - found
-- Looking for include file sys/eventfd.h
-- Looking for include file sys/eventfd.h - found
-- Checking whether EFD_CLOEXEC is supported
-- Performing Test ZMQ_HAVE_EVENTFD_CLOEXEC
-- Performing Test ZMQ_HAVE_EVENTFD_CLOEXEC - Success
-- Looking for SO_PEERCRED
-- Looking for SO_PEERCRED - found
-- Looking for LOCAL_PEERCRED
-- Looking for LOCAL_PEERCRED - not found
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for fork
-- Looking for fork - found
-- Looking for gethrtimei
-- Looking for gethrtimei - not found
-- Looking for mkdtemp
-- Looking for mkdtemp - found
-- Looking for accept4
-- Looking for accept4 - found
-- Looking for strnlen
-- Looking for strnlen - found
-- Performing Test HAVE_FLAG_-Wall
-- Performing Test HAVE_FLAG_-Wall - Failed
-- Performing Test HAVE_FLAG_-Wextra
-- Performing Test HAVE_FLAG_-Wextra - Failed
-- Performing Test HAVE_FLAG_-Wno-long-long
-- Performing Test HAVE_FLAG_-Wno-long-long - Failed
-- Performing Test HAVE_FLAG_-Wno-uninitialized
-- Performing Test HAVE_FLAG_-Wno-uninitialized - Failed
-- Performing Test HAVE_FLAG_-pedantic
-- Performing Test HAVE_FLAG_-pedantic - Failed
-- Checking whether noexcept is supported
-- Performing Test ZMQ_HAVE_NOEXCEPT
-- Performing Test ZMQ_HAVE_NOEXCEPT - Success
-- Checking whether SOCK_CLOEXEC is supported
-- Performing Test ZMQ_HAVE_SOCK_CLOEXEC
-- Performing Test ZMQ_HAVE_SOCK_CLOEXEC - Success
-- Checking whether O_CLOEXEC is supported
-- Performing Test ZMQ_HAVE_O_CLOEXEC
-- Performing Test ZMQ_HAVE_O_CLOEXEC - Success
-- Checking whether SO_BINDTODEVICE is supported
-- Performing Test ZMQ_HAVE_SO_BINDTODEVICE
-- Performing Test ZMQ_HAVE_SO_BINDTODEVICE - Success
-- Checking whether SO_KEEPALIVE is supported
-- Performing Test ZMQ_HAVE_SO_KEEPALIVE
-- Performing Test ZMQ_HAVE_SO_KEEPALIVE - Success
-- Checking whether TCP_KEEPCNT is supported
-- Performing Test ZMQ_HAVE_TCP_KEEPCNT
-- Performing Test ZMQ_HAVE_TCP_KEEPCNT - Success
-- Checking whether TCP_KEEPIDLE is supported
-- Performing Test ZMQ_HAVE_TCP_KEEPIDLE
-- Performing Test ZMQ_HAVE_TCP_KEEPIDLE - Success
-- Checking whether TCP_KEEPINTVL is supported
-- Performing Test ZMQ_HAVE_TCP_KEEPINTVL
-- Performing Test ZMQ_HAVE_TCP_KEEPINTVL - Success
-- Checking whether TCP_KEEPALIVE is supported
-- Performing Test ZMQ_HAVE_TCP_KEEPALIVE
-- Performing Test ZMQ_HAVE_TCP_KEEPALIVE - Failed
-- Checking whether TIPC is supported
-- Performing Test ZMQ_HAVE_TIPC
-- Performing Test ZMQ_HAVE_TIPC - Success
-- Checking pthread_setname signature
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_1
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_1 - Failed
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_2
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_2 - Success
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_3
-- Performing Test ZMQ_HAVE_PTHREAD_SETNAME_3 - Failed
-- Performing Test ZMQ_HAVE_PTHREAD_SET_NAME
-- Performing Test ZMQ_HAVE_PTHREAD_SET_NAME - Failed
-- Checking pthread_setaffinity signature
-- Performing Test ZMQ_HAVE_PTHREAD_SETAFFINITY
-- Performing Test ZMQ_HAVE_PTHREAD_SETAFFINITY - Success
-- Checking whether getrandom is supported
-- Performing Test ZMQ_HAVE_GETRANDOM
-- Performing Test ZMQ_HAVE_GETRANDOM - Success
-- Could NOT find AsciiDoc (missing: ASCIIDOC_EXECUTABLE)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/build
running: "cmake" "--build" "." "--target" "install" "--config" "Debug" "--parallel" "4"
--- stderr
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_ASM_COMPILER
CMAKE_ASM_FLAGS
Unknown argument --parallel
Unknown argument 4
Usage: cmake --build <dir> [options] [-- [native-options]]
Options:
<dir> = Project binary directory to be built.
--target <tgt> = Build <tgt> instead of default targets.
May only be specified once.
--config <cfg> = For multi-configuration tools, choose <cfg>.
--clean-first = Build target 'clean' first, then build.
(To clean only, use --target 'clean'.)
--use-stderr = Ignored. Behavior is default in CMake >= 3.0.
-- = Pass remaining options to the native tool.
thread 'main' panicked at '
command did not execute successfully, got: exit status: 1
build script failed, must exit now', /home/indy/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.46/src/lib.rs:974:5
stack backtrace:
0: rust_begin_unwind
at /rustc/09c42c45858d5f3aedfa670698275303a3d19afa/library/std/src/panicking.rs:517:5
1: std::panicking::begin_panic_fmt
at /rustc/09c42c45858d5f3aedfa670698275303a3d19afa/library/std/src/panicking.rs:460:5
2: cmake::fail
at /home/indy/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.46/src/lib.rs:974:5
3: cmake::run
at /home/indy/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.46/src/lib.rs:952:9
4: cmake::Config::build
at /home/indy/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.46/src/lib.rs:832:9
5: zeromq_src::Build::build
at /home/indy/.cargo/registry/src/github.com-1ecc6299db9ec823/zeromq-src-0.1.10+4.3.2/src/lib.rs:314:23
6: build_script_main::find::configure
at ./build/vendored.rs:9:21
7: build_script_main::main
at ./build/main.rs:6:5
8: core::ops::function::FnOnce::call_once
at /rustc/09c42c45858d5f3aedfa670698275303a3d19afa/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
warning: build failed, waiting for other jobs to finish...
error: build failed
According to the output, cmake
not recognising the --parallel 4 option:
--- stderr
Unknown argument --parallel
Unknown argument 4
Manually running above command omitting the --parallel
option or compiling rust-zmq
and zmq-sys
from github source is successful.
any suggestions?
root@7f7aa4b19200:~/indy-vdr/indy-vdr-0.3.3# "cmake" "--build" "." "--target" "install" "--config" "Debug"
Scanning dependencies of target objects
[ 1%] Building C object CMakeFiles/objects.dir/src/tweetnacl.c.o
[ 2%] Building CXX object CMakeFiles/objects.dir/src/precompiled.cpp.o
[ 3%] Building CXX object CMakeFiles/objects.dir/src/address.cpp.o
[ 4%] Building CXX object CMakeFiles/objects.dir/src/client.cpp.o
[ 5%] Building CXX object CMakeFiles/objects.dir/src/clock.cpp.o
[ 6%] Building CXX object CMakeFiles/objects.dir/src/ctx.cpp.o
[ 7%] Building CXX object CMakeFiles/objects.dir/src/curve_mechanism_base.cpp.o
[ 8%] Building CXX object CMakeFiles/objects.dir/src/curve_client.cpp.o
[ 9%] Building CXX object CMakeFiles/objects.dir/src/curve_server.cpp.o
[ 10%] Building CXX object CMakeFiles/objects.dir/src/dealer.cpp.o
[ 11%] Building CXX object CMakeFiles/objects.dir/src/devpoll.cpp.o
[ 12%] Building CXX object CMakeFiles/objects.dir/src/dgram.cpp.o
[ 13%] Building CXX object CMakeFiles/objects.dir/src/dist.cpp.o
[ 14%] Building CXX object CMakeFiles/objects.dir/src/endpoint.cpp.o
[ 15%] Building CXX object CMakeFiles/objects.dir/src/epoll.cpp.o
[ 16%] Building CXX object CMakeFiles/objects.dir/src/err.cpp.o
[ 17%] Building CXX object CMakeFiles/objects.dir/src/fq.cpp.o
[ 18%] Building CXX object CMakeFiles/objects.dir/src/io_object.cpp.o
[ 19%] Building CXX object CMakeFiles/objects.dir/src/io_thread.cpp.o
[ 20%] Building CXX object CMakeFiles/objects.dir/src/ip.cpp.o
[ 21%] Building CXX object CMakeFiles/objects.dir/src/ipc_address.cpp.o
[ 22%] Building CXX object CMakeFiles/objects.dir/src/ipc_connecter.cpp.o
[ 23%] Building CXX object CMakeFiles/objects.dir/src/ipc_listener.cpp.o
[ 24%] Building CXX object CMakeFiles/objects.dir/src/kqueue.cpp.o
[ 25%] Building CXX object CMakeFiles/objects.dir/src/lb.cpp.o
[ 26%] Building CXX object CMakeFiles/objects.dir/src/mailbox.cpp.o
[ 27%] Building CXX object CMakeFiles/objects.dir/src/mailbox_safe.cpp.o
[ 28%] Building CXX object CMakeFiles/objects.dir/src/mechanism.cpp.o
[ 29%] Building CXX object CMakeFiles/objects.dir/src/mechanism_base.cpp.o
[ 30%] Building CXX object CMakeFiles/objects.dir/src/metadata.cpp.o
[ 31%] Building CXX object CMakeFiles/objects.dir/src/msg.cpp.o
[ 31%] Building CXX object CMakeFiles/objects.dir/src/mtrie.cpp.o
[ 32%] Building CXX object CMakeFiles/objects.dir/src/norm_engine.cpp.o
[ 33%] Building CXX object CMakeFiles/objects.dir/src/object.cpp.o
[ 34%] Building CXX object CMakeFiles/objects.dir/src/options.cpp.o
[ 35%] Building CXX object CMakeFiles/objects.dir/src/own.cpp.o
[ 36%] Building CXX object CMakeFiles/objects.dir/src/null_mechanism.cpp.o
[ 37%] Building CXX object CMakeFiles/objects.dir/src/pair.cpp.o
[ 38%] Building CXX object CMakeFiles/objects.dir/src/pgm_receiver.cpp.o
[ 39%] Building CXX object CMakeFiles/objects.dir/src/pgm_sender.cpp.o
[ 40%] Building CXX object CMakeFiles/objects.dir/src/pgm_socket.cpp.o
[ 41%] Building CXX object CMakeFiles/objects.dir/src/pipe.cpp.o
[ 42%] Building CXX object CMakeFiles/objects.dir/src/plain_client.cpp.o
[ 43%] Building CXX object CMakeFiles/objects.dir/src/plain_server.cpp.o
[ 44%] Building CXX object CMakeFiles/objects.dir/src/poll.cpp.o
[ 45%] Building CXX object CMakeFiles/objects.dir/src/poller_base.cpp.o
[ 46%] Building CXX object CMakeFiles/objects.dir/src/polling_util.cpp.o
[ 47%] Building CXX object CMakeFiles/objects.dir/src/pollset.cpp.o
[ 48%] Building CXX object CMakeFiles/objects.dir/src/proxy.cpp.o
[ 49%] Building CXX object CMakeFiles/objects.dir/src/pub.cpp.o
[ 50%] Building CXX object CMakeFiles/objects.dir/src/pull.cpp.o
[ 51%] Building CXX object CMakeFiles/objects.dir/src/push.cpp.o
[ 52%] Building CXX object CMakeFiles/objects.dir/src/random.cpp.o
[ 53%] Building CXX object CMakeFiles/objects.dir/src/raw_encoder.cpp.o
[ 54%] Building CXX object CMakeFiles/objects.dir/src/raw_decoder.cpp.o
[ 55%] Building CXX object CMakeFiles/objects.dir/src/reaper.cpp.o
[ 56%] Building CXX object CMakeFiles/objects.dir/src/rep.cpp.o
[ 57%] Building CXX object CMakeFiles/objects.dir/src/req.cpp.o
[ 58%] Building CXX object CMakeFiles/objects.dir/src/router.cpp.o
[ 59%] Building CXX object CMakeFiles/objects.dir/src/select.cpp.o
[ 60%] Building CXX object CMakeFiles/objects.dir/src/server.cpp.o
[ 61%] Building CXX object CMakeFiles/objects.dir/src/session_base.cpp.o
[ 62%] Building CXX object CMakeFiles/objects.dir/src/signaler.cpp.o
[ 63%] Building CXX object CMakeFiles/objects.dir/src/socket_base.cpp.o
[ 64%] Building CXX object CMakeFiles/objects.dir/src/socks.cpp.o
[ 64%] Building CXX object CMakeFiles/objects.dir/src/socks_connecter.cpp.o
[ 65%] Building CXX object CMakeFiles/objects.dir/src/stream.cpp.o
[ 66%] Building CXX object CMakeFiles/objects.dir/src/stream_engine.cpp.o
[ 67%] Building CXX object CMakeFiles/objects.dir/src/sub.cpp.o
[ 68%] Building CXX object CMakeFiles/objects.dir/src/tcp.cpp.o
[ 69%] Building CXX object CMakeFiles/objects.dir/src/tcp_address.cpp.o
[ 70%] Building CXX object CMakeFiles/objects.dir/src/tcp_connecter.cpp.o
[ 71%] Building CXX object CMakeFiles/objects.dir/src/tcp_listener.cpp.o
[ 72%] Building CXX object CMakeFiles/objects.dir/src/thread.cpp.o
[ 73%] Building CXX object CMakeFiles/objects.dir/src/trie.cpp.o
[ 74%] Building CXX object CMakeFiles/objects.dir/src/radix_tree.cpp.o
[ 75%] Building CXX object CMakeFiles/objects.dir/src/v1_decoder.cpp.o
[ 76%] Building CXX object CMakeFiles/objects.dir/src/v1_encoder.cpp.o
[ 77%] Building CXX object CMakeFiles/objects.dir/src/v2_decoder.cpp.o
[ 78%] Building CXX object CMakeFiles/objects.dir/src/v2_encoder.cpp.o
[ 79%] Building CXX object CMakeFiles/objects.dir/src/xpub.cpp.o
[ 80%] Building CXX object CMakeFiles/objects.dir/src/xsub.cpp.o
[ 81%] Building CXX object CMakeFiles/objects.dir/src/zmq.cpp.o
[ 82%] Building CXX object CMakeFiles/objects.dir/src/zmq_utils.cpp.o
[ 83%] Building CXX object CMakeFiles/objects.dir/src/decoder_allocators.cpp.o
[ 84%] Building CXX object CMakeFiles/objects.dir/src/socket_poller.cpp.o
[ 85%] Building CXX object CMakeFiles/objects.dir/src/timers.cpp.o
[ 86%] Building CXX object CMakeFiles/objects.dir/src/radio.cpp.o
[ 87%] Building CXX object CMakeFiles/objects.dir/src/dish.cpp.o
[ 88%] Building CXX object CMakeFiles/objects.dir/src/udp_engine.cpp.o
[ 89%] Building CXX object CMakeFiles/objects.dir/src/udp_address.cpp.o
[ 90%] Building CXX object CMakeFiles/objects.dir/src/scatter.cpp.o
[ 91%] Building CXX object CMakeFiles/objects.dir/src/gather.cpp.o
[ 92%] Building CXX object CMakeFiles/objects.dir/src/ip_resolver.cpp.o
[ 93%] Building CXX object CMakeFiles/objects.dir/src/zap_client.cpp.o
[ 94%] Building CXX object CMakeFiles/objects.dir/src/stream_connecter_base.cpp.o
[ 95%] Building CXX object CMakeFiles/objects.dir/src/stream_listener_base.cpp.o
[ 96%] Building CXX object CMakeFiles/objects.dir/src/tipc_address.cpp.o
[ 97%] Building CXX object CMakeFiles/objects.dir/src/tipc_connecter.cpp.o
[ 98%] Building CXX object CMakeFiles/objects.dir/src/tipc_listener.cpp.o
[ 98%] Built target objects
Scanning dependencies of target libzmq-static
[100%] Linking CXX static library lib/libzmq.a
[100%] Built target libzmq-static
Install the project...
-- Install configuration: "Debug"
-- Installing: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/lib/pkgconfig/libzmq.pc
-- Installing: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/lib/libzmq.a
-- Installing: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/include/zmq.h
-- Installing: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/include/zmq_utils.h
-- Installing: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/share/zmq/AUTHORS.txt
-- Installing: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/share/zmq/COPYING.txt
-- Installing: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/share/zmq/COPYING.LESSER.txt
-- Installing: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/share/zmq/NEWS.txt
-- Installing: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/share/cmake/ZeroMQ/ZeroMQTargets.cmake
-- Installing: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/share/cmake/ZeroMQ/ZeroMQTargets-debug.cmake
-- Installing: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/share/cmake/ZeroMQ/ZeroMQConfig.cmake
-- Installing: /home/indy/indy-vdr/indy-vdr-0.3.3/target/debug/build/zmq-sys-a64deb418e9c5c5e/out/share/cmake/ZeroMQ/ZeroMQConfigVersion.cmake
root@7f7aa4b19200:~/indy-vdr/indy-vdr-0.3.3#