JetBrains Meta Programming System not working - mps

Whenever I try to run the batch script to run MPS, it opens for a split second then immediately closes.
Trying to run it via the command line gives me the following message: "Jetbrains/MPS was unexpected at this time."
I posted the question also on their forum, but I don't seem to get an answer, so maybe someone else had this problem as well.
EDIT: For clarification, I am using Windows 10 on 64 bits, and have tried both version 203.7148.1199 and version 202.8194.1069, installed via the toolbox app and via the standalone installer. I also want to mention that my system meets the requirements to run the program.
EDIT 2: I found out that it works but only if it is installed in the C drive, not in any other drive.

The problem was the path in which MPS was installed. Apparently, it's a bug that I just discovered and the characters '(' or ')' in the installation path make MPS just not run. Probably the bat script doesn't take them right into account or something.

This depends on what OS you are running, and which version of MPS you downloaded. If you used the generic package, you must at least copy the contents from the bin/<os> directory (e.g. bin/win) to the bin directory. Although the recommended way of running vanilla MPS is to download the platform specific package (Windows, Linux or Mac) and then run it from your normal starter (e.g. a menu like the Windows start menu).

Related

IDE and tooling issues developing for windows from linux

I am trying to develop a simple windows GUI in go (first attempt).
After considering a few packages to get me started, I landed on this https://github.com/lxn/walk and it seemed ideal. I cross-compiled from my ubuntu laptop and the provided demo worked on all target platforms (win7/8/10)
The problems came when I tried to start developing from my linux laptop - initially in atom, but I've since tried with sublime, emacs and phpstorm and noticed an issue with go get (so I'm guessing it's the underlying go tooling that's failing)
The first error I'm seeing is:
/../github.com/lxn/walk/tooltiperrorpresenter.go:8: undefined: ToolTip
This affects development across all affected IDEs tested:
disables autocomplete
halts linting
cant test
gofmt worked in some (perhaps tool ordering)
affecting any file referencing this lib.
And this is the first of many errors which seem to be due to the library importing its internal win package which contains files which are marked with the flag:
// +build windows
I cunningly decided to start ripping out these tags from the lib - hoping that would at least allow me to get on with development, but then I started seeing new errors regarding too many arguments being passed to syscalls in the win package - presumably because the different platforms (win/nix) have different numbers of parameters in those syscalls.
I then tried marking everything with the //+build windows flag, but the parade of errors remained unchanged.
I found some issues on the project github which are related:
https://github.com/lxn/win/issues/26 : no buildable Go source files
and there are solutions for "go getting" the files but none so far for my IDE woes.
I've also seen this type of issue in some other windows specific go libraries so I don't think it's an issue for the package author. But I would be interested to hear any solutions from a code architecture perspective if they exist
I haven't actually tried doing this from a windows VM yet (I presume that would solve the issue from my end) - but its a bit of a jarring solution as I'm already juggling vms to test the app so I'm keen to find another way.
TLDR:
Do I have to work from Windows machine / vm in order to have a fully
functional IDE when developing for windows from linux or is there a way to satisfy the go tooling

bitrock installer - getting started for Linux

I have read the first few sections of "http://installbuilder.bitrock.com/docs/installbuilder-userguide/index.html" may be 3 to 4 times, but it is quite unclear to me.
I have a project/product that needs to be installed/unistalled/upgraded on user machines, so I guess I can make use of BitRock installer to accomplish the same. Having said that, below are my details:
Target system: Linux (can be 32 bit or 64 bit)
Project Developed using : Qt and C++ etc
For simplicity, if I call the name of the project directory as "Hello world" and my .pro file as "Hello world.pro" and my executable as "Hello world", how can I generate a package depending on the target system (debian or rpm based). As I said, I read the user guide but totally confused about how to integrate BitRock with my development system to generate installer, uninstaller or upgrade binaries.
All I did was download the bitrock installer for QT based Linux, changed the permission of the binary, executed it and chose the default options. Please help me with a simple example.
Btw, the most basic question is that, for me a double click on the installer "installbuilder-qt-8.6.0-linux-installer.run" does not work. No GUI comes up. I prefer to create my installer using the GUI, rather than manually writing XML files
Thanks
This may not be the answer to your question, but the what you are trying is not the standard way of deployment on Linux, instead of using .run file (hardly used) it is better to create debian and rpm packages which can be installed with a single click.
Since you are using Qt you can also try Qt installer framework, which helps you create cross-platform Window Style installers.
http://qt-project.org/wiki/Qt-Installer-Framework

How do I determine which eclipse sdk is being used?

I have multiple eclipse SDKs installed on my linux notebook. They are in different directories and I do not remember which is the last one I installed. The command 'which eclipse' gets me /usr/bin/eclipse. /usr/bin/eclipse is a shell script that (among other things) sets ECLIPSE=/usr/lib/eclipse/eclipse. /usr/lib/eclipse/eclipse is a real executable (not a link) that was copied in from elsewhere.
The command 'eclipse' brings up a functioning eclipse. My question is: If I want to expand the capabilities of this eclipse, which SDK do I need to make changes to - ie which SDK do I insert add-ons? That is, given an executing eclipse, how do I find the sdk?
On the Help > About Eclipse dialog click Installation Details for lots of details about the installation. The Configuration tab contains the paths of what is being used.
Adding to Eclipse is generally done using Help > Install New Software and you don't normally need to know where the Eclipse install is for this!

How do I detect whether 32-bit Java is installed on x64 Windows, only looking at the filesystem and registry?

I need to determine whether a particular system has 32-bit Java installed. I'm doing a remote query that only gives me access to the filesystem and registry, so I cannot attempt to run java.exe, or run any Java code.
I also want to make sure I detect both IBM and Sun Java, as well as any other distributions, which seem to put things in different places on the filesystem and in the registry.
The best I've come up with is to check for C:\Windows\SysWOW64\java.exe. Is this a reliable way to test for the presence of 32-bit Java, or are there certain versions that won't put java.exe in that folder?
Update: I'm still looking for a more robust answer to this. Just to be clear, I don't have access to a command prompt. Also, I want to detect Java no matter who the publisher is, what version number is installed, and no matter what path the user chose to install it on.
C:\Windows\SysWOW64\java.exe seems to fit these requirements, but I'd love some confirmation from someone more knowledgeable that every Java installer will indeed put that executable there.
This seems to provide the info on Windows:
1.) Open a windows command prompt.
2.) Key in: java -XshowSettings:all and hit ENTER.
3.) A lot of information will be displayed on the command window. Scroll up until you find the string: sun.arch.data.model.
4.) If it says sun.arch.data.model = 32, your VM is 32 bit. If it says sun.arch.data.model = 64, your VM is 64 bit.
Do you have access to the command prompt ?
Method 1 : Command Prompt
The specifics of the Java installed on the system can be determined by executing the following command
java -version
Method 2 : Folder Structure
In case you do not have access to command prompt then determining the folder where Java.
32 Bit : C:\Program Files (x86)\Java\jdk1.6.0_30
64 Bit : C:\Program Files\Java\jdk1.6.0_25
However during the installation it is possible that the user might change the installation folder.
Method 3 : Registry
You can also see the version installed in registry editor.
Go to registry editor
Edit -> Find
Search for Java. You will get the registry entries for Java.
In the entry with name : DisplayName & DisplayVersion, the installed java version is displayed
Check this key for 32 bits and 64 bits Windows machines.
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
and this for Windows 64 bits with 32 Bits JRE.
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment
This will work for the oracle-sun JRE.
just write "java -d64 -version" or d32 and if you have It installed it will give a response with current version installed
If it is not Oracle's Java, you may not be able to tell. When I install Oracle Java 64-bit, the files go into C:\Program Files\Java, but when I install a 32-bit version, they default to C:\Program Files (x86)\Java instead. Of course, the person who installed Java could have overridden those defaults.
I tried both the 32-bit and 64-bit installers of both Oracle and IBM Java on Windows, and the presence of C:\Windows\SysWOW64\java.exe seems to be a reliable way to determine that 32-bit Java is available. I haven't tested older versions of these installers, but this at least looks like it should be a reliable way to test, for the most recent versions of Java.

Update glibc in Cygwin

I just wanted to make use of the Cygwin x server, but when trying to start a program I am told that glibc is too old. I have version 2.3.2 but would need version 2.3.6. Is there any easy way to update this? Cant find this package in the cygwin setup routine.
Thanks
When you run a Cygwin update, it should by default update all packages that have changed, which should give you the latest C library. A lot of "shoulds", but I've never had any issues.
However, this sounds like an error from the client program, running on a remote host, not the X server (which is running under Cygwin). I'm not sure how a Cygwin program would even report this.
Please edit your question, showing the actual program that you're running, and the exact text of any error message -- copied from either the console window or a dialog box.

Resources