Installing .NET framework in Wine and Fedora 23 - fedora

I am using Fedora 23. I installed Wine 1.75 in it, but i cannot install .NET framework 4. When i try to install framework 4 it shows "already installed a same or higher version". I don't know how to remove the higher version.

Only way to remove dotnet from a wineprefix is manually removing its files. (assuming this does not break something else, which it may)
It is much easier to delete the whole wine folder and start from a new fresh prefix.
Step-by-step and assuming you got wine installed in ~/.wine you should:
remove existing wine prefix:
rm -rf ~/.wine
make a new win32 architecture wine prefix (no need to specify
wineprefix path - it defaults to ~/.wine)
WINEARCH=win32 winecfg
Now, it is much easier to have winetricks installed for such tasks, so make sure you do that before going on.
Afterwards, depending on what dotnet you want, install it like so:
winetricks dotnet452
or for dotnet 3.5sp1:
winetricks dotnet35sp1
or whatever other dotnet version you want. You can see all the dlls
winetricks has scripts on how to install:
winetricks dlls list
Also keep in mind that you don't have to install all previous dotnets one-by-one, the winetricks script will do that for you with usually better results.
Finally remember that if you install dotnet2 and then run winetricks again to install another dotnet on top, it won't work and even if you -f force it.
For further info on the subject, check the wine app db dotnet 40 entry and the arch wiki article on wine

Related

Install GreenPAK Designer RPM

I am attempting to install closed source software from Silego, GreenPAK Designer, on a machine running Fedora 19. The supported installation packages on Silego's Website only target Ubuntu and Debian. I downloaded the .deb package and used Alien to convert to an RPM. So far so good, but a dry run of yum install showed dependency errors, which I solved by installing the necessary packages with yum:
qt5-qbase
qt5-qbase-gui
qt5-qtdeclarative
qt5-qtlocation
qwt
Now, yum installed the above libraries in /usr/lib/ but the GreenPAK RPM defaults to /usr/local/bin as the output dir. I figured I could run
sudo yum localinstall --nodeps --noscripts greenpak-designer-x.x.x.rpm
and get a successful install but I received conflict errors relating to dirs such as '/', '/usr', '/usr/bin' etc. I worked around this issue with:
rpmrebuild -pe --notest-install --replacefiles --noscripts greenpak-designer.x.x.x.rpm
and removing the offending lines in the script. It allowed me to install rpm but the software is broken because of dependency issues (not surprisingly). From the system log:
Jan 4 16:06:49 pelican gnome-session[1729]: /usr/local/greenpak-designer/bin/GP5: error while loading shared libraries: libicui18n.so.52: cannot open shared object file: No such file or directory
The machine has a /usr/lib/libicui18n.so.50
One thing I did not try is rebuilding my shared object cache with ldconfig, which sometimes solves problems with missing .so links when building from source but I don't see how that would apply in this instance (I'm not trying to link object files to libraries, rather simply trying to drop binaries in default install locations, no?)
Of course, I contacted the vendor and begged for an RPM. The contact was helpful but informed me the software folks are on a well deserved break. I thought I'd continue puttering with this in the meantime while I have time.
Any ideas? It seems the solution to this problem would be helpful when trying to install almost any closed source software targeting Debian on a Fedora box.

Possible to write versions in composer.json similar to npm update --save

Handed a project that has a composer.json that has all package versions listed as "*" and has no composer.lock file
In the original project, running composer show, tells me all versions of everything installed. Excellent.
Running the project on a different machine, running composer install gets all the latest packages, which breaks the project because major updates mess with everything.
I'd love to know if it's possible to trade out all those "*"'s with caret version numbers utilising composer show --save-dev or something similar. Perhaps only possible by running a script or installing something?

Build Java JDK for LibGDX packing

I want to build my own java JDK so I can package my LibGDX game through launch4j or packr. This page suggests to use these prebuilt jdks, but that project has been discontinued. That page redirects to another github where I can get prebuilt jdks for Windows 64bit, however I need more builds for Mac and Linux (at least mac, because that's what I'm on).
I know there are other places to obtain built jdks for packing java applets and LibGDX games, but I rather just skip that hassle and build my own binaries with the jdk I'm using on my own computer.
If there are better ways to easily package my LibGDX game, I would love to know.
tl;dr: I want to build my own binary jdks so I can use packr or launch4j to package my LibGDX game for distribution across multiple platforms.
Building OpenJDK 8 yourself is not that hard. It's a bit tricky, but manageable once you figure out the important things.
First, you need to find the right version/tag of OpenJDK 8 to build. The current latest release appears to be u112-b16. You should clone the main 8-update repository and the subrepositories (corba jaxp jaxws langtools jdk hotspot nashorn):
hg clone https://hg.openjdk.java.net/jdk8u/jdk8u -u jdk8u112-b16 -r jdk8u112-b16
cd jdk8u
for repo in corba jaxp jaxws langtools jdk hotspot nashorn; do
hg clone https://hg.openjdk.java.net/jdk8u/jdk8u/$repo -u jdk8u112-b16 -r jdk8u112-b16
done
Then, take a look at the README-builds.html file that covers things like how to get all the dependencies you need for your platforms.
Once you have all the dependencies and everything you need to build, building itself looks like this:
cd jdk8u
mkdir build
cd build
bash ../configure \
--with-milestone="fcs" \
--with-update-version=112 \
--with-build-number=b16 \
# your other configure flags go here
make all
Once the build completes, the JDK is available under jdk8u/build/images/j2sdk-image/ and the JRE is available under jdk8u/build/images/j2re-image.
The AdoptOpenJDK folks have some fairly extensive docs that you might find useful: https://adoptopenjdk.gitbooks.io/adoptopenjdk-getting-started-kit/content/en/binaries/build_openjdk_8.html
If you run into issues, feel free to drop by #openjdk on irc.oft.net.

"Yum Update" reinstalling removed packages

On my Fedora 19 system, yum update attempts to reinstall a large number packages I have previously removed. This should not happen, as the packages listed are not installed and should not be suggested by yum. How can I make yum work in the expected manner - with updates suggesting only upgrades to preinstalled packages.
Background: I have been trying out new DEs - installing and removing them as I go. Currently, I'm in a DE-less state, booting directly into a tty terminal. My system has no (or a few hidden) xfce or cinnamon packages to "upgrade", yet the package manager is suggesting 300 packages to install, totaling 600M of new install.
Terminal output gist:
https://gist.github.com/Redoubts/29400f0b98cd13120a6a#file-gistfile1-txt
Short answer - It's not possible to disallow installing any packages from the depenency chain. Either you install all of them or drop those who depends on unwanted packages.
In some cases, when the package from a dependency chain is required only during some specific stages of installation (say for execution of a pre- or post-install scripts), it's possible to remove thise package later, after the complete installation. But that's not what you want I suppose.

Accessing 6th generation iPod nano on linux

I've been trying to access a 6th generation iPod nano on linux. I tried the gtkpod that comes with Debian Squeeze and it seems it doesn't support the 6th generation nano. So I tried iTunes under wine and it barely installed and wasn't very functional. Then I tried foobar2000 under wine, which did install but didn't seem to detect my ipod.
I've now tried to compile gtkpod 2.0.2, but I'm getting issues with libtool trying to compile libgpod, and I don't even know if gtkpod 2.0.2 supports the 6th generation nano, although I did see a few references to the 6th generation nano in gtkpod's changelog.
Anyone know the best approach here?
Warning: the following solution should ONLY be used for iPod nano 6th gen.
The following is said on the gtkpod homepage:
The ipod nano 6th generation CANNOT be written to unless a binary-only blob is used
The binary (originally written for Ubuntu 12.04) can be downloaded and extracted from here or here and should work on Ubuntu (I tested it on Ubuntu 18.04) and Slackware.
You can find out if your system is 64-bit or 32-bit with the command uname -i. It will return i386 for 32-bit and x86_64 for 64-bit.
Extract the archive file.
Read the readme.md.
For 64-bit Ubuntu run:
sudo ./install_64bit.sh
For 32-bit Ubuntu run:
sudo ./install_32bit.sh
After that libgpod-based software like gtkpod, Banshee, Rhythmbox, Amarok, Clementine (and its new fork Strawberry), gPodder and a few others should work with iPod nano 6th gen.
Well... I just compiled gtkpod 2.0.2 and libgpod 0.8.2 and didn't get it to work. ALTHOUGH in the readme it seems to indicate that you COULD get it to work if you got a file that was already on that and did some reverse hackery to get the hash72. Sounds like a bit of work and I haven't done that yet. I'll be trying, but need to load some music on it first.
What's odd is that gtkpod did copy files over, just not seen on the nano. I'm sure I need to get the hash correct then I'll be ok.