[solved] passing ImageMagick options in script : unrecognized command

I'm working on a script that modifies a lot of images. I am trying to add the flexibility to pass in any valid IM argument and have it tacked on to a default resize operation.
I'm running into the problem where certain options give me the 'unrecoginized command' error even though they are valid.
I've included a test snippet. I'd be interested to see if my examples do/don't work for others.
#!/bin/bash
mogrify "${1}" -resize 800x900 "${2}"
#this won't work : bash ../IMargumenttest.sh '-modulate 150,50' img001.jpg
#and gives :mogrify: unrecognized option `-modulate 150,50' @ error/mogrify.c/MogrifyImageCommand/5147.
#this will work : bash ../IMargumenttest.sh '-contrast' img001.jpg
I've tried passing the arguments as single and double quoted options to no avail.
Thanks in advance.
Nick
Last edited by inkdinky (2012-02-29 22:30:22)

When you run the command "mogrify -modulate 150,50 ...", mogrify receives a list of arguments: "-modulate", followed by "-150,50", followed by whatever else you passed it. When it sees the "-modulate" argument, it knows that the next argument is a parameter for the modulate argument.
With your quoting it instead receives a single argument "-modulate 150,50". There is no option "-modulate 150,50", so it throws the unrecognized error.
There are a few ways to handle this, depending on what you need to do. If the order of the arguments doesn't matter, then you can do this:
mogrify -resize 800x900 "$@"
then run the script with "script -modulate 150,50 /path/to/image".  This works because "$@" is expanded by bash into separate words, so mogrify receives all of them as separate arguments.
If the resize command has to be right at the end, then you can do this:
img="$1"
shift
mogrify "$@" -resize 800x900 "$img"
In that case, you have to call the script with the file path as the first argument, followed by any other arguments to mogrify. It assigns the file path to the variable "img", then it shifts it off the array of input arguments.
You could also do it with array indexing, but I think this is simpler.
edit: Just in case you were wondering why "$@" is expanded and "$1" isn't, it's because "$@" is treated specially to enable this type of usage. "$*" also contains all of the input arguments, but it is not expanded into separate words when quoted.
Last edited by Xyne (2012-02-29 21:23:40)

Similar Messages

  • [SOLVED] gcc: error: unrecognized command line option '-V'

    Hi.. this is my first post but I always read the forum to solve my problem! ;) thank you to all!!!!   sorry for my bad english in advanced...
    This is my problem:
    I have Archlinux x86_64 with Gnome (last version).
    I try to install the driver for my printer epson sx218 but when I compile the bash show:
    checking for gcc... gcc
    checking for C compiler default output file name...
    configure: error: C compiler cannot create executables
    See `config.log' for more details.
    now, I see the config.log file and I see the line:
    gcc: error: unrecognized command line option '-V'
    my makepkg.conf:
    # /etc/makepkg.conf
    # SOURCE ACQUISITION
    #-- The download utilities that makepkg should use to acquire sources
    # Format: 'protocol::agent'
    DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
    'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
    'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
    'rsync::/usr/bin/rsync --no-motd -z %u %o'
    'scp::/usr/bin/scp -C %u %o')
    # Other common tools:
    # /usr/bin/snarf
    # /usr/bin/lftpget -c
    # /usr/bin/wget
    # ARCHITECTURE, COMPILE FLAGS
    CARCH="x86_64"
    CHOST="x86_64-unknown-linux-gnu"
    #-- Compiler and Linker Flags
    # -march (or -mcpu) builds exclusively for an architecture
    # -mtune optimizes for an architecture, but builds for whole processor family
    CPPFLAGS="-D_FORTIFY_SOURCE=2"
    CFLAGS="-march=native -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
    CXXFLAGS="${CFLAGS}"
    LDFLAGS="-Wl, -O1,--sort-common,--as-needed,-z,relro"
    #-- Make Flags: change this for DistCC/SMP systems
    MAKEFLAGS="-j2"
    #-- Debugging flags
    DEBUG_CFLAGS="-g -fvar-tracking-assignments"
    DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
    # BUILD ENVIRONMENT
    # Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
    # A negated environment option will do the opposite of the comments below.
    #-- fakeroot: Allow building packages as a non-root user
    #-- distcc: Use the Distributed C/C++/ObjC compiler
    #-- color: Colorize output messages
    #-- ccache: Use ccache to cache compilation
    #-- check: Run the check() function if present in the PKGBUILD
    #-- sign: Generate PGP signature file
    BUILDENV=(fakeroot !distcc color !ccache check !sign)
    #-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
    #-- specify a space-delimited list of hosts running in the DistCC cluster.
    #DISTCC_HOSTS=""
    #-- Specify a directory for package building.
    #BUILDDIR=/tmp/makepkg
    # GLOBAL PACKAGE OPTIONS
    # These are default values for the options=() settings
    # Default: OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !upx !debug)
    # A negated option will do the opposite of the comments below.
    #-- strip: Strip symbols from binaries/libraries
    #-- docs: Save doc directories specified by DOC_DIRS
    #-- libtool: Leave libtool (.la) files in packages
    #-- staticlibs: Leave static library (.a) files in packages
    #-- emptydirs: Leave empty directories in packages
    #-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
    #-- purge: Remove files specified by PURGE_TARGETS
    #-- upx: Compress binary executable files using UPX
    #-- debug: Add debugging flags as specified in DEBUG_* variables
    OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !upx !debug)
    #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
    INTEGRITY_CHECK=(md5)
    #-- Options to be used when stripping binaries. See `man strip' for details.
    STRIP_BINARIES="--strip-all"
    #-- Options to be used when stripping shared libraries. See `man strip' for details.
    STRIP_SHARED="--strip-unneeded"
    #-- Options to be used when stripping static libraries. See `man strip' for details.
    STRIP_STATIC="--strip-debug"
    #-- Manual (man and info) directories to compress (if zipman is specified)
    MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
    #-- Doc directories to remove (if !docs is specified)
    DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
    #-- Files to be removed from all packages (if purge is specified)
    PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
    # PACKAGE OUTPUT
    # Default: put built package and cached source in build directory
    #-- Destination: specify a fixed directory where all packages will be placed
    #PKGDEST=/home/packages
    #-- Source cache: specify a fixed directory where source files will be cached
    #SRCDEST=/home/sources
    #-- Source packages: specify a fixed directory where all src packages will be placed
    #SRCPKGDEST=/home/srcpackages
    #-- Log files: specify a fixed directory where all log files will be placed
    #LOGDEST=/home/makepkglogs
    #-- Packager: name/email of the person or organization building packages
    #PACKAGER="John Doe <[email protected]>"
    #-- Specify a key to use for package signing
    #GPGKEY=""
    # COMPRESSION DEFAULTS
    COMPRESSGZ=(gzip -c -f -n)
    COMPRESSBZ2=(bzip2 -c -f)
    COMPRESSXZ=(xz -c -z -)
    COMPRESSLRZ=(lrzip -q)
    COMPRESSLZO=(lzop -q)
    COMPRESSZ=(compress -c -f)
    # EXTENSION DEFAULTS
    # WARNING: Do NOT modify these variables unless you know what you are
    # doing.
    PKGEXT='.pkg.tar.xz'
    SRCEXT='.src.tar.gz'
    # vim: set ft=sh ts=2 sw=2 et:
    this is my full config.log:
    This file contains any messages produced by compilers while
    running configure, to aid debugging if configure makes a mistake.
    It was created by epson-inkjet-printer-filter configure 1.0.0, which was
    generated by GNU Autoconf 2.61. Invocation command line was
    $ ./configure LDFLAGS=-Wl, -O1,--sort-common,--as-needed,-z,relro -Wl,--no-as-needed --prefix=/opt/epson-inkjet-printer-workforce-320-sx218
    ## Platform. ##
    hostname = localhost
    uname -m = x86_64
    uname -r = 3.9.3-1-ARCH
    uname -s = Linux
    uname -v = #1 SMP PREEMPT Sun May 19 22:50:29 CEST 2013
    /usr/bin/uname -p = unknown
    /bin/uname -X = unknown
    /bin/arch = unknown
    /usr/bin/arch -k = unknown
    /usr/convex/getsysinfo = unknown
    /usr/bin/hostinfo = unknown
    /bin/machine = unknown
    /usr/bin/oslevel = unknown
    /bin/universe = unknown
    PATH: /usr/local/bin
    PATH: /usr/bin
    PATH: /bin
    PATH: /usr/local/sbin
    PATH: /usr/sbin
    PATH: /sbin
    PATH: /usr/bin/core_perl
    ## Core tests. ##
    configure:1989: checking for a BSD-compatible install
    configure:2045: result: /usr/bin/install -c
    configure:2056: checking whether build environment is sane
    configure:2099: result: yes
    configure:2127: checking for a thread-safe mkdir -p
    configure:2166: result: /usr/bin/mkdir -p
    configure:2179: checking for gawk
    configure:2195: found /usr/bin/gawk
    configure:2206: result: gawk
    configure:2217: checking whether make sets $(MAKE)
    configure:2238: result: yes
    configure:2480: checking for gcc
    configure:2496: found /usr/bin/gcc
    configure:2507: result: gcc
    configure:2745: checking for C compiler version
    configure:2752: gcc --version >&5
    gcc (GCC) 4.8.0 20130502 (prerelease)
    Copyright (C) 2013 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:2755: $? = 0
    configure:2762: gcc -v >&5
    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper
    Target: x86_64-unknown-linux-gnu
    Configured with: /build/src/gcc-4.8-20130502/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --enable-gnu-unique-object --enable-linker-build-id --enable-cloog-backend=isl --disable-cloog-version-check --enable-lto --enable-gold --enable-ld=default --enable-plugin --with-plugin-ld=ld.gold --with-linker-hash-style=gnu --disable-install-libiberty --disable-multilib --disable-libssp --disable-werror --enable-checking=release
    Thread model: posix
    gcc version 4.8.0 20130502 (prerelease) (GCC)
    configure:2765: $? = 0
    configure:2772: gcc -V >&5
    gcc: error: unrecognized command line option '-V'
    gcc: fatal error: no input files
    compilation terminated.
    configure:2775: $? = 1
    configure:2798: checking for C compiler default output file name
    configure:2825: gcc -march=native -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wl, -O1,--sort-common,--as-needed,-z,relro -Wl,--no-as-needed conftest.c >&5
    cc1: error: argument to '-O' should be a non-negative integer, 'g', 's' or 'fast'
    configure:2828: $? = 1
    configure:2866: result:
    configure: failed program was:
    | /* confdefs.h. */
    | #define PACKAGE_NAME "epson-inkjet-printer-filter"
    | #define PACKAGE_TARNAME "epson-inkjet-printer-filter"
    | #define PACKAGE_VERSION "1.0.0"
    | #define PACKAGE_STRING "epson-inkjet-printer-filter 1.0.0"
    | #define PACKAGE_BUGREPORT "epson@localdomain"
    | #define PACKAGE "epson-inkjet-printer-filter"
    | #define VERSION "1.0.0"
    | /* end confdefs.h. */
    |
    | int
    | main ()
    | {
    |
    | ;
    | return 0;
    | }
    configure:2873: error: C compiler cannot create executables
    See `config.log' for more details.
    ## Cache variables. ##
    ac_cv_env_CCC_set=
    ac_cv_env_CCC_value=
    ac_cv_env_CC_set=
    ac_cv_env_CC_value=
    ac_cv_env_CFLAGS_set=set
    ac_cv_env_CFLAGS_value='-march=native -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4'
    ac_cv_env_CPPFLAGS_set=set
    ac_cv_env_CPPFLAGS_value=-D_FORTIFY_SOURCE=2
    ac_cv_env_CPP_set=
    ac_cv_env_CPP_value=
    ac_cv_env_CXXCPP_set=
    ac_cv_env_CXXCPP_value=
    ac_cv_env_CXXFLAGS_set=set
    ac_cv_env_CXXFLAGS_value='-march=native -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4'
    ac_cv_env_CXX_set=
    ac_cv_env_CXX_value=
    ac_cv_env_F77_set=
    ac_cv_env_F77_value=
    ac_cv_env_FFLAGS_set=
    ac_cv_env_FFLAGS_value=
    ac_cv_env_LDFLAGS_set=set
    ac_cv_env_LDFLAGS_value='-Wl, -O1,--sort-common,--as-needed,-z,relro -Wl,--no-as-needed'
    ac_cv_env_LIBS_set=
    ac_cv_env_LIBS_value=
    ac_cv_env_build_alias_set=
    ac_cv_env_build_alias_value=
    ac_cv_env_host_alias_set=
    ac_cv_env_host_alias_value=
    ac_cv_env_target_alias_set=
    ac_cv_env_target_alias_value=
    ac_cv_path_install='/usr/bin/install -c'
    ac_cv_path_mkdir=/usr/bin/mkdir
    ac_cv_prog_AWK=gawk
    ac_cv_prog_ac_ct_CC=gcc
    ac_cv_prog_make_make_set=yes
    ## Output variables. ##
    ACLOCAL='${SHELL} /home/liberato/Scaricati/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/missing --run aclocal-1.10'
    AMDEPBACKSLASH=''
    AMDEP_FALSE=''
    AMDEP_TRUE=''
    AMTAR='${SHELL} /home/liberato/Scaricati/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/missing --run tar'
    AR=''
    AUTOCONF='${SHELL} /home/liberato/Scaricati/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/missing --run autoconf'
    AUTOHEADER='${SHELL} /home/liberato/Scaricati/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/missing --run autoheader'
    AUTOMAKE='${SHELL} /home/liberato/Scaricati/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/missing --run automake-1.10'
    AWK='gawk'
    CC='gcc'
    CCDEPMODE=''
    CFLAGS='-march=native -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4'
    CORE_LIBRARY_PATH=''
    CORE_RESOURCE_PATH=''
    CPP=''
    CPPFLAGS='-D_FORTIFY_SOURCE=2'
    CUPS_IMAGE_LIBS=''
    CUPS_LIBS=''
    CUPS_SERVER_DIR=''
    CXX=''
    CXXCPP=''
    CXXDEPMODE=''
    CXXFLAGS='-march=native -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4'
    CYGPATH_W='echo'
    DEFS=''
    DEPDIR=''
    DL_LIBS=''
    DSYMUTIL=''
    ECHO='echo'
    ECHO_C=''
    ECHO_N='-n'
    ECHO_T=''
    EGREP=''
    EXEEXT=''
    F77=''
    FFLAGS=''
    GREP=''
    INSTALL_DATA='${INSTALL} -m 644'
    INSTALL_PROGRAM='${INSTALL}'
    INSTALL_SCRIPT='${INSTALL}'
    INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
    LDFLAGS='-Wl, -O1,--sort-common,--as-needed,-z,relro -Wl,--no-as-needed'
    LIBOBJS=''
    LIBS=''
    LIBTOOL=''
    LN_S=''
    LTLIBOBJS=''
    MAKEINFO='${SHELL} /home/liberato/Scaricati/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/missing --run makeinfo'
    NMEDIT=''
    OBJEXT=''
    PACKAGE='epson-inkjet-printer-filter'
    PACKAGE_BUGREPORT='epson@localdomain'
    PACKAGE_NAME='epson-inkjet-printer-filter'
    PACKAGE_STRING='epson-inkjet-printer-filter 1.0.0'
    PACKAGE_TARNAME='epson-inkjet-printer-filter'
    PACKAGE_VERSION='1.0.0'
    PATH_SEPARATOR=':'
    RANLIB=''
    SED=''
    SET_MAKE=''
    SHELL='/bin/sh'
    STDCPP_LIBS=''
    STRIP=''
    VERSION='1.0.0'
    ac_ct_CC='gcc'
    ac_ct_CXX=''
    ac_ct_F77=''
    am__fastdepCC_FALSE=''
    am__fastdepCC_TRUE=''
    am__fastdepCXX_FALSE=''
    am__fastdepCXX_TRUE=''
    am__include=''
    am__isrc=''
    am__leading_dot='.'
    am__quote=''
    am__tar='${AMTAR} chof - "$$tardir"'
    am__untar='${AMTAR} xf -'
    bindir='${exec_prefix}/bin'
    build=''
    build_alias=''
    build_cpu=''
    build_os=''
    build_vendor=''
    datadir='${datarootdir}'
    datarootdir='${prefix}/share'
    docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
    dvidir='${docdir}'
    exec_prefix='NONE'
    host=''
    host_alias=''
    host_cpu=''
    host_os=''
    host_vendor=''
    htmldir='${docdir}'
    includedir='${prefix}/include'
    infodir='${datarootdir}/info'
    install_sh='$(SHELL) /home/liberato/Scaricati/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/install-sh'
    libdir='${exec_prefix}/lib'
    libexecdir='${exec_prefix}/libexec'
    localedir='${datarootdir}/locale'
    localstatedir='${prefix}/var'
    mandir='${datarootdir}/man'
    mkdir_p='/usr/bin/mkdir -p'
    oldincludedir='/usr/include'
    pdfdir='${docdir}'
    prefix='/opt/epson-inkjet-printer-workforce-320-sx218'
    program_transform_name='s,x,x,'
    psdir='${docdir}'
    sbindir='${exec_prefix}/sbin'
    sharedstatedir='${prefix}/com'
    sysconfdir='${prefix}/etc'
    target_alias=''
    ## confdefs.h. ##
    #define PACKAGE_NAME "epson-inkjet-printer-filter"
    #define PACKAGE_TARNAME "epson-inkjet-printer-filter"
    #define PACKAGE_VERSION "1.0.0"
    #define PACKAGE_STRING "epson-inkjet-printer-filter 1.0.0"
    #define PACKAGE_BUGREPORT "epson@localdomain"
    #define PACKAGE "epson-inkjet-printer-filter"
    #define VERSION "1.0.0"
    configure: exit 77
    any idea to solve? I searched around but can not find anything.. :'(
    Last edited by liberato83 (2013-05-24 13:25:18)

    Are you using AUR https://aur.archlinux.org/packages/epso … 320-sx218/ ?
    I updated the PKGBUILD to remove the line that says 'gcc -V >&5'  from the configure file
    libtoolize
    sed -i 's/gcc -V >&5//' configure
    chmod +x configure
    but it still doesn't build:
    ==> Starting build()...
    libtoolize: putting auxiliary files in `.'.
    libtoolize: linking file `./ltmain.sh'
    libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
    libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
    libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking for gcc... gcc
    checking for C compiler default output file name... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables...
    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 for a BSD-compatible install... /usr/bin/install -c
    checking whether ln -s works... yes
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking for a sed that does not truncate output... /usr/bin/sed
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for /usr/bin/ld option to reload object files... -r
    checking for BSD-compatible nm... /usr/bin/nm -B
    checking how to recognize dependent libraries... pass_all
    checking how to run the C preprocessor... gcc -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 dlfcn.h usability... yes
    checking dlfcn.h presence... yes
    checking for dlfcn.h... yes
    checking for g++... g++
    checking whether we are using the GNU C++ compiler... yes
    checking whether g++ accepts -g... yes
    checking dependency style of g++... gcc3
    checking how to run the C++ preprocessor... g++ -E
    checking for g77... no
    checking for xlf... no
    checking for f77... no
    checking for frt... no
    checking for pgf77... no
    checking for cf77... no
    checking for fort77... no
    checking for fl32... no
    checking for af77... no
    checking for xlf90... no
    checking for f90... no
    checking for pgf90... no
    checking for pghpf... no
    checking for epcf90... no
    checking for gfortran... no
    checking for g95... no
    checking for xlf95... no
    checking for f95... no
    checking for fort... no
    checking for ifort... no
    checking for ifc... no
    checking for efc... no
    checking for pgf95... no
    checking for lf95... no
    checking for ftn... no
    checking whether we are using the GNU Fortran 77 compiler... no
    checking whether accepts -g... no
    checking the maximum length of command line arguments... 1572864
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for objdir... .libs
    checking for ar... ar
    checking for ranlib... ranlib
    checking for strip... strip
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC
    checking if gcc PIC flag -fPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking whether the gcc linker (/usr/bin/ld) 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 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
    configure: creating libtool
    appending configuration tag "CXX" to libtool
    checking for ld used by g++... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
    checking for g++ option to produce PIC... -fPIC
    checking if g++ PIC flag -fPIC works... yes
    checking if g++ static flag -static works... yes
    checking if g++ supports -c -o file.o... yes
    checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
    checking dynamic linker characteristics... GNU/Linux ld.so
    (cached) (cached) checking how to hardcode library paths into programs... immediate
    appending configuration tag "F77" to libtool
    checking for dlopen in -ldl... yes
    checking for ANSI C header files... (cached) yes
    checking fcntl.h usability... yes
    checking fcntl.h presence... yes
    checking for fcntl.h... yes
    checking for stdlib.h... (cached) yes
    checking for string.h... (cached) yes
    checking for unistd.h... (cached) yes
    checking for an ANSI C-conforming const... yes
    checking for size_t... yes
    checking return type of signal handlers... void
    checking for vprintf... yes
    checking for _doprnt... no
    checking for memset... yes
    checking for strdup... yes
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating src/Makefile
    config.status: creating src/raster/Makefile
    config.status: creating src/raster/blendSource/Makefile
    config.status: creating src/memory/Makefile
    config.status: creating src/pagemanager/Makefile
    config.status: creating src/filteropt/Makefile
    config.status: creating config.h
    config.status: executing depfiles commands
    cd . && /bin/sh /home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/missing --run automake-1.10 --gnu
    /home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/missing: line 54: automake-1.10: command not found
    WARNING: `automake-1.10' is missing on your system. You should only need it if
    you modified `Makefile.am', `acinclude.m4' or `configure.ac'.
    You might want to install the `Automake' and `Perl' packages.
    Grab them from any GNU archive site.
    cd . && /bin/sh ./config.status Makefile
    config.status: creating Makefile
    cd . && /bin/sh /home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/missing --run autoheader
    rm -f stamp-h1
    touch config.h.in
    cd . && /bin/sh ./config.status config.h
    config.status: creating config.h
    make all-recursive
    make[1]: Entering directory `/home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0'
    Making all in src
    make[2]: Entering directory `/home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/src'
    cd .. && /bin/sh ./config.status src/Makefile depfiles
    config.status: creating src/Makefile
    config.status: executing depfiles commands
    make[2]: Leaving directory `/home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/src'
    make[2]: Entering directory `/home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/src'
    Making all in memory
    make[3]: Entering directory `/home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/src/memory'
    cd ../.. && /bin/sh ./config.status src/memory/Makefile depfiles
    config.status: creating src/memory/Makefile
    config.status: executing depfiles commands
    make[3]: Leaving directory `/home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/src/memory'
    make[3]: Entering directory `/home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/src/memory'
    /bin/sh ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../ -D_FORTIFY_SOURCE=2 -fsigned-char -O2 -MT memory.lo -MD -MP -MF .deps/memory.Tpo -c -o memory.lo memory.c
    ../../libtool: line 482: CDPATH: command not found
    libtool: Version mismatch error. This is libtool 2.4.2, but the
    libtool: definition of this LT_INIT comes from an older release.
    libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2
    libtool: and run autoconf again.
    make[3]: *** [memory.lo] Error 63
    make[3]: Leaving directory `/home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/src/memory'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0/src'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/karol/test/foo/epson-inkjet-printer-workforce-320-sx218/src/epson-inkjet-printer-filter-1.0.0'
    make: *** [all] Error 2
    ==> ERROR: A failure occurred in build().
    Aborting...

  • Cc1plus: error: unrecognized command line option "-m64"

    I'm running a build script and getting the error below.. My colleges dont get that error building on ubuntu.. I'm running 64 bit arch..
    Could this be a missing package or something?
    cc1plus: error: unrecognized command line option "-m64"
    make[2]: *** [qlog.o] Error 1
    make[1]: *** [sub-common-core-all-ordered] Error 2
    make[1]: *** Waiting for unfinished jobs....

    but I've been trying to look at the build scripts and I cant find where it adds the -m64 option? Could it be that its added automaticaly by the arch build system somewhere?
    And the build script will always build 32 bit so I dont get why they would ever add the -m64 option in our script
    Last edited by nanook (2012-09-04 12:53:10)

  • Compiling failed with "unrecognized command line option '-Wl'" error

    Helllo,
    I have here a fresh installation of Archlinux and I fall into troubles with compiling a few of applications from AUR.
    The problem is this:
    gcc: error: unrecognized command line option ‘-Wl’
    It happens for example with bubblefishymod package from AUR. I've never seen this error.
    Any suggestion, what is wrong, please?
    I have 64bit Archlinux installation, intel core i5, base-devel package group is installed.

    Seems like a straightforward error message. Read about -Wl in "man gcc" if you want to know more.
    In the meantime, removing "-Wl" from the LDFLAGS in the Makefile (I used a sed line in the PKGBUILD) should allow you to compile it successfully. Whether or not it works as expected though, is another matter entirely. Contact the author and get him to fix his Makefile.

  • Exchange 2010 SP3 - "500 5.3.3 Unrecognized command" in SMTP Receive Log. Senders get message with the same problem

    Hi
    My exchange environment consist with "Server Exchange 2010 SP3" and "Edge Server with Exchange 2010 SP3".
    On Edge server in SMTP receive log i get every now and then an entry: xxxxxx 500 5.3.3 Unrecognized command.
    It is serius problem because I got few e-mails from senders that they had problem with sending e-mail messages to our e-mail domain. They receive e-mail report, for example
    Technical details of permanent failure:
    Google tried to deliver your message, but it was rejected by the server for the recipient domain domena.plby
    mail.domena.pl.
    [95.xxx.xxx.xx].
    The error that the other server returned was:
    500 5.3.3 Unrecognized command
    Could you help me to solve this problem? What could cause this problem?
    Thank you in advance
    Tomasz
    Kind Regards Tomasz

    I have the same issue, but there is plenty of hard disk storage on the Exchange Server. This seems to only be happening from Google Business account/ Postini. If I send message from my personal Gmail account it works fine, but an agency who is on Google
    business seems to have issues sending to us and they are delayed, sometimes they get through and other times they just don't. 
    Results from Mail Acceptance Test:
    I enter my internal address and the remote users postini account as the test setup I received two emails from the tool but the end results of the test are:
     Error submitting mail
            Mail submission failed: Error message: Syntax error, command unrecognized. The server response was: 5.3.3 Unrecognized command.
    Google support stated this:
    Here are the logs from Postini trying to connect to mydomain.com (IP x.x.x.x) :
    1. 2014/08/09 03:26:28 IP:209.85.218.50 SMTP-STLS:OK <null> TLSv1:RC4-SHA Validate:None 2. 2014/08/09 03:26:28 IP:209.85.218.50 SMTP LOG: Sender => FFD:MAIL FROM:<[email protected]>
    3. 2014/08/09 03:26:28 IP:209.85.218.50 Fdal:Customer has null root_iid outbound default at org 100000001 4, 2014/08/09 03:26:28 IP:209.85.218.50 SMTP LOG: Sender <= FFD:250 Ok 5. 2014/08/09 03:26:28 IP:209.85.218.50 SMTP LOG: Sender => FFD:RCPT TO:[email protected]>
    6. 2014/08/09 03:26:34 IP:209.85.218.50 To:[email protected] SMTP LOG: FFD => mydomain.com (x.x.x.x):Connection established 7. 2014/08/09 03:26:34 IP:209.85.218.50 To:[email protected] SMTP LOG: FFD <= mydomain.com (x.x.x.x):220 server.mydomain.com
    ESMTP Service ready 8. 2014/08/09 03:26:34 IP:209.85.218.50 To:[email protected] SMTP LOG: Sender <= FFD:250 Ok 9. 2014/08/09 03:26:35 IP:209.85.218.50 To:[email protected] SMTP LOG: Sender => FFD:968 last bytes of data with dot 10. 2014/08/09 03:28:05
    IP:209.85.218.50 To:[email protected] From:[email protected]:1119780 FP:2603ec6d38c69886eb1000e516fb745a0384e50b SMTP:Delivery still in progress after 90 seconds, recording FP 11. 2014/08/09 03:31:17 IP:209.85.218.50 To:[email protected] SMTP
    LOG: FFD => mydomain.com (x.x.x.x):failed to send the last period(.) 12. 2014/08/09 03:31:17 IP:209.85.218.50 To:[email protected] oremote:Skipping Archive for Sender because did not deliver message 13. 2014/08/09 03:31:17 IP:209.85.218.50 To:[email protected]
    SMTP:451 Remote connection lost - psmtp 14. 2014/08/09 03:31:17 IP:209.85.218.50 To:[email protected] SMTP LOG: Sender <= FFD:451 Remote connection lost - psmtp
    As you can see, on line 9, at 03:26:35, we declared to the receiving server what we were about to send. At the line number 10, almost two minutes passed without an authorization (250 OK) from the receiving server. You can see our status being pushed back
    at that moment to the receiving mail server: SMTP:Delivery still in progress after 90 seconds. Two more minutes later the connection was simply dropped and so we generated a 400 error message to encourage the sending server to try again later (since no bounce
    was given per say from the receiving server, we won't hard-bounce it but defer it).
    I hope this will help. you can try to look in the mydomain.com  inbound logs and see at that exact time what happened? Unfortunately, our visibility pretty much ends there as we don't have full visibility of your mail environment. You'll need to investigate
    within your own environment unfortunately. If you have any more information to share with me, in case it might help me help you, feel free to do so. I'll leave this case opened for now.
    Sincerely,
    Patricia
    Google Enterprise Support

  • Passing file location to script in Terminal

    Here's what I've figured out so far:
    tell application "Terminal"
    set Tiedosto to the selection
    do script "/Applications/VLC.app/Contents/MacOS/VLC -vvv " & Tiedosto & " --sub-track=1 --sout=\"#transcode{vcodec=mp2v,vb=1024,acodec=mpga,ab=128,soverlay}:standard{d st=/Users/Antti/Desktop/video.mpg,access=file}\""
    end tell
    The idea is that I could select a file from Finder, activate the script and the path of the selected file would be passed to the Terminal script as "Tiedosto".
    Well, nothing happens... Any suggestions?
    iMac Intel 2GHz   Mac OS X (10.4.7)  

    Your first problem is that you're getting the selection in Terminal.app, not the Finder, so you need to ask the Finder for the selection.
    Then, the Finder will return a list of selected items. You'll need to extract items from this list before you can use them. You can either iterate through the items, or take the first item, depending on whether you want to support multiple items:
    <pre class=command>tell application "Finder"
    set selectedItems to (get selection as alias list)
    repeat with eachItem in selectedItems
    set currentFilePath to quoted form of POSIX path of eachItem
    -- now you can use 'currentFilePath' in your do shell script command
    end repeat
    end tell</pre>
    The other option is to save the script as a droplet so that you can drag and drop files on the script icon. This is a more Mac-like experience and can easily be done by adding an 'on open (droppedFiles)' handler and iterating through the droppedFiles.
    Note that when doing this kind of thing you should add additional checks to validate the item is of the correct type you expect (e.g. you don't want to process a selected folder, MS Word document, JPEG image, etc., etc.).

  • Passing "-t" option to link-editor via CC

    Hi!
    Here is the simple task.
    we have some source file which is compiling with simple command:
    CC ./some_simple_file.C -lsome_lib -lanother_libCompilation process succed but we have the warning message:
    ld: warning: symbol ‘array’ has differing sizes:
    (file /path/libsome_lib.a value=0x4; file /path/libanother_lib.o value=0x8);
    /path/libsome_lib.a definition takenWell, apart from this warning - all works fine and the link-editor do matching symbol correctly in this case.
    To do not confuse users/parsers/mgrs team - we decided to remove this warning. Ok, here is a quote from sun linker document about "how to remove such warning" in section "Symbols Processing"->"Complex resolution":
    +....In both of these cases, the diagnostic can be suppressed by using the link-editor's -t option....+
    Thats nice! Lets go with this new option:
    CC -t ./some_simple_file.C -lsome_lib -lanother_libWe finally removed warning. But...oops! weve got another one!
    CC: Warning: Option -t passed to ld, if ld is invoked, ignored otherwiseQuestion! How we can pass -t option to the link-editor via CC cmd call and without any warnings?

    There doesn't seem to be a way to pass -t to the linker without the warning. You could file a request for enhancement via your Oracle support channel, if you have a service contract. Or you could file one at [http://bugs.sun.com]. (I'm not sure if that site is still active.)
    The best solution is to fix the problem and eliminate the reason for the warning, by making the declarations consistent. You might suppress warnings that matter if you always use -t.

  • How to pass variables to shell script?

    I have a shell script which uses the touch command to change the date of a file.  To run the command on the command line the syntax is:
    set-file-date.sh <file> <date>
    I'm trying to run it from an automator workflow, so I'm prompted for the date, then the workflow iterates over the finder items, i.e., files, and changes the date of each files.
    The problem is in the "Run Shell Script" action.  The $@ is substituted with the file names selected in finder, so this will echo the file names:
    for i in "$@"; do
         echo "$i"
    done
    What I want to do is something like this:
    for i in "$@"; do
         set-file-date.sh <DATE VARIABLE> "$i"
    done
    But I can't prompt for the date value, and pass it to the script.  I've tried using the "Get Value of Variable" and the "Ask For Text" actions.  I can either get the file names from finder OR the text input in the "Ask for Text" action, but not both.
    Is what I'm trying to do possible with a shell script?
    -Thanks

    This is standard AppleScript text concatenation...
    set howManyWords to do shell script "wc -w /path/to/file | awk '{print $1}'"
    do shell script "/usr/local/bin/growlnotify -t 'Corpus' -m '" & howManyWords & " words were added to the corpus.'"
    in other words, just use the & to concatenate the parts of your text together.

  • Passing Select-options as parameter to function module

    I need to pass a select-option as a parameter to a function module. Is this possible?
    There is an option of passing all the values of the select-option to an internal table, passing that internal table as parameter to the function module, and then adding it manually again to a select-option in the function module.
    But is there any direct way to do this?

    Hi,
    I have a similar problem: I have RFC function module to which I want to pass select options. Therefore I defined table parameters as follows:
    IT_RUNID     TYPE     EFG_TAB_RANGES
    IT_PERNR      TYPE     EFG_TAB_RANGES
    IT_REINR     TYPE     EFG_TAB_RANGES
    I can successfully pass my values to the module, but if I try to check these parameters
    using
    CHECK IT_TRIPS-RUNID IN IT_RUNID.
        CHECK IT_TRIPS-PERNR IN IT_PERNR.
        CHECK IT_TRIPS-REINR IN IT_REINR.
    the check always fails, I guess because there are leading zeros in the ranges. Is there a way to solve this problem?
    Thanks and regards,
    Martin

  • Passing SELECT-OPTIONS value to Function Module

    Hi,
    I need to pass select-options value to a function module.
    Code is like the following:
    SELECT-OPTIONS seltab FOR object-type.
    CALL FUNCTION 'Z_MY_FM'
          EXPORTING
            sel_tab         = seltab
         IMPORTING
            result_tab     = it_result
    I have found a similar problem in the SDN forum: How to pass select-options parameter to FM?
    However, that could not help me much in solving my problem.
    So far I have tried to created a structure in DDIC with the following components for the select-options:
    SIGN - BAPISIGN
    OPTION - BAPIOPTION
    LOW - ZBWOBJECTTYPE (my type)
    HIGH - ZBWOBJECTTYPE (my type)
    and subsequently a table type for this structure which is specified in the "Import" tab of my function module.
    Unfortunately, when I ran the program a runtime exception occured (CALL_FUNCTION_CONFLICT_TYPE).
    Could anyone please help me on this issue?
    Thanks in advance.
    Regards,
    Joon Meng

    Hello Joon,
    CALL FUNCTION 'Z_MY_FM'
          EXPORTING
            sel_tab         = seltab
         IMPORTING
            result_tab     = it_result
    You have defined SELTAB as a SELECT-OPTION.
    So when you pass only SELTAB, the header line is transferred to the FM. When you pass SELTAB[] the whole table(range) is passed.
    It is similar to the concept of an internal table with header line.
    Hope i am clear.
    Anyways how have you defined result_tab and sel_tab ?
    BR,
    Suhas

  • What are alternatives for passing DB credentials to rwrun/rwclient command line instead of USERID parameter?

    What are alternatives for passing DB credentials to rwrun/rwclient command line instead of USERID parameter?
    As per application security, the DB details should be mentioned in command line.
    I am looking for alternatives which I can use?
    Please help.
    Regards
    Gaurav Anand

    If you want a database username/password for every user that runs a report, you need to include un/pw in the command.
    An option that you see quite often is that Reports use a general database user to run any report. In that case you can include the un/pw of this special user in the Key Map File:
    http://docs.oracle.com/cd/E17904_01/bi.1111/b32121/pbr_run013.htm#RSPUB23557
    Of course, in that case you need an application in front of the call to the report to check if the user is allowed to run the report. This is how most web applications work anyway: there is one database user, and application users are maintained in the application itself.
    Or you can use single sign on:
    http://docs.oracle.com/cd/E24269_01/doc.11120/e24479/pbr_sso002.htm#RSPUB23512

  • JavaScript for Automation Cannot Use Scripting Addition Commands

    Attempting to recreate the example script for Messages called "Speak Events" with the new JavaScript for Automation in Yosemite, I found that it is impossible to use any scripting addition commands. For example:
    Messages = Application.currentApplication()
    Messages.includeStandardAdditions = true
    function messageReceived(m, e) {
         Messages.say(m)
    I have removed all the other (annoyingly) necessary function overrides for brevity. Similar AppleScript code functions just fine, but this will result in a privilege error because the system wrongly categorizes it as being sent cross-application. Is there any estimate on a bug fix for this?
    I've tried everything I can think of to work around this issue, even adding /usr/bin/osascript to the Security & Privacy Accessibility listing ("Allow the apps below to control your computer") which is not possible without editing the SQLite DB.
    The documentation included in Script Editor is also woefully inadequate, lacking a readable listing of what exactly is being passed into the handler function. How can I translate an AppleScript line like "received theMessage from theBuddy for theChat with eventDescription" into a reasonable function signature for JavaScript?

    It is a big SDK and to learn its features requires a lot of reading. But to start with I guess I should start with "Introduction to SDK".
    Since you want to control Acrobat from another application you should consider this under "Interapplication communication". You will be using OLE/COM.

  • [solved] Dvd Drive detection in script - how?????

    As the header says. Is there an easy way to detect if an unmounted disc is in my dvd drive, from within a bash script?
    Last edited by orphius1970 (2010-06-28 20:11:29)

    Brisbin,
    The first one is what I need. How would I work that into conky? I want to have a message display when a disc is on
    drive or if not. Something like:
    Disc
    NoDisc
    I know I can use the if_mounted option in conky. I really want to know if there is disk in drive, even when not mounted
    First one seems to not work
    NEW!
    I just discovered that when a cd or dvd is inserted. Folder "/dev/dvd/by-label" is created and removed when disk is ejected.
    So I have the following script.
    #!/bin/bash
    directory="/dev/dvd/by-label"
    # bash check if directory exists
    if [ -d $directory ]; then
    echo "Directory Exists"
    else
    echo "Directory does not exists"
    fi
    How would I alter this to work inside conky?
    SOLVED IT!!
    Changed script to:
    #!/bin/bash
    directory="/dev/dvd/by-label"
    # bash check if directory exists
    if [ -d $directory ]; then
    echo "+ Dvd +"
    else
    echo "- Dvd -"
    fi
    + = disc in drive
    - = disc not in drive
    Added it to conky with ${exec script}
    Last edited by orphius1970 (2010-06-28 20:11:01)

  • Executing sql scripts with command line Sql plus

    Hello
    Well I will be gradefull if I have an answer to the follow questions
    a) How can I connect to a remote XE using sqlplus (command line)?
    for example I'm trying to connect like this : sqlplus sys/syspassw@//remoteserver:1521/xe
    and I get responce from server that I have to connect as SYSDBA or SYSOPER, so what is the proper syntax in this case?
    b) I want to execute a script file with DDL commands from Windows conscole using sqlplus. Inside this script I have the connect command and others. Is there a way to pass the name of script file as parameter to the sqlplus and execute it ? If yes what is the proper syntac from command line of Windows?
    Thank you

    There are two ways to do that...
    Either use the spool command in sqlplus, or on your command line calling sqlplus use a >> to direct the output to a file. Usually the spool is cleaner.
    It goes like this:
    spool C:\logfile.txt
    {sql commands here}
    spool off
    or
    sqlplus /nolog @sqlfile.sql >> C:\logfile.txt
    The output will be formatted slightly differently, and if you use the DOS method you won't be able to see the output as it's running.
    ~Jer

  • Running Oracle Scripts from Command Line

    Hi,
    How can i run Oracle scripts from command line.
    Actually i need to run these scripts from MSBuild before running Unit test projects

    C:\>sqlplus @myscript
    That would be the easiest variation
    C:\>sqlplus user/passwd@tns_alias @myscript
    would be an often used variation
    And then there is of course the version with parameter passing:
    C:\>sqlplus user/passwd@tns_alias @myscript param1 ... paramx
    Dunno about MSBuild

Maybe you are looking for