AppImageCommunity / pkg2appimage

Tool and recipes to convert existing deb packages to AppImage
http://appimage.org
MIT License
696 stars 215 forks source link

Need help building an AppImage for GNU Octave #120

Closed fusion809 closed 8 years ago

fusion809 commented 8 years ago

Hi,

Before you ask me to request an AppImage upstream the answer is that this is a GNU Project, they only provide source code, no binary builds. Here is my present yaml:

app: Octave

ingredients:
  package: octave
  dist:    trusty
  sources:
    - deb http://archive.ubuntu.com/ubuntu/ trusty main universe
  ppas:
    - octave/stable

script:
  - sed -i -e 's|/usr/bin/||g' www.octave.org-octave.desktop
  - mv www.octave.org-octave.desktop octave.desktop

while it builds fine, the AppImage gives the error:

/bin/bash: ../lib/x86_64-linux-gnu/libtinfo.so.5: no version information available (required by /bin/bash)
/home/fusion809/.cache/thumbnails/normal/106ab48d0f68b0cd4e0df7cc56808f3d.png is missing. Probably not running ./bin//octave.wrapper from within an AppImage.
Hence falling back to using .DirIcon
octave: failed to exec '/usr/lib/x86_64-linux-gnu/octave/4.0.2/exec/x86_64-pc-linux-gnu/octave-gui'

usr/lib/x86_64-linux-gnu/octave/4.0.2/exec/x86_64-pc-linux-gnu/octave-gui does exist in the AppImage. The usr/bin/octave file is not a shell script, so I can't simply try tweaking it. It's a binary.

and fails to launch.

Thanks for your time, Brenton

fusion809 commented 7 years ago

On my Ubuntu 16.10 VM it runs fine. Fedora 24 gives me the same error as you got.

probonopd commented 7 years ago

@fusion809 See my edit above, it works for me now.

fusion809 commented 7 years ago

Does your new YAML work for you on Fedora 24? For me it doesn't. Maybe adding libcurl3-gnutls to the packages: field will work?

probonopd commented 7 years ago

As I wrote above:

EDIT: Added that library, now runs on Fedora 24 too. (Delete any pre-existing Octave folder you might have from previous runs and re-run the recipe, then it gets the updated excludedeblist.)

fusion809 commented 7 years ago

With your update it does run for me on Fedora 24 but it gives the error you got on openSUSE Tumbleweed.

virtualbox_fedora 24_20_11_2016_10_53_29

probonopd commented 7 years ago

Do you notice any ill effects or is it just cosmetic?

fusion809 commented 7 years ago

Seems to be just cosmetic.

fusion809 commented 7 years ago

@probonopd Btw whenever I use the trigger script I get the error message:

Create a temporary GitHub authorization
{ "message": "Validation Failed", "errors": [ { "resource": "OauthAccess", "code": "already_exists", "field": "description" } ], "documentation_url": "https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization" }
Get a travis token using the GitHub token
not a Travis user
not a Travis user
/proc/self/fd/11: line 86: [: too many arguments
Trigger a build

and I haven't the foggiest why. Do you have an idea? My trigger.sh script is the same as yours except with my username substituted.

probonopd commented 7 years ago

Your authorization on GitHub already exists (was not deleted after a previous run). You need to log into the GitHub settings -> Personal access tokens and delete the extraneous one.

fusion809 commented 7 years ago

You're right, thanks. I re-installed Ubuntu 16.04 though, as I thought I had something wrong with my procfs. It fixed some issues with my system, so it wasn't a total waste of time. I'm mentioning this because I tried running this GNU Octave AppImage again and I got the same error as before.

probonopd commented 7 years ago

The error of the trigger script has nothing to do with your local machine.

fusion809 commented 7 years ago

@jordigh Yeah I got this error when using MXE to build GNU Octave:

[build]    freetype
[done]     freetype
[build]    fltk
[done]     fltk
[build]    xz
[done]     xz
[build]    tiff
[done]     tiff
[build]    lcms
[done]     lcms
[build]    ghostscript

Failed to build package ghostscript!
------------------------------------------------------------
base/unixlink.mak:54: recipe for target 'bin/gs' failed
make[3]: *** [bin/gs] Error 1
make[3]: Leaving directory '/home/fusion809/Programs/MXE-Octave/mxe-octave-64063cd35eb2/tmp-ghostscript/ghostscript-9.16'
/home/fusion809/Programs/MXE-Octave/mxe-octave-64063cd35eb2/Makefile:801: recipe for target 'build-only-ghostscript' failed
make[2]: *** [build-only-ghostscript] Error 2
make[2]: Leaving directory '/home/fusion809/Programs/MXE-Octave/mxe-octave-64063cd35eb2'
real    3m35.806s
user    3m3.696s
sys     0m10.704s
------------------------------------------------------------
[log]      /home/fusion809/Programs/MXE-Octave/mxe-octave-64063cd35eb2/log/ghostscript

Makefile:801: recipe for target '/home/fusion809/Programs/MXE-Octave/mxe-octave-64063cd35eb2/installed-packages/ghostscript' failed
make[1]: *** [/home/fusion809/Programs/MXE-Octave/mxe-octave-64063cd35eb2/installed-packages/ghostscript] Error 1
make[1]: Leaving directory '/home/fusion809/Programs/MXE-Octave/mxe-octave-64063cd35eb2'
Makefile:523: recipe for target 'all' failed
make: *** [all] Error 2

it ran fine up 'til then. Yes I have installed all the dependencies listed at mxe.cc/#requirements.