Skip to main content

Build Wine rpm with 32 bit application support

Wine is a software to allow running Windows applications in Linux, MAC etc. platforms. It is available for installation from package managers like yum (RHEL, CentOS) and apt (Ubuntu). You can find more details on how it works in Wine wiki.

But the default Wine package available from package manager does not have support for 32 bit Windows applications. This was the case for me. In Redhat Enterprise Linux 7.3, the wine package did not contain support for 32 bit windows applications. So the only option was to build a separate rpm of wine which will include this support.

All the steps are executed on a RHEL 7.3 VM (x86_64).

Step 1
Download and run shell script which will make wine 64 and 32 support for RHEL: https://github.com/zma/usefulscripts/blob/master/script/install-wine-i686-centos7.sh It accepts a version no. as CLI parameter e.g. 2.0.3

The script installs wine in /usr/local/ directory by default. We can verify the files that are being copied for wine using "cd /usr/src/wine-2.0.…

Strings in Switch statements - a new JDK 7 feature

JDK 7 is the next release of Java language. There are lot of expectations from this release. For the first time Java is being modeled outside Sun Microsystems. Now JDK 7 has got a net host, openJdk community.

There are quite a few features planned in JDK 7. Some of them may prove to be a milestone for Java language. But my personal liking is a very small feature rather project called Project Coin. Coin serves to add small language features to Java which will make programmer's life easy. The JavaOne 2010 presentation for Project Coin lists the following features as accepted ones in JDK 7 time frame.


  • Binary literals and underscores in literals
  • Strings in switch
  • Varargs warnings
  • Diamond
  • Multi-catch and more precise rethrow
  • try-with-resources (formerly known as Automatic Resource Management, ARM)

Out of these features, the most attractive to me was "Strings in switch". This is something I've longed for from my college days. I mean, though it was not Java (it was C) still I dreamed of writing switch statements with strings. Finding a unique hashcode for each string to be switched was tedious. In Java 5, usage of Enum constants in a switch statement was allowed. Still it did not fit.
Why do you use a switch block? Simple, when we have many alternative possibilities. See the below code -


This method returns no. of days when you pass the name of the month. But till now Java programmers used to  write the method in this way. Some really cool dudes will try to construct an enum and use it in a switch block. But still we need a string comparison in order to set the value to the switch variable. Not too cool.

Won't it be great if we can do the same code using switch construct. JDK 7 is coming with exactly the same promise. It will allow developers to use strings in switch. Check it out-

This feature requies change in JLS as well as in Java compiler and JRE. The implementation still uses string.hashCode() to find out the integer which can be used in native switch blocks. But now this will be done by java compiler. This will reduce the effort of Java developer and make the code more readable. The detailed strings in switch proposal can be found here.

Comments