-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't run appImage on Ubuntu 16.04.2 LTS without Try::Tiny module #140
Comments
It looks like there is another problem going on: The appimage shall not pull the system perl modules. I think what you are seeing is, the system perl modules are pulled before the ones from the AppImage, and seemingly your Perl modules have different dependencies. |
Looking inside the AppRun script generated by the AppImage suite, it starts an application defined in Slic3r.desktop. It looks like the AppRun is flawed, as it first sets up the paths to point inside the AppImage, but then it starts the system installed Slic3r script. I am not sure where shall I fix it. @probonopd any idea? |
On Ubuntu 16.04 without a system-installed Slic3r, the AppImage launches with the following output on the console:
Which shows that at least in principle, AppRun does launch the correct (bundled) Slic3r. So I suspect as soon as there is also a Slic3r installed in the system, it somehow picks up the system one/mixes up the two. More investigation needed. |
Thanks. The issue is in how the AppRun pulls the name of the executable from the *.desktop file. |
I do not get the "Use of uninitialized value in subroutine entry" with the AppImage I had generated earlier, https://bintray.com/probono/AppImages/download_file?file_path=Slic3r-1.31.6.prusa3d.glibc2.14-x86_64.AppImage. Can you confirm that the issue reported in this ticket is also present in that version? |
AppRun exports If you look at the AppImage, it has |
@bubnikv is the script that you are using to produce the AppImage available on GitHub? |
You are right. What does the slic3r is a bash script, containing the following three lines: I think the problem lies in my slic3r script. I wonder, whether I shall modify the script to call readlink -f on $0 as well? @burbilog @probonopd I think the AppImage generates some debug info if started with DEBUG=1. @burbilog would you please provide that log? Thanks. |
It is part of our build suite to build and pack on all platforms. The build suite is currently private. But I am not doing anything special, I just slightly modified the scripts you have provided. |
Here are my logs of mine and yours: Slic3r-1.31.6.prusa3d.glibc2.14-x86_64.AppImage.log.txt |
Ah, |
DEBUG=1 && ./Slic3r-1.33.5-prusa3d-linux64-full-201702171509.AppImage
|
I think the key lies in
So why is it loading stuff from |
@burbilog I think the problem seems to become evident. Greping perl from your log shows: PERL5LIB=/home/rm/perl5/lib/perl5 It looks like we (either me or probably @probonopd) need to filter out the PERL environment variables before running a perl script packed into an AppImage. Maybe AppImage should initialize the shell environment from scratch? I am far from being a Linux expert, so I don't know how to do that as of now. I will look into what PERL environment variables are used to put together the @inc paths and what are their priorities. |
@burbilog would you please try to undefine PERL5LIB before running the AppImage? |
I need to unset PERL5LIB and PERLLIB in the slic3r shell wraper. I will try to update the Linux and OSX builds as both may potentially affected. Also the Windows slic3r.exe wrapper shall filter out the two variables. |
@bubnikv yes, removing PERL5LIB from environment fixes the problem. |
@burbilog Great, I am running another build with |
This is what I am currently doing in Its intention is to add the inside of the AppImage to the Perl search path, similar to what I do with Should I change it? |
@probonopd I think it depends. I suppose Slic3r is the first AppImage packing its own Perl interpreter. If the AppImage uses the system-wide perl interpreter, then your implementation is all right. I think it would be sufficient to keep it as it is, but to document it well, so if someone is packing a Perl interpreter into the AppImage, he would know he needs to unset PERL5LIB and PERLLIB in his startup script. |
I think bundling the Perl interpreter is the right thing to do. |
@burbilog I have updated the Linux & OSX binary builds to unset PERLLIB & PERL5LIB. Please download the updated AppImage from |
Don't know if this is serious, but I am still getting
|
@probonopd I don't know what is the Perl complaining about. The line initializes a menu, and with success. It must be something inside the wxWidgets perl binding. Not nice, but seems to be harmless. Something for the next release I suppose. |
@bubnikv Yes, it works now. |
Thanks to all involved, happily closing :-) |
Version
Slic3r 1.33.5 Prusa
Operating system type + version
Ubuntu 16.04.2 LTS
Behavior
Download Slic3r-1.33.5-prusa3d-linux64-full-201702171509.AppImage and try to run
Expected result: running Slic3r
Actual result: Slic3r fails with following message:
cpanm install Try::Tiny fixes the problem, but hey, it's appImage, eh?
STL/Config (.ZIP) where problem occurs
Config does not matter I suppose...
The text was updated successfully, but these errors were encountered: