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

 
 

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

Submitted by:  None
Submitted on:  Tue 09 May 2017 07:23:20 AM UTC  
 
Category: Octave Forge PackageSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Installation Failure
Status: FixedAssigned to: None
Originator Name: JaehyunOriginator Email: -unavailable-
Open/Closed: ClosedRelease: 4.2.1
Operating System: Microsoft Windows

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

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

This has been done now.

Olaf Till <i7tiol>
Project 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>
Project Administrator
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>
Project 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>
Project Administrator
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>
Project Administrator
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>
Project 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 File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 20 Jul 2017 05:33:22 PM UTCmtmillerStatusConfirmed=>Fixed
      Open/ClosedOpen=>Closed
    Wed 17 May 2017 05:37:01 PM UTCmtmillerStatusNeed Info=>Confirmed
      SummaryInstall-error of Octave Database package=>database package release does not include built texinfo docs
    Tue 16 May 2017 07:50:15 PM UTCmtmillerStatusNone=>Need Info

    Back to the top


    Powered by Savane 3.1-cleanup1