Hello, I'm trying to learn Roassal, but I can't seem to get the first visualization from https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/QuickStart/0101-QuickStart.html working on any combination of image and vm. I've tried the vm+40 and vm+50 from get.pharo and the moose 6.0 image from the moose site. The issue seems to be that CairoLibrary>>unixModuleName does not contain the /usr/lib/x86_64-linux-gnu/libcairo.so.2 path where 64-bit Ubuntu installs cairo. If I symlink that library, I get an Error: External module not found from AthensCairoSurface. I don't really know enough about the external module system to know what this is telling me. Any ideas would be much appreciated. |
On Thu, Mar 10, 2016 at 3:19 PM, Evan Donahue <[hidden email]> wrote:
> Hello, > > I'm trying to learn Roassal, but I can't seem to get the first visualization > from > https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/QuickStart/0101-QuickStart.html > working on any combination of image and vm. I've tried the vm+40 and vm+50 > from get.pharo and the moose 6.0 image from the moose site. > > The issue seems to be that CairoLibrary>>unixModuleName does not contain the > /usr/lib/x86_64-linux-gnu/libcairo.so.2 path where 64-bit Ubuntu installs > cairo. If I symlink that library, I get an Error: External module not found > from AthensCairoSurface. I don't really know enough about the external > module system to know what this is telling me. Any ideas would be much > appreciated. > > Thanks, > Evan Pharo 5 is only 32-bit, so cannot use the 64-bit Cario libraries. You would need to install the 32 bit Cario libraries, I guess similar to "Other" here... http://pharo.org/gnu-linux-installation cheers -ben |
Hi Evan, Ben,
I believe you need to install the 32 bits version of libcairo2, with for example $ sudo apt-get install libcairo2:i386 Regards, Thierry 2016-03-10 9:26 GMT+01:00 Ben Coman <[hidden email]>:
|
Evan, let us know how it goes! This is important to understand what’s going on
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
|
On Thu, Mar 10, 2016 at 3:01 PM, Alexandre Bergel <[hidden email]> wrote:
Well this is well-known thing. Pharo is 32bit only, so all libraries have to be also. But maybe it could be mentioned just-in-case somewhere on the website, and ways how to install it on linux (i.e. what command should the linux user execute in his particular distro, e.g. apt-get install libcairo2:i386 on debian/ubuntu, XYZ on Arch linux, etc.)? For both Windows and Mac the cairo library is bundled with the VM, but in linux it's a bad practice and package manager should be used instead to install the packages (on linux it's actually 6 libraries, but package manager handles the dependencies automatically). Peter |
2016-03-10 15:12 GMT+01:00 Peter Uhnák <[hidden email]>:
Well, maybe there is something to check there. I'm looking at the dependencies of pharo-launcher on ubuntu, and I don't see any dependency on libcairo2:i386.
Oh, ok, maybe there is something (at least on Ubuntu) : pharo-launcher depends on pharo-vm-core-i386, which depends on all expected libs except libcairo2: $ apt-cache depends pharo-vm-core-i386 pharo-vm-core-i386:i386 Dépend: libasound2:i386 Dépend: libc6:i386 Dépend: libfreetype6:i386 |Dépend: libgl1-mesa-glx:i386 Dépend: <libgl1:i386> libgl1-mesa-glx:i386 Dépend: libssl1.0.0:i386 Dépend: libx11-6:i386 Suggère: pharo-vm-desktop:i386 Suggère: <pharo-launcher:i386> Recommande: pharo-vm-core:i386 pharo-vm-core suggest pharo-vm-desktop, and pharo-vm-desktop only recommand libcairo2 ? $ apt-cache depends pharo-vm-desktop pharo-vm-desktop:i386 Dépend: libc6:i386 Dépend: libfreetype6:i386 |Dépend: libgl1-mesa-glx:i386 Dépend: <libgl1:i386> libgl1-mesa-glx:i386 Dépend: libx11-6:i386 Dépend: pharo-vm-core:i386 Recommande: libcairo2:i386 So, maybe we need to change the dependencies then ? Thierry
|
In reply to this post by Peter Uhnak
Evan,
We had this problem in every Data Week workshop. Is just matter of installing the libcairo 32 bits package for your Linux distro. In the case of ubuntu, you could adapt instructions at [1]. For a smother Gnu/Linux experience, the message could be a little bit more descriptive, something advicing to check for LibCairo 32 bit in the system and installing it, if it is not present. About multi-unix package installation support, I have been thinking in some kind of interface with the Nix package manager[2], so when something is not there, Pharo could offer automatic installation. [1] http://askubuntu.com/questions/107230/what-happened-to-the-ia32-libs-package [2] http://nixos.org/nix/ Cheers, Offray On 10/03/16 09:12, Peter Uhnák wrote:
|
I'm looking at the dependencies of pharo-launcher on ubuntu, and I don't see any dependency on libcairo2:i386. For a smother Gnu/Linux experience, the message could be a little bit more descriptive, something advicing to check for LibCairo 32 bit in the system and installing it, if it is not present. Well the error does say 'Cannot locate cairo library. Please check if it installed on your system', and from the paths it's checking its pretty clear what it needs. So if you are a linux user it's more than enough to see what's going on/what's needed. And if you are not a linux user, then anything short of exact instructions how to install it would be imho equally useless. I have been thinking in some kind of interface with the Nix package manager[2] Because what's better than telling users how to install a package in a particular distro? Tell them how to install a whole new package manager in their particular distro and then tell them how to install a package. We can also go all the way and just bundle all the libraries and have option to download "self-contained linux vm" (this is what I've actually done for one of my projects, because the users didn't have root privilege to install new packages on the computers). On Thu, Mar 10, 2016 at 3:31 PM, Offray Vladimir Luna Cárdenas <[hidden email]> wrote:
|
2016-03-10 15:52 GMT+01:00 Peter Uhnák <[hidden email]>:
Ok. Just to check. Are you advocating that leaving out cairo as a dependency of the main pharo app for new pharo users is a 'feature'? Thierry
|
In reply to this post by Peter Uhnak
Hi,
On 10/03/16 09:52, Peter Uhnák wrote:
Sorry I don't explain myself properly. I was meaning a window with this message instead of a error trace, which could be intimidating. Something with the same message and buttons like "Ok", "Launch debugger". In the workshops there are some Gnu/Linux newbies and the hidding the error trace for a while seems to be helpful to them.
No, but because we could build a wrapper for particular packages that installs Nix, and then others (32 bits variants of libcairo or sqlite, pandoc, etc) without caring about a particular Unix variant (being them Mac or hundreds Gnu/Linux distros based on dozen of "bases"), making the experience smother for the newbie, providing he/she has root privileges. People will not see nix anywhere, not even for installing (by the way it is just one command no matter of the distro -curl) and then any other external package would be available. So no need to be sarcastic here Peter.
That would be a nice option at least for Moose/Roassal related experiences. Cheers, Offray |
In reply to this post by Thierry Goubier
On 10-03-16 15:28, Thierry Goubier wrote:
> Recommande: pharo-vm-core:i386 > > pharo-vm-core suggest pharo-vm-desktop, and pharo-vm-desktop only > recommand libcairo2 ? > So, maybe we need to change the dependencies then ? Yes, that sounds wrong. I would assume it to be: Pharo launcher is a desktop application, and the desktop needs Cairo. Core should be headless. Stephan |
> Ok. Just to check. Are you advocating that leaving out cairo as a dependency of the main pharo app for new pharo users is a 'feature'? Until Bloc it is a feature, but if it is installed via package manager then it should imho also install cairo because that's not that hard there. The problem is the VM downloaded via zeroconf. Sorry I don't explain myself properly. I was meaning a window with this message instead of a error trace, which could be intimidating. Something with the same message and buttons like "Ok", "Launch debugger". In the workshops there are some Gnu/Linux newbies and the hidding the error trace for a while seems to be helpful to them. This should be relatively simple to do: 1) create new "PreDebugger" that's user-friendly (currently we have (GT)SpecPreDebugWindow that is started from (GT)SpecDebugger>>openWithNotification:) 2) let Debuggers ask for PreDebugWindow class through Smalltalk tools 3) install your UserFirendlyPreDubugWindow to Smalltalk tools I think this would be a very useful addition for many people. (I wanted to make this some time ago but haven't got around to do it yet.) No, but because we could build a wrapper for particular packages that installs Nix, and then others (32 bits variants of libcairo or sqlite, pandoc, etc) without caring about a particular Unix variant (being them Mac or hundreds Gnu/Linux distros based on dozen of "bases"), making the experience smother for the newbie, providing he/she has root privileges. People will not see nix anywhere, not even for installing Mac is self-contained, so the main issue is linux. If the user has a root privilege, then maybe we should push for pharo directly in the package manager repository? And sure, there are hundreds of distros, but you will cover majority of the market with… maybe 5 distros? People that can't handle obscure distros don't install them. But to get some motion: 1) let's compile a list of majority distros 2) let's see how hard it is to build packages for them (imho this could be automated via CI), and we already have ubuntu package (or maybe nix can be pushed to all distros?) 3) maybe consider all-in-one bundle for non-root targets (this would work for cairo, but not for 64b systems in general, because the dependency list there is monstrous) So no need to be sarcastic here Peter. Sorry, I got carried away. I've got my fair share of dependency hell and introducing another package manager always makes me shiver. On Thu, Mar 10, 2016 at 4:40 PM, Stephan Eggermont <[hidden email]> wrote: On 10-03-16 15:28, Thierry Goubier wrote: |
In reply to this post by Thierry Goubier
D'oh. Yep, this did it. I think I've been bitten by 32 bits before both on sound and on file opening. One day I'll learn, and on that day, Pharo will be 64 bit.
Thanks, Evan |
> On 10 Mar 2016, at 17:08, Evan Donahue <[hidden email]> wrote: > > D'oh. Yep, this did it. I think I've been bitten by 32 bits before both on > sound and on file opening. One day I'll learn, and on that day, Pharo will > be 64 bit. ;-) > Thanks, > Evan > > > > -- > View this message in context: http://forum.world.st/Roassal2-on-Ubuntu-64-tp4883675p4883840.html > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. > |
I knew the 32bit cairo was mentioned somewhere http://smalltalkhub.com/#!/~ObjectProfile/Roassal2 at the very end But it most certainly should be mentioned on more places. Peter On Thu, Mar 10, 2016 at 5:48 PM, Sven Van Caekenberghe <[hidden email]> wrote:
|
Aha, I followed the Quick Start at
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/QuickStart/0101-QuickStart.html and didn't notice anything there. Cheers, Evan |
I would like to improve the documentation. However, there is no linux around I can play with.
What is the necessary steps to have Cairo on Ubuntu, only executing: $ sudo apt-get install libcairo2:i386 Or is there anything more to be done? Cheers, Alexandre > On Mar 12, 2016, at 10:54 PM, Evan Donahue <[hidden email]> wrote: > > Aha, I followed the Quick Start at > https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/QuickStart/0101-QuickStart.html > and didn't notice anything there. > > Cheers, > Evan > > > > -- > View this message in context: http://forum.world.st/Roassal2-on-Ubuntu-64-tp4883675p4884245.html > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. > -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
In reply to this post by Evan Donahue
I have just updated:
https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/QuickStart/0101-QuickStart.html Let me know if something is missing Cheers, Alexandre > On Mar 12, 2016, at 10:54 PM, Evan Donahue <[hidden email]> wrote: > > Aha, I followed the Quick Start at > https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/QuickStart/0101-QuickStart.html > and didn't notice anything there. > > Cheers, > Evan > > > > -- > View this message in context: http://forum.world.st/Roassal2-on-Ubuntu-64-tp4883675p4884245.html > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. > -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
In reply to this post by abergel
$ sudo apt-get install libcairo2:i386 This is sufficient for both Ubuntu and Debian (and probably their forks, such as Mint). Peter |
In reply to this post by Peter Uhnak
Hi,
On 10/03/16 11:27, Peter Uhnák wrote:
Thanks for the ideas.
What I would like is to push away the users from the environment and computing experience as little as possible, to make the experience work for them. That mean minimizing go to the web, go to command shell and so on for things like installing the stuff that make pharo/roassal work.
Nix can be used on all Linux distros, Solaries, Mac and major close to Unix operative systems, so it is already dealing with the diversity without us reinventing that an using it where complex installations and dependencies are needed seems a sensible option.
That bundle would be really helpful. Disk space is cheaper that user time/frustration. I'm starting some small installer for self-contained non-root apps that I need in grafoscopio (SQLite, fossil and pandoc), so when they're needed but not present, the systems deals with the installation in a smooth way, and the person keeps focused on the task (or can take a break while the installation of bigger stuff :-) ).
Don't worry. In my case, Nix has been a savior when a dependency hell can not be solved my my native package manager, so I see the things in the opposite way. Cheers, Offray |
Free forum by Nabble | Edit this page |