bugGNU Octave - Bugs: bug #50980, database package release does not...

 
 

bug #50980: database package release does not include built texinfo docs

Submitter:  None
Submitted:  Tue 09 May 2017 07:23:20 AM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Installation Failure
Status:  Fixed Assigned to:  None
Originator Name:  Jaehyun Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * 4.2.1
Operating System:  * Microsoft Windows Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Thu 20 Jul 2017 09:45:36 AM UTC, comment #6: 

This has been done now.

Olaf Till <i7tiol>
Group Member
Wed 17 May 2017 05:37:01 PM UTC, comment #5: 

Sounds good, we can mark this fixed when you update the makefile to ensure the files are included in the release.

Mike Miller <mtmiller>
Group Member
Wed 17 May 2017 10:32:26 AM UTC, comment #4: 

I seem to have missed something when making the release, doc/database.texi and doc/database.info were actually meant to be included. I'll take care that they'll be really included in the next release.

Mike: Thanks for trying to narrow the cause. As for your recommendation, indeed I think it's better that I limit my efforts regarding Windows to fixes needed for distributing a binary.

Olaf Till <i7tiol>
Group Member
Tue 16 May 2017 07:58:16 PM UTC, comment #3: 

My recommendation would be to include doc/database.texi and doc/database.info in the source release tarball. These files do not need to be rebuilt by every user at package install time, it should save time and hassle, and obviously the steps needed to extract doc strings from .cc files is complicated enough that it is causing problems for some users.

Mike Miller <mtmiller>
Group Member
Tue 16 May 2017 07:50:15 PM UTC, comment #2: 

Olaf - doc/database.info is not included in database-2.4.2.tar.gz, only doc/database.txi is. So any user installing the database package with pkg will have to fully rebuild the documentation. I don't think there's any mystery about Windows there.

The only unknown here seems to be that one of the steps going from .cc and .txi to database.info is failing, probably the complicated commands that are extracting the DEFUN doc strings from the .cc files into .cc.docstrings files. These files are probably ending up empty, which explains the makeinfo error messages.

If you care to debug this, you could try to figure out why that complicated pipeline is failing, or we could close this as won't fix if you don't think it's worth pursuing.

To the OP - Octave 4.2.1 comes with the database package version 2.4.2 already installed and ready to use, all you need to do is load it after starting Octave.

Mike Miller <mtmiller>
Group Member
Tue 09 May 2017 08:33:06 AM UTC, comment #1: 

Thanks for following my request and submitting this report, with OS information. I assume you are using the Octave binary bundled with mingw, available at the Octave website.

Windows is a typical case where pre-building the package documentation should be useful, to avoid problems.

It seems that the pre-build documentation, contained in the released package, is ignored, and documentation is attempted to be rebuilt. This should not happen. Does the mingw environment set make options like '-B' to unconditionally rebuild everything?

I think the database package is contained in the Octave bundle for windows in binary form. Your best bet should be using this.

Olaf Till <i7tiol>
Group Member
Tue 09 May 2017 07:23:20 AM UTC, original submission:  


OS - Windows 10
Octave version - 4.2.1
PostgreSQL version - 9.6.2

When I tried to install Database package in Octave from forge with the function

pkg install -forge database

the error message came and failed to install the package.

Could you give some advice on this matter?

Thanks for your help.

Jaehyun Shin.

The full error message :
                         ../doc/database.texi:322: @ref reference to nonexistent node `XREFbytea2var' (possibly involving @seealso)
../doc/database.texi:341: @ref reference to nonexistent node `XREFvar2bytea' (possibly involving @seealso)
../doc/database.texi:599: @ref reference to nonexistent node `XREFpq_update_types' (possibly involving @seealso)
../doc/database.texi:739: @ref reference to nonexistent node `XREFpq_update_types' (possibly involving @seealso)
../doc/database.texi:739: @ref reference to nonexistent node `XREFpq_conninfo' (possibly involving @seealso)
make: * [../doc/database.info] Error 1
make: Entering directory `/tmp/oct-38tAEg/database-2.4.2/src'
./mkdoc.pl  ../inst/__all_db_opts__.m ../inst/database_doc.m ../inst/getdbopts.m ../inst/pq_connect.m ../inst/pq_exec_params.m ../inst/pq_lo_view.m ../inst/setdbopts.m > MFDOCSTRINGS
if grep -q DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS pq_close.cc; then echo "The string 'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in pq_close.cc."; exit 1; fi
if grep -q DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS pq_close.cc; then echo "The string 'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in pq_close.cc."; exit 1; fi
(echo "#include <stdio.h>"; echo "int main () {"; sed -e s/DEFUN_DLD/DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g -e s/DEFUNX_DLD/DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g pq_close.cc | g++ -std=gnu++11 -E `C:/Octave/OCTAVE~1.1/bin/mkoctfile-4.2.1.exe -p INCFLAGS` -I`pg_config --includedir` -x c++ -iquote '.' -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' -D'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,fname,gname,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' - | sed -e '/.*DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/!D'; echo "}";) | g++ -x c++ -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)=printf("%c" #name "\n@c " #name " pq_close.cc\n" doc "\n\n", 0x1D);' -o pq_close.bin -
(echo "### This file is generated automatically from the"; echo "### corresponding .cc file by a Makefile rule."; echo ""; ./pq_close.bin) > pq_close.cc.docstrings
if grep -q DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS pq_exec.cc; then echo "The string 'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in pq_exec.cc."; exit 1; fi
if grep -q DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS pq_exec.cc; then echo "The string 'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in pq_exec.cc."; exit 1; fi
(echo "#include <stdio.h>"; echo "int main () {"; sed -e s/DEFUN_DLD/DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g -e s/DEFUNX_DLD/DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g pq_exec.cc | g++ -std=gnu++11 -E `C:/Octave/OCTAVE~1.1/bin/mkoctfile-4.2.1.exe -p INCFLAGS` -I`pg_config --includedir` -x c++ -iquote '.' -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' -D'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,fname,gname,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' - | sed -e '/.*DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/!D'; echo "}";) | g++ -x c++ -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)=printf("%c" #name "\n@c " #name " pq_exec.cc\n" doc "\n\n", 0x1D);' -o pq_exec.bin -
(echo "### This file is generated automatically from the"; echo "### corresponding .cc file by a Makefile rule."; echo ""; ./pq_exec.bin) > pq_exec.cc.docstrings
if grep -q DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS pq_update_types.cc; then echo "The string 'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in pq_update_types.cc."; exit 1; fi
if grep -q DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS pq_update_types.cc; then echo "The string 'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in pq_update_types.cc."; exit 1; fi
(echo "#include <stdio.h>"; echo "int main () {"; sed -e s/DEFUN_DLD/DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g -e s/DEFUNX_DLD/DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g pq_update_types.cc | g++ -std=gnu++11 -E `C:/Octave/OCTAVE~1.1/bin/mkoctfile-4.2.1.exe -p INCFLAGS` -I`pg_config --includedir` -x c++ -iquote '.' -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' -D'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,fname,gname,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' - | sed -e '/.*DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/!D'; echo "}";) | g++ -x c++ -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)=printf("%c" #name "\n@c " #name " pq_update_types.cc\n" doc "\n\n", 0x1D);' -o pq_update_types.bin -
(echo "### This file is generated automatically from the"; echo "### corresponding .cc file by a Makefile rule."; echo ""; ./pq_update_types.bin) > pq_update_types.cc.docstrings
if grep -q DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS pq_lo.cc; then echo "The string 'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in pq_lo.cc."; exit 1; fi
if grep -q DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS pq_lo.cc; then echo "The string 'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in pq_lo.cc."; exit 1; fi
(echo "#include <stdio.h>"; echo "int main () {"; sed -e s/DEFUN_DLD/DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g -e s/DEFUNX_DLD/DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g pq_lo.cc | g++ -std=gnu++11 -E `C:/Octave/OCTAVE~1.1/bin/mkoctfile-4.2.1.exe -p INCFLAGS` -I`pg_config --includedir` -x c++ -iquote '.' -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' -D'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,fname,gname,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' - | sed -e '/.*DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/!D'; echo "}";) | g++ -x c++ -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)=printf("%c" #name "\n@c " #name " pq_lo.cc\n" doc "\n\n", 0x1D);' -o pq_lo.bin -
(echo "### This file is generated automatically from the"; echo "### corresponding .cc file by a Makefile rule."; echo ""; ./pq_lo.bin) > pq_lo.cc.docstrings
if grep -q DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS pq_conninfo.cc; then echo "The string 'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in pq_conninfo.cc."; exit 1; fi
if grep -q DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS pq_conninfo.cc; then echo "The string 'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in pq_conninfo.cc."; exit 1; fi
(echo "#include <stdio.h>"; echo "int main () {"; sed -e s/DEFUN_DLD/DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g -e s/DEFUNX_DLD/DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g pq_conninfo.cc | g++ -std=gnu++11 -E `C:/Octave/OCTAVE~1.1/bin/mkoctfile-4.2.1.exe -p INCFLAGS` -I`pg_config --includedir` -x c++ -iquote '.' -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' -D'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,fname,gname,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' - | sed -e '/.*DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/!D'; echo "}";) | g++ -x c++ -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)=printf("%c" #name "\n@c " #name " pq_conninfo.cc\n" doc "\n\n", 0x1D);' -o pq_conninfo.bin -
(echo "### This file is generated automatically from the"; echo "### corresponding .cc file by a Makefile rule."; echo ""; ./pq_conninfo.bin) > pq_conninfo.cc.docstrings
if grep -q DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS var2bytea.cc; then echo "The string 'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in var2bytea.cc."; exit 1; fi
if grep -q DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS var2bytea.cc; then echo "The string 'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in var2bytea.cc."; exit 1; fi
(echo "#include <stdio.h>"; echo "int main () {"; sed -e s/DEFUN_DLD/DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g -e s/DEFUNX_DLD/DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g var2bytea.cc | g++ -std=gnu++11 -E `C:/Octave/OCTAVE~1.1/bin/mkoctfile-4.2.1.exe -p INCFLAGS` -I`pg_config --includedir` -x c++ -iquote '.' -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' -D'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,fname,gname,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' - | sed -e '/.*DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/!D'; echo "}";) | g++ -x c++ -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)=printf("%c" #name "\n@c " #name " var2bytea.cc\n" doc "\n\n", 0x1D);' -o var2bytea.bin -
(echo "### This file is generated automatically from the"; echo "### corresponding .cc file by a Makefile rule."; echo ""; ./var2bytea.bin) > var2bytea.cc.docstrings
if grep -q DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS bytea2var.cc; then echo "The string 'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in bytea2var.cc."; exit 1; fi
if grep -q DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS bytea2var.cc; then echo "The string 'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS' must not be present in source code, but is in bytea2var.cc."; exit 1; fi
(echo "#include <stdio.h>"; echo "int main () {"; sed -e s/DEFUN_DLD/DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g -e s/DEFUNX_DLD/DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/g bytea2var.cc | g++ -std=gnu++11 -E `C:/Octave/OCTAVE~1.1/bin/mkoctfile-4.2.1.exe -p INCFLAGS` -I`pg_config --includedir` -x c++ -iquote '.' -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' -D'DEFUNX_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,fname,gname,args,nargout,doc)=DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)' - | sed -e '/.*DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS/!D'; echo "}";) | g++ -x c++ -D'DEFUN_DLD_REPLACEMENT_FOR_PACKAGE_DOCS(name,doc)=printf("%c" #name "\n@c " #name " bytea2var.cc\n" doc "\n\n", 0x1D);' -o bytea2var.bin -
(echo "### This file is generated automatically from the"; echo "### corresponding .cc file by a Makefile rule."; echo ""; ./bytea2var.bin) > bytea2var.cc.docstrings
./munge-texi.pl MFDOCSTRINGS pq_close.cc.docstrings pq_exec.cc.docstrings pq_update_types.cc.docstrings pq_lo.cc.docstrings pq_conninfo.cc.docstrings var2bytea.cc.docstrings bytea2var.cc.docstrings < ../doc/database.txi > ../doc/database.texi
makeinfo ../doc/database.texi -o ../doc/database.info
rm MFDOCSTRINGS bytea2var.bin pq_conninfo.bin bytea2var.cc.docstrings pq_conninfo.cc.docstrings pq_exec.bin var2bytea.cc.docstrings pq_exec.cc.docstrings pq_lo.bin pq_update_types.bin pq_close.cc.docstrings pq_lo.cc.docstrings pq_update_types.cc.docstrings pq_close.bin var2bytea.bin
make: Leaving directory `/tmp/oct-38tAEg/database-2.4.2/src'

pkg: error running `make' for the database package.
error: called from
    configure_make at line 95 column 9
    install at line 192 column 7
    pkg at line 394 column 9

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by i7tiol (Posted a comment)
  • -email is unavailable- added by None (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-07-20 mtmiller StatusConfirmed Fixed
        Open/ClosedOpen Closed
    2017-05-17 mtmiller StatusNeed Info Confirmed
        SummaryInstall-error of Octave Database package database package release does not include built texinfo docs
    2017-05-16 mtmiller StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code