help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: inadequate/inconsisten 'help pkg' message; problems with downloading


From: Sergei Steshenko
Subject: Re: inadequate/inconsisten 'help pkg' message; problems with downloading
Date: Sun, 14 Aug 2011 12:29:50 -0700 (PDT)


--- On Wed, 8/3/11, Sergei Steshenko <address@hidden> wrote:

> From: Sergei Steshenko <address@hidden>
> Subject: Re: inadequate/inconsisten 'help pkg' message; problems with 
> downloading
> To: address@hidden
> Date: Wednesday, August 3, 2011, 10:01 AM
> Trying to compile 'symbolic' package
> I've noticed two problems:
> 
> 1) it doesn't compile;
> 2) apparently wrong order of messages - please see in the
> attached file:
> 
> "
>      49 symbols.cc: In function
> ‘octave_value_list Fsubs(const octave_value_list&,
> int)’:
>      50 symbols.cc:376:17: error:
> ‘const class octave_value’ has no member named
> ‘is_list’
>      51 make: *** [symbols.o] Error 1
>      52 'make' returned the following
> error: make: Entering directory
> `/tmp/oct-XTeaMy/symbolic-1.0.9/src'
>      53 mkoctfile -v    -c
> symbols.cc
> "
> 
> - I think first there should be
> 
> mkoctfile -v    -c symbols.cc
> 
> and then the error message.
> 
> I've looked into source of 'pkg.m' and, if I understand
> correctly, it
> prints its messages stdout. While the compiler (g++/gcc)
> prints messages
> to stderr.
> 
> I've seen "countless" cases like this - because of mixture
> of stdout and
> stderr order of messages is violated. This is because by
> default stdout
> is buffered and stderr is unbuffered.
> 
> So, if my understandings are correct, it's a bug in 'pkg.m'
> and maybe
> other files - stdout output should be replaced with stderr
> one.
> 
> Regards,
>   Sergei.
> 


I have further investigated the issue of deletion of temporary directories
- this failing to compile package is a good test case for this.

I know realize that temporary directories are always deleted, even if
a package fails during 'configure' or 'make' stage, and I think this
is wrong. For example, 'configure' may fail because an environment
variable is not set - debugging all this requires 'configure' reruns.

Also, the exact cause of failure can often be found by looking into
'config.log' file.

So I've changed 'pkg.m' code in a manner that now temporary directory is
not deleted.

In the original 'octave-3.4.2/share/octave/3.4.2/m/pkg/pkg.m' file one
can see the following piece of code:

    777   ## Prepare each package for installation.
    778   try
    779     for i = 1:length (descriptions)
    780       desc = descriptions{i};
    781       pdir = packdirs{i};
    782       prepare_installation (desc, pdir);
    783       configure_make (desc, pdir, verbose);
    784     endfor
    785   catch
    786     ## Something went wrong, delete tmpdirs.
    787     for i = 1:length (tmpdirs)
    788       rm_rf (tmpdirs{i});
    789     endfor
    790     rethrow (lasterror ());
    791   end_try_catch

- this code runs 'configure' and 'make' and deletes temporary directories.

The changed by me piece of code looks this way:

  ## Prepare each package for installation.
  try
    for i = 1:length (descriptions)
      desc = descriptions{i};
      pdir = packdirs{i};
      prepare_installation (desc, pdir);
      configure_make (desc, pdir, verbose);
    endfor
  catch
    ## Something went wrong, delete tmpdirs.
    fprintf(stderr, "error: something went wrong during execution of 
'configure' or 'make'\n");
    fprintf(stderr, "the following directories might contain useful for 
debugging info - delete them manually when you're done debugging\n");
    for i = 1:length (tmpdirs)
      fprintf(stderr, "directory of interest for debugging: %s\n", tmpdirs{i});
    endfor

    fprintf(stderr, "END OF directories of interest for debugging\n\n");
    rethrow (lasterror ());
  end_try_catch
.

Below one can see an excerpt from screen session to see how the code
works.

...

I've debugged other problems, and, as I constantly write, there will be
a complete reworked 'pkg.m' attached, but now I am strongly sure the
whole issue package management should be _redefined_. So, even  though
the reworked 'pkg.m' works much better than the original for me, a true
solution is new package management spec first, and only then an
implementation.

Regards,
  Sergei.


Screen session excerpt BEGIN

error: something went wrong during execution of 'configure' or 'make'
the following directories might contain useful for debugging info - delete them 
manually when you're done debugging
directory of interest for debugging: 
/mnt/sdb8/sergei/AFSWD_debug/build/octave_forge_bundle/oct-DjBSyX
END OF directories of interest for debugging

'make' returned the following screen output: make: Entering directory 
`/mnt/sdb8/sergei/AFSWD_debug/build/octave_forge_bundle/oct-DjBSyX/symbolic-1.0.9/src'
mkoctfile -v    -c symbols.cc
g++ -c -I/mnt/sdb8/sergei/AFSWD_debug/20110601/AMD-2.2.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/CAMD-2.2.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/CCOLAMD-2.7.2/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/CHOLMOD-1.7.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/COLAMD-2.7.2/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/CXSparse-2.2.4/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/GConf-2.24.0/include/gconf/2 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/GraphicsMagick-1.3.12/include/GraphicsMagick
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/ORBit2-2.14.18/include/orbit-2.0 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/ORBit2-2.14.18/include/orbit-2.0/ORBitservices
 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/ORBit2-2.14.18/include/orbit-2.0/orbit-idl
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/SDL-1.2.14/include/SDL 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/UFconfig-3.5.0/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/UMFPACK-5.5.0/include
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/atk-1.30.0/include/atk-1.0 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/atlas-3.8.4/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/autogen-5.11.8/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/binutils-2.21/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/bzip2-1.0.6/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/c-ares-1.7.4/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/cairo-1.10.2/include/cairo 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/cln-1.3.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/cloog-ppl-0.15.11/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/cups-1.4.7-source/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/curl-7.21.6/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/dbus-1.4.12/include/dbus-1.0 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/dbus-1.4.12/lib/dbus-1.0/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/dbus-glib-0.88/include/dbus-1.0 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/dejagnu-1.4.4/include
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/expat-2.0.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/expect-5.44.1.15/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/fftw3_sse-3.2.2/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/fftw3_sse2-3.2.2/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/flex-2.5.35/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/fltk-1.3.0-source/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/fontconfig-2.8.0/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/freetype-2.4.6/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/freetype-2.4.6/include/freetype2 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gc-7.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gcc-4.5.3/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gd-2.0.35/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gettext-0.18/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/ginac-1.5.8/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/glib-2.24.2/include/gio-unix-2.0/
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/glib-2.24.2/include/glib-2.0 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/glib-2.24.2/lib/glib-2.0/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/glpk-4.44/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gmp-4.3.2/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gnome-vfs-2.24.3/include/gnome-vfs-2.0 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gnome-vfs-2.24.3/include/gnome-vfs-module-2.0
 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gnome-vfs-2.24.3/lib/gnome-vfs-2.0/include
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/gnutls-2.12.3/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/graphviz-2.26.3/include/graphviz 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gsl-1.14/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gtk+-2.20.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gtk+-2.20.1/include/gail-1.0 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gtk+-2.20.1/include/gtk-2.0
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/gtk+-2.20.1/include/gtk-unix-print-2.0 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/gtk+-2.20.1/lib/gtk-2.0/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/guile-1.8.8/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/hdf5-1.8.7/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/ilmbase-1.0.1/include/OpenEXR 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/jasper-1.900.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/jbig2dec-0.11/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/jbigkit-2.0/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/lcms-2.0/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libIDL-0.8.14/include/libIDL-2.0 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libart_lgpl-2.3.21/include/libart-2.0 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libbonobo-2.24.3/include/bonobo-activation-2.0
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/libbonobo-2.24.3/include/libbonobo-2.0
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/libcroco-0.6.2/include/libcroco-0.6 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libelf-0.8.13/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libelf-0.8.13/include/libelf 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libffi-3.0.9/lib/libffi-3.0.9/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libfpx-1.3.0-2/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libgcrypt-1.4.6/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libgpg-error-1.8/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libgsf-1.14.18/include/libgsf-1 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libiconv-1.13.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libiconv_pre-1.13.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libidn-1.19/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libjpeg-8b/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libpng-1.4.8/include/libpng14 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/librsvg-2.32.1/include/librsvg-2.0
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/libtasn1-2.9/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libtool-2.4/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libunistring-0.9.3/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libusb-1.0.8/include/libusb-1.0 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libwmf-0.2.8.4/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/libxml2-2.7.8/include/libxml2 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/lzo-2.03/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/metis-4.0.3/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/mpc-0.8.2/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/mpeg2dec-0.4.1/include/mpeg2dec 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/mpfr-2.4.2/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/ncurses-5.8/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/ncurses-5.8/include/ncurses 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/netcdf-4.1.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/nettle-2.1/include
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/octave-3.4.2/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/openexr-1.6.1/include/OpenEXR 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/openssl-1.0.0d/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/pango-1.28.4/include/pango-1.0 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/pcre-8.12/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/pixman-0.22.2/include/pixman-1 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/poppler-0.16.7/include/poppler 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/poppler-0.16.7/include/poppler/cpp 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/popt-1.16/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/ppl-0.11.2/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/qhull-2003.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/readline-6.2/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/sane-backends-1.0.22/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/szip-2.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/tcl-8.5.9/include
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/tiff-3.9.1/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/wxWidgets-2.8.12/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/xz-5.0.3/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/zlib-1.2.5/include -fPIC 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/octave-3.4.2/include/octave-3.4.2/octave/..
 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/octave-3.4.2/include/octave-3.4.2/octave
 -I/mnt/sdb8/sergei/AFSWD_debug/20110601/octave-3.4.2/include -mieee-fp 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/pcre-8.12/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/freetype-2.4.6/include/freetype2 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/freetype-2.4.6/include 
-I/mnt/sdb8/sergei/AFSWD_debug/20110601/fontconfig-2.8.0/include -march=native 
-mtune=native -ftree-vectorize -mfpmath=sse,387 -O2 symbols.cc -o symbols.o
symbols.cc: In function ‘octave_value_list Fsubs(const octave_value_list&, 
int)’:
symbols.cc:376:17: error: ‘const class octave_value’ has no member named 
‘is_list’
make: *** [symbols.o] Error 1
make: Leaving directory 
`/mnt/sdb8/sergei/AFSWD_debug/build/octave_forge_bundle/oct-DjBSyX/symbolic-1.0.9/src'
error: called from `pkg>configure_make' in file 
/mnt/sdb8/sergei/AFSWD_debug/20110601/octave-3.4.2/share/octave/3.4.2/m/pkg/pkg.m
 near line 1387, column 9
error: called from:
error:   
/mnt/sdb8/sergei/AFSWD_debug/20110601/octave-3.4.2/share/octave/3.4.2/m/pkg/pkg.m
 at line 800, column 5
error:   
/mnt/sdb8/sergei/AFSWD_debug/20110601/octave-3.4.2/share/octave/3.4.2/m/pkg/pkg.m
 at line 366, column 9

Screen session excerpt END





reply via email to

[Prev in Thread] Current Thread [Next in Thread]