How to load VMMaker in Squeak? - virtual-machine

I am using Squeak 4.4 update 12327, and VM version 4.1.1. I tried to load VMMaker with ConfigurationOf scripts but always fails with exceptions mainly in the Freetype package.
Gofer new
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfVMMaker';
load.
((Smalltalk at: #ConfigurationOfVMMaker) project version: '1.4') load
or
Gofer new
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfVMMaker';
load.
(Smalltalk at:#ConfigurationOfVMMaker) project lastVersion load.
or
Gofer new
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfVMMaker';
load.
(ConfigurationOfVMMaker project version: '1.5') load.
Neither the package repository page, nor the wiki pages (this one, or this one) include instructions or a link to load the VMMaker, although contains a lot of explanations.

This is thanks to David Lewis, in the CI scripts we use to test the Interpreter VM:
MCMcmUpdater updateFromRepositories: #('http://source.squeak.org/VMMaker').
(Smalltalk at: #VMMaker) initializeBrowserSupport. "activate Slang browsing"

Unfortunately, the Metacello configuration has been created and used only by Pharo-centric users until now...
You could eventually correct the Squeak branch in the configuration, but that ain't going to be easy to boot up from there.
If you are interested in oscog VM branch, then there is one prebuilt 4.3 image with pre-loaded packages distributed in this svn repository
http://squeakvm.org/svn/squeak/branches/Cog
Look under image subdirectory, open the CogTrunk43.image, there is a workspace explaining how the packages were loaded in the image.
If you are interested in classical Interpreter, then the way to load it was by using the update MCM:
Open a Monticello browser
Add the VMMaker repository
(MCHttpRepository
location: 'http://source.squeak.org/trunk'
user: 'squeak'
password: 'squeak')
Select and open the VMMaker repository
On the left pane, select 'update' (bottom item)
On the right pane select the top item (update-dtl.12.mcm)
Select 'browse' button
You get a list of packages displayed, click on 'Install' button
The update configuration is a few versions late though, not sure if it is still maintained, the best is also to ask on "Squeak Virtual Machine Development Discussion"
EDIT I think that this magical incantation can replace all GUI oriented operations above:
MCMcmUpdater updateFromRepositories: {'http://source.squeak.org/VMMaker'}.

Or you can open a SqueakMap package browser and load the VMMaker 'head' release. This does the same thing as loading the update from Monticello as described above. Either way you will be getting the latest version of VMMaker and related packages.

Related

Wix installer uninstaller issue when a bundled app is skipped

I have a bundled application say XYZ-1.0.0.1.exe, with applications A-2.2.0.1.exe and B-1.2.0.1.exe bundled in it. So when we install XYZ, we get A and B as well listed in Add Remove Programs. But when I upgrade XYZ-1.0.0.1 with XYZ-1.0.0.2, which has A-2.2.0.1.exe and B-1.2.0.2.exe, so that A is same and already installed and B needs upgrade. I actually skipped the installation of A by making the install condition false, since the same version is already installed and installed only B while upgrading.
After successfully upgrading I am not able to uninstall the application XYZ, it says some package error, also this happens only if the source file used for upgrading is removed from machine.Actually while uninstalling package has to be referred from program cache, I think since we skipped A package cache has problem.
The error that i get is as follows "Prompt for source of container: WixAttachedContainer, path: C:\Users\ABC\Desktop\XYZ-1.0.0.2.exe Failed to resolve source for file: C:\Users\ABC\Desktop\XYZ-1.0.0.2.exe, error: 0x80070002. Error 0x80070002: Failed while prompting for source (original path 'C:\Users\ABC\Desktop\XYZ-1.0.0.2.exe'). Failed to acquire container: WixAttachedContainer to working path: C:\Users\ABC\AppData\Local\Temp{b4a1c780-306c-40f0-83ad7}, error: 0x80070002. "
This error occurs only when i copy XYZ.exe to any path say desktop and after installation(skip installing A or B since same version of A or B bundled is already installed) and delete the setup file XYZ.exe from saved path ie here Desktop. I am not able to uninstall unless i uninstall A or B which was skipped independently.
Also there is another scenario.
I have a bundled application say XYZ-1.0.0.1.exe, with applications A-2.2.0.1.exe and B-1.2.0.1.exe bundled in it. XYZ-1.0.0.2.exe, which has A-2.2.0.1.exe and B-1.2.0.2.exe. Thes in both versions of XYZ we have the same version of A. When i install XYZ-1.0.0.1.exe i skipped the installation of A-2.2.0.1.exe by setting the install condition to false. So XYZ-1.0.0.1.exe is installed and B-1.2.0.1 is also installed. Further when i upgraded to XYZ-1.0.0.2, I need to install all of the A and B. Installation was successfull and now i have XYZ-1.0.0.2, A-2.2.0.1 and B-1.2.0.2. Now if i delete the installation file of XYZ-1.0.0.2.exe from original path and try to uninstall it breaks.
Initially i thought that the package cache issue arises since A-2.2.0.1.exe was not installed along with XYZ-1.0.0.2.exe since i skipped it as it is already available. But after the second scenario got to know that skipping was not the issue. Since in second scenario A-2.2.0.1.exe was installed along with XYZ-1.0.0.2.exe.
The same issue took huge amount of my time as well. Solved it using a work around. Since the issue is "Prompt for source of container: WixAttachedContainer, path: ", You can copy the exe file XYZ-1.0.0.2 while upgrading to program data or some other path with a default name xyz.exe. At first register for ResolveSource event,then add the following code.Assume the copied exe path is c:/XYZ/xyz.exe
private void OnResolveSource(object sender, ResolveSourceEventArgs e)
{
Application.Engine.SetLocalSource(e.PackageOrContainerId, e.PayloadId, "c:/XYZ/xyz.exe");
e.Result = Result.Retry;
}
If anybody know a better answer, please help.

Why CMSAdapter and contenthub is not available?

As per Stanbol documentation, I've checked-out source code (% svn co http://svn.apache.org/repos/asf/stanbol/trunk stanbol) and after did maven build. All is fine. Now I've started executable jar (org.apache.stanbol.launchers.full-1.0.0-SNAPSHOT).
After starting this I do not see any menu option to open CMSAdapter and contenthub. I can only see /enhancer, /topic, /entityhub, /sparql, /ontonet, /rules, and /reasoners in the menu option.
Here is the localhost page -
When I saw the checked-out directory then I did not find folders corresponding to cmsadpater and contenthub.
After I tried to download complete zip from source again and now i can see cmsadpater and contenthub -
But I'm getting error during build.
Please suggest what I'm missing here.
[ERROR] Failed to execute goal on project org.apache.stanbol.launchers.full: Could not resolve dependencies for project org.apache.stanbol:org.apache.stanbol.launchers.full:jar:0.12.0: Failure to find org.apache.sling:org.apache.sling.launchpad:xml:bundlelist:8 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
ContentHub and CMSAdapter components have been discontinued from version 1.x. You can still find them at 0.12.x branch (https://svn.apache.org/repos/asf/stanbol/branches/release-0.12/)
Hope that helps

What is the equivalent of 'Installer squeaksource' in Pharo?

I want to execute this in the context of Pharo, was initially for Squeak.
Installer squeaksource
project: 'MetacelloRepository';
install: 'ConfigurationOfMagritte2'.
(Smalltalk at: #ConfigurationOfMagritte2) project latestVersion load: 'Magritte-Seaside'.
This code will work:
Gofer new
squeaksource: 'MetacelloRepository';
configurationOf: 'Magritte2';
load.
(Smalltalk at: #ConfigurationOfMagritte2) project latestVersion load: 'Magritte-Seaside'.
There are other ways, but this is the most "direct" translation :)
That won't result in working code in a recent version of Pharo. Magritte2 is old and unsupported. Use Magritte3. That is maintained on Smalltalkhub.
For anyone with the same question today, in Pharo 6.x - current (9.0 as of writing):
Metacello new
baseline: 'Magritte';
repository: 'github://magritte-metamodel/Magritte';
load

Couchapp - default template not found when running `couchapp generate ...` on Windows

After thorough browsing I decided to post here as I could not find a working prompt on the problem.
I installed CouchDB and Couchapp (in version 1.0.0, freshest one on Github) on Win8 machine and when I try to run couchapp generate app contacts I get:
2014-11-21 22:01:00 [ERROR] couchapp error: Can't create a CouchApp in C:\Users\
Michal\Desktop\contacts: default template not found.
I have not so far dug deeper into the Couchapp code to see if I can fix it. Fixes applied by Couchapp creator, Benoit, don't work for me.
All advice/constructive criticism much appreciated.
OK, I got it working - all that was needed was to include an environment variable for couchapp.exe. So, if you are installing a standalone version of Couchapp from the downloads section ( https://github.com/downloads/couchapp/couchapp/couchapp-1.0.0-win.zip, e.g. ) you NEED TO MAKE SURE that you first of all execute the installer and then point you environment variables Path to it, that's all. Hope it helps.

Couldn't load FFI package in pharo 3.0 MacOS

I am using monticello's location as "http://source.squeak.org/FFI" and then trying to load FFI package for MacOS. I could load FFI-Pools,FFI-Kernel. But was unable to load FFI-MacOS, It throws error on "getenv" method. Synatx error:'>'expected. I think I am doing something wrong. Could someone direct me to appropriate link?
Thanks
In Pharo 3, use the configuration from Configuration Browser:
World Menu > Tools > Configuration Browser, then Install Stable Version.
All tests are green on OSX 10.9.
alternatively, you can execute this in your workspace:
Gofer it
smalltalkhubUser: 'Pharo' project: 'MetaRepoForPharo30';
configurationOf: 'FFI';
loadStable