简体   繁体   English

为八度安装乐器控制包时出错

[英]make error when installing instrument-control package for octave

I'm running Octave 4.0.3 on OSX 10.10.5. 我在OSX 10.10.5上运行Octave 4.0.3。 When I try to install the instrument-control package using: 当我尝试使用以下方法安装仪器控制软件包时:

>> pkg install -forge instrument-control -verbose

I get the following error: 我收到以下错误:

clang: warning: argument unused during compilation: '-pthread'
rm __gpib_trigger__.o gpib_write.o gpib_read.o __gpib_spoll__.o gpib.o __gpib_clrdevice__.o gpib_timeout.o gpib_close.o

pkg: error running `make' for the instrument-control package.
error: called from 'configure_make' in file /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/share/octave/4.0.3/m/pkg/private/configure_make.m near line 96, column 9

There are a pile of warnings during the build, but they're all for ignored options during compile. 在构建过程中会产生一堆警告,但它们都是在编译过程中忽略的选项。

I have successfully installed other packages (control, signal). 我已经成功安装了其他软件包(控件,信号)。 Could this be a compatibility issue? 这可能是兼容性问题吗? Ultimately, I need to communicate to a serial device using octave. 最终,我需要使用八度与串行设备进行通信。

Updates: 更新:

A student tried the same using Octave 3.8.0 and I tried it with 4.2.0 with the same results. 一个学生使用Octave 3.8.0进行了相同的尝试,而我使用4.2.0进行了相同的测试。

I tried with -verbose and there doesn't seem to be any more information. 我尝试使用-verbose,似乎没有更多信息。 There are a bunch of warnings for unused options, but nothing in the (pages of) output that indicate any hints. 对于未使用的选项,有很多警告,但在(页面的)输出中没有任何指示任何提示的警告。 At the top, I get: 在顶部,我得到:

>> pkg install -forge instrument-control -verbose
mkdir (/var/tmp/oct-hJRcYn)
untar (/Users/greg/instrument-control-0.3.0.tar.gz, /var/tmp/oct-hJRcYn)
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 clang++ accepts -g... yes
checking for mkoctfile... /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose
checking for grep that handles long lines and -e... /usr/bin/grep
checking whether install_signal_handlers is in the octave namespace... no
checking whether set_signal_handler is in the octave namespace... no
checking for windows... no
checking how to run the C++ preprocessor... clang++ -E
checking for egrep... /usr/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 linux/i2c-dev.h usability... no
checking linux/i2c-dev.h presence... no
checking for linux/i2c-dev.h... no
checking dev/iicbus/iic.h usability... no
checking dev/iicbus/iic.h presence... no
checking for dev/iicbus/iic.h... no
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking linux/parport.h usability... no
checking linux/parport.h presence... no
checking for linux/parport.h... no
checking linux/ppdev.h usability... no
checking linux/ppdev.h presence... no
checking for linux/ppdev.h... no
checking dev/ppbus/ppi.h usability... no
checking dev/ppbus/ppi.h presence... no
checking for dev/ppbus/ppi.h... no
checking dev/ppbus/ppbconf.h usability... no
checking dev/ppbus/ppbconf.h presence... no
checking for dev/ppbus/ppbconf.h... no
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking winsock2.h usability... no
checking winsock2.h presence... no
checking for winsock2.h... no
checking for library containing getnameinfo... none required
checking gpib/ib.h usability... no
checking gpib/ib.h presence... no
checking for gpib/ib.h... no
checking for rpcgen... yes
checking for library containing clnt_create... none required
checking rpc/rpc.h usability... yes
checking rpc/rpc.h presence... yes
checking for rpc/rpc.h... yes
checking visa/visa.h usability... no
checking visa/visa.h presence... no
checking for visa/visa.h... no
configure: creating ./config.status
config.status: creating octave-wrappers.h
config.status: creating Makefile
config.status: creating gpib/Makefile
config.status: creating tcp/Makefile
config.status: creating udp/Makefile
config.status: creating vxi11/Makefile
config.status: creating usbtmc/Makefile
config.status: creating serial/Makefile
config.status: creating parallel/Makefile
config.status: creating i2c/Makefile
config.status: creating resolvehost/Makefile
config.status: creating config.h

which seems to indicate I have the tools I need. 这似乎表明我拥有所需的工具。 The relevant lines from configure_make are: configure_make的相关行是:

if (exist (fullfile (src, "Makefile"), "file"))
  [status, output] = shell (sprintf ("%s make --jobs %i --directory '%s'",
                                     scenv, jobs, src), verbose);
  if (status != 0)
    rmdir (desc.dir, "s");
    disp (output);
    error ("pkg: error running `make' for the %s package.", desc.name);
  endif
endif

Complete output of the command: 完成命令的输出:

pkg install -forge instrument-control -verbose
mkdir (/var/tmp/oct-DzBx8a)
untar (/Users/greg/Dropbox/octave/instrument-control-0.3.0.tar.gz, /var/tmp/oct-DzBx8a)
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 clang++ accepts -g... yes
checking for mkoctfile... /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose
checking for grep that handles long lines and -e... /usr/bin/grep
checking whether install_signal_handlers is in the octave namespace... no
checking whether set_signal_handler is in the octave namespace... no
checking for windows... no
checking how to run the C++ preprocessor... clang++ -E
checking for egrep... /usr/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 linux/i2c-dev.h usability... no
checking linux/i2c-dev.h presence... no
checking for linux/i2c-dev.h... no
checking dev/iicbus/iic.h usability... no
checking dev/iicbus/iic.h presence... no
checking for dev/iicbus/iic.h... no
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking linux/parport.h usability... no
checking linux/parport.h presence... no
checking for linux/parport.h... no
checking linux/ppdev.h usability... no
checking linux/ppdev.h presence... no
checking for linux/ppdev.h... no
checking dev/ppbus/ppi.h usability... no
checking dev/ppbus/ppi.h presence... no
checking for dev/ppbus/ppi.h... no
checking dev/ppbus/ppbconf.h usability... no
checking dev/ppbus/ppbconf.h presence... no
checking for dev/ppbus/ppbconf.h... no
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking winsock2.h usability... no
checking winsock2.h presence... no
checking for winsock2.h... no
checking for library containing getnameinfo... none required
checking gpib/ib.h usability... no
checking gpib/ib.h presence... no
checking for gpib/ib.h... no
checking for rpcgen... yes
checking for library containing clnt_create... none required
checking rpc/rpc.h usability... yes
checking rpc/rpc.h presence... yes
checking for rpc/rpc.h... yes
checking visa/visa.h usability... no
checking visa/visa.h presence... no
checking for visa/visa.h... no
configure: creating ./config.status
config.status: creating octave-wrappers.h
config.status: creating Makefile
config.status: creating gpib/Makefile
config.status: creating tcp/Makefile
config.status: creating udp/Makefile
config.status: creating vxi11/Makefile
config.status: creating usbtmc/Makefile
config.status: creating serial/Makefile
config.status: creating parallel/Makefile
config.status: creating i2c/Makefile
config.status: creating resolvehost/Makefile
config.status: creating config.h
configure:

octave instrument control package is now configured with

   BUILD SERIAL:      yes
   BUILD PARALLEL:    no
   BUILD I2C:         no
   BUILD TCP:         yes
   BUILD UDP:         yes
   BUILD USBTMC:      no
   BUILD GPIB:        no
   BUILD VXI11:       yes
   BUILD RESOLVEHOST: yes

   GPIB LIBS:
   VXI11 LIBS:
   VXI11 INCLUDE:
   VISA LIBS:
   TCP LIBS:


/Applications/Xcode.app/Contents/Developer/usr/bin/make -C serial
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C parallel
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C i2c
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C usbtmc
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C tcp
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C udp
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C gpib
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C vxi11
/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_CONFIG_H -c serial_class_lin.cc
/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_CONFIG_H -c parallel_class.cc
/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_CONFIG_H -c i2c_class.cc
/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_CONFIG_H -c usbtmc_class.cc
/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_CONFIG_H -c gpib_class.cc
/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_CONFIG_H -c udp_class.cc
clang++ -c  -fPIC -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis  -DHAVE_CONFIG_H parallel_class.cc -o parallel_class.o
rpcgen -M vxi11.x
clang++ -c  -fPIC -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis  -DHAVE_CONFIG_H serial_class_lin.cc -o serial_class_lin.o
/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose -DHAVE_CONFIG_H -c tcp_class.cc
clang++ -c  -fPIC -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis  -DHAVE_CONFIG_H udp_class.cc -o udp_class.o
clang++ -c  -fPIC -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis  -DHAVE_CONFIG_H i2c_class.cc -o i2c_class.o
usage:  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/rpcgen infile
clang++ -c  -fPIC -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis  -DHAVE_CONFIG_H usbtmc_class.cc -o usbtmc_class.o
clangclang      /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/rpcgen [-a][-b][-C][-Dname[=value]] -i size  [-I [-K seconds]] [-A][-L][-M toolkit][-N][-T] infile
clangclang++ -c  -fPIC -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/..-I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis    -DHAVE_CONFIG_H gpib_class.cc -o gpib_class.o
:       /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/rpcgen [-c | -h | -l | -m | -t | -Sc | -Ss] [-o outfile] [infile]
clang++ -c  -fPIC -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis  -DHAVE_CONFIG_H tcp_class.cc -o tcp_class.o
:       /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/rpcgen [-s nettype]* [-o outfile] [infile]
clangclangwarning       /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/rpcgen [-n netid]* [-o outfile] [infile]
: warning: : : : -lsuitesparseconfig: 'linker' input unusedwarning-lsuitesparseconfig: 'linker' input unusedwarningclangwarningoptions:

: : :
-A              generate svc_caller() function
: -lsuitesparseconfig: 'linker' input unused-a          generate all files, including samples
-lsuitesparseconfig: 'linker' input unused-b            backward compatibility mode (generates code for SunOS 4.1)
-lsuitesparseconfig: 'linker' input unusedwarning
-c              generate XDR routines
: clang-C               ANSI C mode

-Dname[=value]  define a symbol (same as #define)
: -lsuitesparseconfig: 'linker' input unused
warning-h               generate header file
:
-i size         size at which to start generating inline code
-lmetis: 'linker' input unused-I                generate code for inetd support in server (for SunOS 4.1)

-K seconds      server exits after K seconds of inactivity
-l              generate client side stubs
clang-L         server errors will be printed to syslog
: -m            generate server side stubs
warning-n netid generate server code that supports named netid
: clangclangclangclangclang: : warning: warning: warning: : -lmetis: 'linker' input unused-lmetis: 'linker' input unused
-lmetis: 'linker' input unused
:
: warning: warning: -lmetis: 'linker' input unused-lmetis: 'linker' input unused

-lsuitesparseconfig: 'linker' input unused
clang: warning: -lmetis: 'linker' input unused
-N              supports multiple arguments and call-by-value
-o outfile      name of the output file
-s nettype      generate server code that supports named nettype
-Sc             generate sample client code that uses remote procedures
-Ss             generate sample server code that defines remote procedures
-t              generate RPC dispatch table
-T              generate code to support RPC dispatch tables
-Y path         directory name to find C preprocessor (cpp)
clang: warning: argument unused during compilation: '-L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib'
clang: warning: argument unused during make[1]: compilation: '-L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib'clangclangclangclangclang: : *** [vxi11_clnt.c] Error 1warning: : : warning: warning: warningwarning
argument unused during compilation: '-L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib': argument unused during compilation: '-L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib': argument unused during compilation: '-L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib'

argument unused during compilation: '-L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib'


clang: warning: clangargument unused during compilation: '-L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib': clang
warning: : warningargument unused during compilation: '-L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib':
argument unused during compilation: '-L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib'
clangclang: : warningwarning: : : argument unused during compilation: '-L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib'argument unused during compilation: '-L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib'argument unused during compilation: '-L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib'

...many more warnings... ...更多警告...

/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose gpib_close.o gpib_class.o -o ../gpib_close.oct
    clang++ -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis -bundle -bundle_loader /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/octave-4.0.3  -o ../gpib_timeout.oct  gpib_timeout.o gpib_class.o   -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib/octave/4.0.3 -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib -loctinterp -loctave
    clang++ -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis -bundle -bundle_loader /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/octave-4.0.3  -o ../gpib_write.oct  gpib_write.o gpib_class.o   -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib/octave/4.0.3 -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib -loctinterp -loctave
    /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose gpib_read.o gpib_class.o-o ../gpib_read.oct
    clang++ -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis -bundle -bundle_loader /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/octave-4.0.3  -o ../gpib_close.oct  gpib_close.o gpib_class.o   -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib/octave/4.0.3 -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib -loctinterp -loctave
    clang: warning: argument unused during compilation: '-pthread'
    clang++ -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis -bundle -bundle_loader /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/octave-4.0.3  -o ../gpib_read.oct  gpib_read.o gpib_class.o   -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib/octave/4.0.3 -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib -loctinterp -loctave
    clangclang: /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose __gpib_spoll__.o gpib_class.o  -o ../__gpib_spoll__.oct
    warning: clang: warning: argument unused during compilation: '-pthread'argument unused during compilation: '-pthread'

    : warning: argument unused during compilati/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose __gpib_trigger__.o gpib_class.o  -o ../__gpib_trigger__.oct
    on: '-pthread'clang++ -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis -bundle -bundle_loader /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/octave-4.0.3  -o ../__gpib_spoll__.oct  __gpib_spoll__.o gpib_class.o   -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib/octave/4.0.3 -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib -loctinterp -loctave

    clang: warniclang++ -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis -bundle -bundle_loader /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/octave-4.0.3  -o ../__gpib_trigger__.oct  __gpib_trigger__.o gpib_class.o   -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib/octave/4.0.3 -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib -loctinterp -loctave
    ngclang: : argument unused during compilation: '-pthread'warning
    : argument unused during compilation: '-pthread'
    1 warning generated.
    /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose __udp_properties__.o udp_class.o   -o ../__udp_properties__.oct
    clang: warning: argument unused during compilation: '-pthread'
    clang++ -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis -bundle -bundle_loader /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/octave-4.0.3  -o ../__udp_properties__.oct  __udp_properties__.o udp_class.o   -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib/octave/4.0.3 -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib -loctinterp -loctave
    clang: warning: argument unused during compilation: '-pthread'
    rm udp.o udp_timeout.o udp_close.o __udp_properties__.o udp_write.o udp_read.o
    /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/mkoctfile-4.0.3 --verbose __gpib_clrdevice__.o gpib_class.o  -o ../__gpib_clrdevice__.oct
    clang++ -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave/.. -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include/octave-4.0.3/octave -I/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/include -D_THREAD_SAFE -pthread -D_REENTRANT -L/Applications/Octave.app/Contents/Resources/usr/opt/suite-sparse/lib -lsuitesparseconfig -L/Applications/Octave.app/Contents/Resources/usr/opt/metis/lib -lmetis -bundle -bundle_loader /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/bin/octave-4.0.3  -o ../__gpib_clrdevice__.oct  __gpib_clrdevice__.o gpib_class.o   -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib/octave/4.0.3 -L/Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/lib -loctinterp -loctave
    clang: warning: argument unused during compilation: '-pthread'
    rm __gpib_trigger__.o gpib_write.o gpib_read.o __gpib_spoll__.o gpib.o __gpib_clrdevice__.o gpib_timeout.o gpib_close.o

    pkg: error running `make' for the instrument-control package.
    error: called from 'configure_make' in file /Applications/Octave.app/Contents/Resources/usr/Cellar/octave/4.0.3/share/octave/4.0.3/m/pkg/private/configure_make.m near line 96, column 9

While it is not a full solution to this problem, this could be a workaround if the VXI-11 interface is not needed . 尽管这不是解决此问题的完整解决方案,但如果不需要 VXI-11接口,则可以采用解决方法 For instance, this worked for me to read serial data form an Arduino Micro. 例如,这对我来说可以从Arduino Micro读取串行数据。

After reporting the bug in the GNU Octave's bug tracker Savannah (see here ), I was able to install the octave instrument-control package (see comment #3 ) in: 在报告了GNU Octave的错误跟踪器 Savannah中的错误之后 (请参见此处 ),我能够在以下位置安装octave的instrument-control包(请参见注释#3 ):

  • Octave 4.4.1 八度4.4.1
  • macOS Mojave macOS Mojave

Apparently, as it can also be seen in the above provided output, the error occurs when running 显然,从上面提供的输出中也可以看出,运行时发生错误

rpcgen -M vxi11.x

since the rpcgen appears not to have the -M option (needed for the installation, otherwise it does not compile). 因为rpcgen似乎没有-M选项(安装需要),否则它不会编译)。 I tried installing a newer version of rpcgen for macOS that included a -M (see eg rpcgen-mt here and here ), but it didn't work. 我尝试为macOS安装包括-M的更新版本的rpcgen (例如, 此处此处参见rpcgen-mt ),但是它没有用。 By omitting the installation of vxi11 ( VXI-11 interface ), I was finally able to install the instrument-control package. 通过省略vxi11VXI-11接口 )的安装,我终于能够安装instrument-control软件包。

Here are the steps I followed for this solution: 这是我为该解决方案遵循的步骤:

  1. Download the instrument-control package from Octave Forge (eg here ). Octave Forge下载仪器控制包(例如, 此处 )。

  2. Expand the downloaded *.tar.gz file. 展开下载的*.tar.gz文件。

  3. Open the Makefile.in inside src/ with your favourite text editor. 使用您喜欢的文本编辑器在src/打开Makefile.in

  4. There should be a line (line 2 in my case) indicating the subdirectories to be installed 应该有一行(在我的情况下是第2行)指示要安装的子目录

    (eg SUBDIRS = serial parallel i2c usbtmc tcp udp gpib vxi11 resolvehost hwinfo ) (例如, SUBDIRS = serial parallel i2c usbtmc tcp udp gpib vxi11 resolvehost hwinfo

    Remove vxi11 from the list. 从列表中删除vxi11

    (ie SUBDIRS = serial parallel i2c usbtmc tcp udp gpib resolvehost hwinfo ) (即SUBDIRS = serial parallel i2c usbtmc tcp udp gpib resolvehost hwinfo

  5. Save changes. 保存更改。

  6. Generate the new .tar.gz file 生成新的.tar.gz文件

    $ tar -czf instrument-control-0.3.1.tar.gz instrument-control-0.3.1/

    (with the appropriate numbers of the package version). (以及相应的软件包版本号)。

  7. Inside Octave, while in the same directory of the above generated .tar.gz file, run: 在Octave中,在上述生成的.tar.gz文件的同一目录中,运行:

    > pkg install instrument-control-0.3.1.tar.gz -verbose

    (again with the appropriate numbers of the package version). (再次使用相应的软件包版本号)。

After the installation some warnings may appear mainly due to the fact that vxi11 was omitted. 安装后,可能会出现一些警告,主要是由于省略了vxi11

warning: autoload: 'vxi11.oct' is not an absolute filename
warning: autoload: 'vxi11.oct' is not an absolute filename
warning: autoload: 'vxi11.oct' is not an absolute filename
warning: autoload: 'vxi11.oct' is not an absolute filename
For information about changes from previous versions of the instrument-control package, run 'news instrument-control'.

However, the output of > pkg list should include the instrument-control package (amongst any others installed packages): 但是, > pkg list的输出应包括instrument-control软件包(以及所有其他已安装软件包):

Package Name        | Version | Installation directory
--------------------+---------+-----------------------
           control  |   3.1.0 | /Users/Xavi/octave/control-3.1.0
instrument-control  |   0.3.1 | /Users/Xavi/octave/instrument-control-0.3.1
            signal  |   1.4.0 | /Users/Xavi/octave/signal-1.4.0
          symbolic  |   2.7.1 | /Users/Xavi/octave/symbolic-2.7.1

In addition, some warnings may also appear every time the instrument-control package is loaded for the first time ( > pkg load instrument-control ). 此外,每次首次加载instrument-control程序包时,也会出现一些警告( > pkg load instrument-control )。 This warnings again refer to the missing installation of vxi11 . 该警告再次表示缺少vxi11安装。

Despite of these warnings, I have been able to correctly read serial data form an Arduino Micro. 尽管有这些警告,我仍然能够从Arduino Micro正确读取串行数据。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM