You are not logged in.

#1 2014-01-04 04:34:54

KlipperKyle
Member
Registered: 2013-05-25
Posts: 29

[SOLVED] Octave 3.8.0: Missing info and help pages

After reading about GNU Octave's new GUI in version 3.8, I decided to play around with PKGBUILDs and the ABS to compile Octave 3.8.

This is my first custom package. I originally did this to learn Arch's build system and try out Octave's new GUI. (However, I would eventually like to submit my changes to the package maintainer if they are of any use.)

So, modified 2 files from the ABS and my custom package builds/installs/runs nicely:

  • PKGBUILD - <http://sprunge.us/GOcM?sh>

    • Added qscintilla and qt4 to dependencies

    • Changed one sha1sum to the checksum of the new source tarball

    • Commented out the line in package() for the patching.

  • octave.install - <http://sprunge.us/QVFG?sh>

    • Added in debugging statements. (Useful in a moment)

Everything seems to work fine (even the GUI). However, I have no documentation whatsoever. The info pages and built-in help are missing. Are there some compile/make flags for documentation that I am missing?

Install and uninstall output (Remember the debugging statement I put in octave.install?): <http://sprunge.us/VJLY>

Example of no help from within Octave: <http://sprunge.us/AbFR>

After doing some investigating, my custom Octave package is missing all of the infopages in the folder /usr/share/info/. Also, the existing version of Octave builds, installs, and works as intended.

Because this is my first custom package, I'm out of ideas for the moment. Any thoughts?

Related: <https://bbs.archlinux.org/viewtopic.php?id=120273>. However, --disable-docs is not in the official PKGBUILD, so it is not in my custom PKGBUILD.

Other notes:

I'm not 100% what mex-gcc-4.8.patch is for. When I try to apply it, the file it's intended to patch is missing.

So far, I really like the build system. It's really organized and fast.

Last edited by KlipperKyle (2014-02-23 21:14:00)

Offline

#2 2014-01-05 06:00:27

KlipperKyle
Member
Registered: 2013-05-25
Posts: 29

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

I tried adding more options to the ./configure command. So far my modified PKGBUILD looks like this: <http://sprunge.us/aIVO?sh>. I still can't figure out why there are no info pages (nor man pages nor any documentation whatsoever).

I applied a patch from upstream related to the info pages, but still no dice. (<http://savannah.gnu.org/bugs/?41054> and <http://savannah.gnu.org/bugs/?41066>)

Offline

#3 2014-01-05 06:18:00

Scimmia
Fellow
Registered: 2012-09-01
Posts: 13,655

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

There is a configure flag for --disable-docs, but they're enabled by default. It looks like they will automatically disable if configure can't find gnuplot and makeinfo (texinfo).

Offline

#4 2014-01-05 06:21:56

KlipperKyle
Member
Registered: 2013-05-25
Posts: 29

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

Scimmia wrote:

There is a configure flag for --disable-docs, but they're enabled by default. It looks like they will automatically disable if configure can't find gnuplot and makeinfo (texinfo).

Thank you! I didn't have gnuplot installed because it was listed as optional.

I'm tired right now. I'm going to try again with gnuplot tomorrow.

Offline

#5 2014-01-05 06:25:35

Scimmia
Fellow
Registered: 2012-09-01
Posts: 13,655

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

If it still doesn't work, give us the build log. I don't want to install all those deps to test.

Offline

#6 2014-01-05 16:14:54

mrf
Member
Registered: 2014-01-05
Posts: 1

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

Just a quick note: when I built octave 3.8.0, I had a problem because I have both qt4 and qt5 installed. It tried to use the qt4 headers and libraries but the qt5 tools (moc-qt5, uic-qt5, rcc-qt5) which obviously does not work together nicely. I 'fixed' this by manually replacing the tool names in libgui/Makefile. I suppose that the configure.ac file should be somehow patched (is this an upstream problem?) but this is out of my league.

Offline

#7 2014-01-05 19:51:21

KlipperKyle
Member
Registered: 2013-05-25
Posts: 29

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

Scimmia wrote:

If it still doesn't work, give us the build log. I don't want to install all those deps to test.

I installed texinfo and gnuplot, and Octave built correctly with help documents.

Here is the new PKGBUILD (I added texinfo and gnuplot to the build dependencies so they are installed at build time.): <http://sprunge.us/gegB?sh>

I also added the new info files to octave.install: <http://sprunge.us/ANFC?sh>

And for the sake of completeness, doc.patch is required for running doc from inside GNU Octave (this is the patch from upstream): <http://sprunge.us/JjAC?diff>

I haven't played around with qt5. I would put qt5 in the list of conflicting packages, but from my understanding "conflicts" is for packages that conflict at runtime, not buildtime.

I'm going to email the maintainer to give him a heads-up of our progress.

Offline

#8 2014-01-05 20:10:44

KlipperKyle
Member
Registered: 2013-05-25
Posts: 29

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

It would be rude not to share the results. I uploaded them to my public Dropbox for the time being.

Offline

#9 2014-01-08 09:34:31

janoliver
Member
Registered: 2011-06-01
Posts: 54

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

Hi KlipperKyle, thank you for your efforts. During compilation, I am getting the following error:

In file included from src/settings-dialog.cc:30:
src/ui-settings-dialog.h:13:10: fatal error: 'QtWidgets/QAction' file not found
#include <QtWidgets/QAction>
         ^
1 error generated.
Makefile:3151: recipe for target 'src/src_libgui_src_la-settings-dialog.lo' failed
make[3]: *** [src/src_libgui_src_la-settings-dialog.lo] Error 1

Am I missing some dependency? I am running your MAKEPKG

/e: I could fix it by putting the following line after the ./configure call in the PKGBUILD:

find . -name Makefile -exec sed -i 's/qt5/qt4/g' {} \;

Last edited by janoliver (2014-01-08 11:08:29)

Offline

#10 2014-01-08 12:15:34

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,854

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

janoliver, that is a dirty hack.

check where /usr/share/qmake symlinks to, it will prob link to qmake-qt5 .
just use qmake-qt4 instead of qmake .

edit :
or look into the qtchooser pacakge

Last edited by Lone_Wolf (2014-01-08 12:15:59)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#11 2014-01-08 22:37:38

KlipperKyle
Member
Registered: 2013-05-25
Posts: 29

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

janoliver wrote:

Hi KlipperKyle, thank you for your efforts. During compilation, I am getting the following error:

In file included from src/settings-dialog.cc:30:
src/ui-settings-dialog.h:13:10: fatal error: 'QtWidgets/QAction' file not found
#include <QtWidgets/QAction>
         ^
1 error generated.
Makefile:3151: recipe for target 'src/src_libgui_src_la-settings-dialog.lo' failed
make[3]: *** [src/src_libgui_src_la-settings-dialog.lo] Error 1

Am I missing some dependency? I am running your MAKEPKG

/e: I could fix it by putting the following line after the ./configure call in the PKGBUILD:

find . -name Makefile -exec sed -i 's/qt5/qt4/g' {} \;

I'm not sure what's going on (still learning here). For my qt4 installation, QAction is located in /usr/qt4/QtGui/, and qmake is not symlinked.

kyle@landru /usr/include $ find -iname "QAction"
./qt4/QtGui/QAction
kyle@landru /usr/include $ cd ..
kyle@landru /usr $ find -iname "qmake"
./lib/qt4/bin/qmake
find: `./share/polkit-1/rules.d': Permission denied
kyle@landru /usr :( $ ls -la lib/qt4/bin/qmake 
-rwxr-xr-x 1 root root 3341760 Dec 11 07:03 lib/qt4/bin/qmake
kyle@landru /usr $ 

It sounds like you have some qt5 packages installed (See @mrf's post earlier). Is this assumption correct?

Offline

#12 2014-01-17 06:17:19

queueRAM
Member
Registered: 2006-09-05
Posts: 14

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

Just in case anyone is working on this, there are a few more modifications to make:

  • octave doesn't build with LLVM 3.4 (which was pushed to Arch a few days ago).  I made a patch to mitigate this: llvm-3.4patch

  • 'texinfo' is not needed in makedepends because it is in the 'base-devel' group.  See PKGBUILD

  • The '--with-quantum-depth=32' and '--with-umfpack' configure flags are no longer necessary (actually, it looks like '--with-quantum-depth' was never needed)

My updated PKGBUILD

I'm still not sure if "LANG=C" is still needed on the 'make' command and am also looking at adding to the .desktop file to be able to launch the GUI by default.

Offline

#13 2014-01-17 06:27:11

KlipperKyle
Member
Registered: 2013-05-25
Posts: 29

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

queueRAM wrote:

Just in case anyone is working on this, there are a few more modifications to make:

When I get the chance, I'll upload all the associated files to GitHub and merge in your changes. That way, everything will be in one place.

Thanks!

(We also need to get the package maintainer's attention. I tried emailing him, but I'm still awaiting a response.)

Offline

#14 2014-01-18 17:37:31

Stefan Husmann
Member
From: Germany
Registered: 2007-08-07
Posts: 1,391

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

queueRAM, thanks for the patch. I applied it to my octave-hg-package in AUR.

Offline

#15 2014-01-21 01:23:43

KlipperKyle
Member
Registered: 2013-05-25
Posts: 29

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

KlipperKyle wrote:

When I get the chance, I'll upload all the associated files to GitHub and merge in your changes.

It's done!

<https://github.com/KlipperKyle/octave-pkgbuild>

From my understanding, Octave's GUI is an optional (and experimental) component. So, you should be able to install Octave without qscintilla and qt4. Should qscintilla and qt4 be in the optional dependencies?

I also like the idea of a custom .desktop file. There is already a .desktop file that launches Octave in the user's default terminal. Perhaps we should add a second .desktop called "GNU Octave (GUI)". How does adding a second .desktop file sound?

Offline

#16 2014-01-21 21:25:09

queueRAM
Member
Registered: 2006-09-05
Posts: 14

Re: [SOLVED] Octave 3.8.0: Missing info and help pages

KlipperKyle wrote:

From my understanding, Octave's GUI is an optional (and experimental) component. So, you should be able to install Octave without qscintilla and qt4. Should qscintilla and qt4 be in the optional dependencies?

This is a good point as octave CLI should still run without qt4 and qscintilla.  To perform a quick test, I force removed both those packages and was still able to run octave from the terminal.  It still depends on some X11 libraries though, I think to support the plotting.  If I find time to update the PKGBUILD and run some tests with it, I'll send you a pull request in github.

KlipperKyle wrote:

I also like the idea of a custom .desktop file. There is already a .desktop file that launches Octave in the user's default terminal. Perhaps we should add a second .desktop called "GNU Octave (GUI)". How does adding a second .desktop file sound?

I've given this some more thought and decided that including custom .desktop files doesn't really follow the Arch Way with regards to unnecessary additions.  I still wanted an Octave GUI item in my menu, so I created an octave-gui.desktop file and placed it in ~/.local/share/applications/ .  Feel free to include this in your PKGBUILD though if you want it at the system level.

Offline

Board footer

Powered by FluxBB