Skip to main content

Ubuntu Gutsy 64bit Wine misses ssl support so Google Picasa can not sign in.

Today I have realized that Picasa - I am using "windows version" of picasa under wine - can not sign me in - means no web upload is possible - from my home machine (Ubuntu Gutsy 64bit) and wine showed the following error:

fixme:win:FlashWindowEx 0x33afd4
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (10000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT not supported on protocol 1
fixme:wininet:NETCON_init can't use SSL, not compiled in.


I was a bit surprised since Picasa on my office notebook (Ubuntu Feisty 32bit) worked fine. So checked the error and decided to recompile wine and see if ssl is really not compiled in.

First I downloaded the source and dependencies needed to compile.

# apt-get build-dep wine

I would mention that it will download a lot.
Then downloaded wine source too into a temporary directory and tried to compile.

# mkdir /tmp/wine_build
# cd /tmp/wine_build
# apt-get source wine
#
cd wine-0.9.45
#
dpkg-buildpackage -rfakeroot -b


And part of the result is:

checking for -lcapi20... not found [ CAPI support ISDN Cards ]
checking for -lcups... not found [ CUPS printing support ]
checking for -ljack... not found [ Jack audio server support ]
checking for -lssl... not found
checking for -lcrypto... not found
checking for -ljpeg... not found
checking for -lpng... not found


So configure could not find ssl library. After some check it turned out that this is a 32 bit compilation therefore it needs 32 bit libraries. And of course I did not have some 32 bit lib on my system. My current problem is the access of internet because of the missing ssl support so now focus on this.

I have downloaded libssl0.9.8_0.9.8e-5ubuntu1_i386.deb and extracted this and copied the missing files to the right place and created required soft links.
# mkdir /tmp/libssl
# dpkg -x libssl0.9.8_0.9.8e-5ubuntu1_i386.deb /tmp/libssl
# cp /tmp/libssl/usr/lib/libssl.so.0.9.8 /usr/lib32/
# cp /tmp/libssl/usr/lib/libcrypto.so.0.9.8 /usr/lib32/
# ln -s /usr/lib32/libssl.so.0.9.8 /usr/lib32/libssl.so
# ln -s /usr/lib32/libcrypto.so.0.9.8 /usr/lib32/libcrypto.so


If you try to compile wine again with dpkg-buildpackage -rfakeroot -b this should work now.

[ Update: It took a long time on my machine. :( But finally it is working. :) ]

[ Update: I saw sadly that some fonts are not visible under Picasa. Hmmm. Not easy to get it to work. But it can be. If you have font problem install msttcorefonts. But that is not all you have to do. After that you have to remove your ~/.wine directory and reinstall Picasa. The important thing is not Picasa reinstallation. But when wine does not find a ~/.wine it recreates and this is the point after all. I'll try to find another way to do this but this is working. ]

[ Update: Tried to start EVE Online under wine and found two problems. Both were discussed on wine web page but here are details.
Main error is below but first solve the easier one:
First
$ cp /usr/share/fonts/truetype/msttcorefonts/arial.ttf ~/.wine/drive_c/windows/fonts/

Main error message:
fixme:d3d_draw:drawPrimitive Using software emulation because not all material properties could be tracked
Still do not know really how to solve this.]





P.S. :
As you could see some other libraries are missing too. So if you have a similar problem just do a procedure like this and you can correct it.


[Remark]
The following libraries were also missing:
checking for -lcapi20... not found
checking for -lcups... not found
checking for -ljack... not found
checking for -lssl... not found
checking for -lcrypto... not found
checking for -ljpeg... not found
checking for -lpng... not found

The followings are also missing so in case of problem with wine on 64 bit linux you should consider this list:
checking for IceConnectionNumber in -lICE... no
checking for x86_64-linux-gnu-ar... no
checking for x86_64-linux-gnu-ranlib... no
checking for x86_64-linux-gnu-strip... no
checking for x86_64-linux-gnu-windres... no
checking for windres... no
checking for lclint... no
checking for lint... no
checking for i386_set_ldt in -li386... no
checking for _oss_ioctl in -lossaudio... no
checking AudioUnit/AudioUnit.h usability... no
checking AudioUnit/AudioUnit.h presence... no
checking for AudioUnit/AudioUnit.h... no
checking Carbon/Carbon.h usability... no
checking Carbon/Carbon.h presence... no
checking for Carbon/Carbon.h... no
checking CoreAudio/CoreAudio.h usability... no
checking CoreAudio/CoreAudio.h presence... no
checking for CoreAudio/CoreAudio.h... no
checking DiskArbitration/DiskArbitration.h usability... no
checking DiskArbitration/DiskArbitration.h presence... no


Comments

Popular posts from this blog

Insufficient Disk Space reported under wine

Did you try to install/setup any Windows Application - actually a Game what else could be necessary - and got a message that you do not have enough free space on your drive meanwhile you had lot of free space on the chosen mounted partition? You will learn the problem and hopefully the solution too. (Of course I suppose it is not the real situation you have no enough space. If so do not read ahead.) The problem is that wine does not check the amount of free space on the mounted partition corresponds to the selected directory but reports the free on the root of the directory the partition mounted to . ;( Probably it is not clean so here is an example: Let say you have / only and something is mounted as /mnt/part1 If you directly select /mnt/part1 during installation wine will check free space in fact on / and does not calculate free on the partition mounted under /mnt/part1. How to solve it you may ask? It is easy. Start winecfg and create a new drive with the directory you want to use.

Ansible: Using multiple tags and untagged tag together

I have lots of Ansible playbooks with many roles in each. However when you are installing different minor version of the same software stack, there are only minor differences between the steps. In this case it does not make much sense to "copy paste" the whole role so I just wanted to use tags. I wanted to use untagged tasks as common tasks and tagged tasks for version specific tasks. To make it clear here is an example. If you have a long os related role which does ssh config, web config, database install and creation and many more but sometimes you need java-6 or java-7 it is easy to add task and tag those according to this. Than my theory was that I can run ansible-playbook --tags=untagged,java6 to install the stack with java6 and ansible-playbook --tags=untagged,java7 to install same stack with java7. However this does not work. I have checked the Ansible source code and found why it is not working. Since I was not sure if this is a bug or by design I have opened a

Python Azure ML SDK issue on Ubuntu 22.04

It has been quite a while since I posted last time. Why? Because simply I did not run into any issue worth to share. But now! I did.  Recently we are doing some Machine Learning on Azure using Azure Machine Learning Python SDK. No problem you might think. Well. As it turned out Ubuntu 22.04 is not supported. And this is clearly said in a message. Which is in fact a lie. The Error message: NotImplementedError: Linux distribution ubuntu 22.04 does not have automatic support. Missing packages: {'liblttng-ust.so.0'} .NET Core 3.1 can still be used via `dotnetcore2` if the required dependencies are installed. Visit https://aka.ms/dotnet-install-linux for Linux distro specific .NET Core install instructions. Follow your distro specific instructions to install `dotnet-runtime-*` and replace `*` with `3.1.23`. Ok but what is this? And why? So as the error mentions dotnetcore2==3.1.23 Python package uses .NET Core 3.1 but Ubuntu 22.04 has only dotnet6 packages. And also Micro