IBM Notes 9.0 and Ubuntu 64

(Moved this to our new blogsite http://www.infoware.com/?p=1106)
Background
Customer running 64 bit Ubuntu 12.04 LTS as their primary client platform.
Customer wants Notes 9.0 to be their primary collaboration client.

I googled on this and got no satisfactory solution for implementing this in a corporate production environment as all of the solutions were using force to install and some ended up with broken dependencies and so on.
The goal for me was to install this without broken dependencies and a fully functional operating system without warnings inside update manager.

Requirements
To install Notes 9 in Ubuntu 64 I’m assuming the following:

1. You are using an administrative account and you are using Ubuntu 12.04 LTS 64 bit

2. No other Notes installations are present to begin with.
To check out if there are any other ibm/lotus installations present use the following command in a terminal window (open it an expand it to see all information):
sudo dpkg -l ‘ibm*’:i386 | grep ii (in 32 bit it is sudo dpkg -l ‘ibm*’ | grep ii)

If you have earlier installations you should be able to uninstall them one by one with the following:
sudo dpkg -r <packagename>
sudo dpkg –purge <packagename>

Unpack
Unpack your downloaded tar files and extract the file ibm-notes-9.0.i586.deb to ibm-notes-9.0.i586 folder and the rename ibm-notes-9.0.i586.deb to original-ibm-notes-9.0.i586.deb

Change the package
Go into the ibm-notes-9.0.i586 folder and into the DEBIAN folder
(here it is a good idea to show hidden files, done by pressing Ctrl+H while in file browser)
Open the file control in edit mode and remove the following:

gdb, coreutils, unzip, bash, procps, grep, sed,

from the Depends line, control file should now look lihe this:

Screenshot from 2013-07-26 11:38:18save the file and leave the editor

If you have a hidden file called control~ after editing the actual control file delete the file control~

NOTE: To keep things clean inside your packages always show hidden files and all files created with the ~ ending should be deleted before recompiling the package.

Before creating the new package you should also consider to change the file plugin_customization.ini that is located under the same folder ibm-notes-9.0.i586 but under opt/ ibm/notes/framework/rcp to make it more customized for your needs. See example further down in this document.

Repacking/compressing the new package
Now in a terminal window go to the folder where you first unpacked your tar file.
In that folder the ibm-notes-9.0.i586 folder should now be available and the file ibm-notes-9.0.i586.deb must not be there. Issue the command:

sudo dpkg-deb -b ibm-notes-9.0.i586

If everything goes well a new ibm-notes-9.0.i586.deb file is created.

Installing files that installation depends on
Now, still present in the control file inside the package there are still dependencies that must be installed before proceeding with the installation of the Notes 9.0 client. This is also true for the 32 bit version of Ubuntu even if the deb file doesn’t need to be changed there.

Install for 64 bit dependencies
In a terminal window issue the command:

sudo apt-get update; sudo apt-get install ia32-libs libgnomeprint2.2-0:i386 libgnomeprintui2.2-0:i386 libbonobo2-0:i386 libbonoboui2-0:i386 libgconf2-4:i386 libgnome-desktop-2-17:i386 libgnomevfs2-bin:i386 libgnomeui-0:i386 libjpeg62:i386 libpam0g:i386 libxkbfile1:i386 ttf-xfree86-nonfree t1-xfree86-nonfree -y

or if you want to put it inside a script:
(if the script is already in sudo, remove sudo before apt-get)

sudo apt-get update
sudo apt-get install ia32-libs -y #NOT to be used in 32 bit Ubuntu
sudo apt-get install libgnomeprint2.2-0:i386 -y
sudo apt-get install libgnomeprintui2.2-0:i386 -y
sudo apt-get install libbonobo2-0:i386 -y
sudo apt-get install libbonoboui2-0:i386 -y
sudo apt-get install libgconf2-4:i386
sudo apt-get install libgnome-desktop-2-17:i386 -y
#sudo apt-get install libgnome-desktop-3-2:i386 -y #for 32 bit it works instead of 2-17
sudo apt-get install libgnomevfs2-bin:i386
sudo apt-get install libgnomeui-0:i386 -y
sudo apt-get install libjpeg62:i386
sudo apt-get install libpam0g:i386
sudo apt-get install libxkbfile1:i386
sudo apt-get install ttf-xfree86-nonfree
sudo apt-get install t1-xfree86-nonfree

Using this in 32 bit version the :i386 must be removed because it is already i386 also ia32-libs should NOT be installed in 32 bit version

Checking that there are no dependencies left
Install the program GDebi Package Installer from Ubuntu Software Center.
In a window Right click on the ibm-notes-9.0.i586.deb and choose Open With GDebi Package Installer.
Don’t use this to install only to see that there are no more dependencies left.
(you can use this to install but not to uninstall in 64 bit)

Installing the client
This is the commands to install but you can always choose to not install all of these features, but you must start with ibm-notes-9.0.i586.deb.

sudo dpkg -i ibm-notes-9.0.i586.deb
sudo dpkg -i ibm-cae-9.0.i586.deb
sudo dpkg -i ibm-feedreader-9.0.i586.deb
#sudo dpkg -i ibm-connections-4.5.0.i586.deb #See instructions further down
sudo dpkg -i ibm-activities-9.0.i586.deb
sudo dpkg -i ibm-sametime-9.0.i586.deb
sudo dpkg -i ibm-opensocial-9.0.i586.deb

As we all know the full Activities and Status Update package (IBM Connections Plug-ins for IBM Notes) is delivered as an update instead of being included in the activities package for Linux. The only thing included in the activities package is the Business card component. Further down in this document I will give an unsupported solution to install the “IC45PluginsforIBMNotes-20130517-1715.zip” as an install package directly instead of using provisioning to install it as a plug-in.

Uninstalling the client
Try to uninstall packages in reverse order from installing them this means ibm-notes-9.0.i586.deb goes last.Here are the commands to do this:

Check what is installed with sudo dpkg -l ‘ibm*’:i386
could look like this:
Screenshot from 2013-07-26 13:46:48

based on this uninstall looks like this
sudo dpkg -r ibm-notes:i386
sudo dpkg –purge ibm-notes:i386

Example of plugin_customization.ini
This example assumes that you are using Domino Directory and have Sametime Community in a separate Domain from the Domino Directory and using LDAP. Sametime is 8.5.2 IFR1 and with meeting proxy and so on. As for the Connections parameters in this it is only for hiding sidebars so that can install them but hide them by default. Connection configuration for the client could be done from Domino policys after this. The example gets you going with Notes client and Sametime in a SSO (if you have configured it correctly) scenario and you can build on this to do the same with Activities and Status Updates. This example also open up the Application install so that it is available for clients when needed. Sametime Community servers should also be able to respond to any client request coming on port 1352 regardless of the Domino server names as we are using them (clustered configuration) to authenticate the clients for SSO.

com.ibm.collaboration.realtime.bcs/skilltapServicePath=/bcsa/servlet/rpcrouter
com.ibm.rcp.esupport.client/defaultTaxCode=SSKTWP\!8\!5
com.ibm.collaboration.realtime.brokerbridge/startBroker=false
com.ibm.rcp.topologyhandler/hashCacheFilenames=true
com.ibm.rcp.provisioning/startupProgressRect=18,18,400,20
com.ibm.collaboration.realtime.webapi/startWebContainer=true
com.ibm.rcp.security.update/VERIFICATION_LISTENER=com.ibm.rcp.security.update.PromptVerificationListener
com.ibm.rcp.personality.framework/DISABLE_EXCEPTION_DIALOG=true
com.ibm.rcp.managedsettings/com.ibm.notes.desktopsets=com.ibm.notes.managedsettings.provider.PolicyProvider
com.ibm.rcp.esupport.client/defaultCollector=general.problem.noninteractive
com.ibm.esupport.autopd.ui/useSingleArchive=true
com.ibm.esupport.autopd.ui/showPortableCollector=false
com.ibm.collaboration.realtime.community/defaultAuthType=ST-DOMINO-SSO
com.ibm.rcp.provisioning/startupForegroundColor=000000
com.ibm.rcp.ui/HIDE_PANEL_com.ibm.rtc.meetings.shelf.ui.MeetingsShelf.shelfview=true
com.ibm.rcp.security.update/UNSIGNED_PLUGIN_POLICY=ALLOW
com.ibm.rcp.ui/HIDE_PANEL_com.ibm.collaboration.realtime.filteredbuddies.shelfview=true
com.ibm.rcp.ui/HIDE_PANEL_com.ibm.collaboration.realtime.primarybuddies.shelfview=true
com.ibm.rcp.provisioning/startupMessageRect=20,43,400,20
com.ibm.rcp.security.update/EXPIRED_SIGNATURE_POLICY=ALLOW
com.ibm.rcp.security.update/UNTRUSTED_SIGNATURE_POLICY=ALLOW
com.ibm.rcp.toolbox.admin/toolboxvisibleChild=false
# IBM Sametime Config
# Community Server
com.ibm.collaboration.realtime.community/name=<your COMMUNITY_ID>
com.ibm.collaboration.realtime.community/host=<your community server FQDN>
com.ibm.collaboration.realtime.community/defaultAuthType=ST-DOMINO-SSO
com.ibm.collaboration.realtime.community/loginByToken=true
com.ibm.collaboration.realtime.community/loginAtStartup=true
com.ibm.collaboration.realtime.login/autologin=true
com.ibm.collaboration.realtime.community/port=80
com.ibm.collaboration.realtime.community/connectionType=direct
# Sets timeformat
com.ibm.collaboration.realtime.chatwindow/showtimestamp=true
com.ibm.collaboration.realtime.chatwindow/timeformat=24
# Meeting Server
com.ibm.rtc.meetings.shelf/meetingServerHostName=<your meeeting server FQDN>
com.ibm.rtc.meetings.shelf/serverPort=443
com.ibm.rtc.meetings.shelf/useHTTP=false
com.ibm.rtc.meetings.shelf/useHTTPS=true
com.ibm.rtc.meetings.shelf/communityServerName=<your community server FQDN>
com.ibm.rtc.meetings.shelf/useCommunityCredentials=true
com.ibm.rtc.meetings.shelf/meetings.launchURLRichClient=true
com.ibm.rtc.meetings.shelf/instantMeetingShowDialog=true
com.ibm.collaboration.realtime.meetings/hasCamera=true
com.ibm.collaboration.realtime.meetings/hasSpeakers=true
com.ibm.collaboration.realtime.meetings/hasMic=true
com.ibm.collaboration.realtime.meetings/hideLegacyMeetingUI=true
# Handles the contact list conflict popup
com.ibm.collaboration.realtime.imhub/showBuddyListConflictDialog=false
com.ibm.collaboration.realtime.imhub/buddyListConflictPref=replaceLocal
# Activates chat logging
com.ibm.collaboration.realtime.chat.logging/logging.default=2
com.ibm.collaboration.realtime.chat.logging/logging.enabled=true
com.ibm.collaboration.realtime.chat.logging/logging.service=service.notes
com.ibm.collaboration.realtime.chat.logging/firsttime.askprefs=true
# Handles the a media manager popup error message
com.ibm.collaboration.realtime.telephony.softphone/suppress.failed.sip.registration=true
# Path for file transfer
com.ibm.collaboration.realtime.filetransfer/saveFileLocation=\\SametimeFileTransfer
# IBM Connections Config
com.ibm.rcp.ui/HIDE_PANEL_com.ibm.workplace.ae.client.views.AESideShelfView=true
com.ibm.rcp.ui/HIDE_PANEL_com.ibm.lconn.statusupdates.ui.shelfview=true
# Status Updater Fix to show profile pictures
com.ibm.lconn.statusupdates/download.image.enabled=true
# Fix Getting Started page
com.ibm.rcp.jfaceex/overrideAutoStart=com.ibm.rcp.gettingstarted.GettingstartPerspective
# Install Application Menu
com.ibm.notes.branding/enable.update.ui=true

IBM Connections Plug-ins for IBM Notes as an installer instead of a plug-in (unsupported solution but still nice to have)

Extract IC45PluginsForIBMNotes-20130517-1715.zip and go into the updateSiteforLinux folder and copy the file updateSite.zip to folder of your choice where you want to work with it.
Copy the file ibm-activities-9.0.i586.deb (from the installation kit) to the same folder as the above updateSite.zip where copied to.

Extract the ibm-activities-9.0.i586.deb to the ibm-activities-9.0.i586 folder
Rename the ibm-activities-9.0.i586 folder to ibm-connections-4.5.0.i586

Go into the folder ibm-connections-4.5.0.i586 and delete all files in features and plugins folders in the opt/ibm/notes/framework/shared/eclipse sub three but leave the folders.

Extract the updateSite.zip to the updateSite folder.
Extract all of the jar files in the features folder.Move all of the newly crated folders into the features folder of ibm-connections-4.5.0.i586 above.
Copy the jar files from the updateSite plugins folder to the plugins folder of ibm-connections-4.5.0.i586 above

Go into the DEBIAN folder of ibm-connections-4.5.0.i586
Open the file control in gedit and change:
Package: ibm-connections-plugin
and
Version: 4.5.0.20130224-1730
save the file and leave the editor.

Change the contents of 2 files in the following folder of ibm-connections-4.5.0.i586:
/opt/ibm/notes/framework/rcp/deploy folder contains 2 xml files that needs to be changed:
install.ibm_activities.xml
and
uninstall.ibm_activities.xml

Replacing the content of install.ibm_activities.xml

<?xml version=”1.0″?>
<ibm-portal-composite>
<domain-object name=”com.ibm.rcp.installmanifest”>
<object-data>
<install version=”4.5.0.20130224-1730″>
<installfeature mergeaction=”add” require=”true” default=”false” description=”%Activities.description” id=”Activities” name=”%Activities.name” required=”false” show=”true” version=”4.5.0.20130224-1730″>
<requirements>
<feature id=”com.ibm.lconn.client.bizcard.feature” version=”4.5.0.20130224-1730″ shared=”true” action=”install” download-size=”2452″ match=”greaterOrEqual” mergeaction=”add” size=”2101″/>
<feature id=”com.ibm.lconn.statusupdates.feature” version=”4.5.0.20130224-1730″ shared=”true” action=”install” download-size=”2452″ match=”greaterOrEqual” mergeaction=”add” size=”2101″/>
<feature id=”com.ibm.lconn.client.activities.nl.feature” version=”4.5.0″ shared=”true” action=”install” download-size=”2452″ match=”greaterOrEqual” mergeaction=”add” size=”2101″/>
<feature id=”com.ibm.lconn.client.activities.feature” version=”4.5.0.20130224-1730″ shared=”true” action=”install” download-size=”2452″ match=”greaterOrEqual” mergeaction=”add” size=”2101″/>
</requirements>
</installfeature>
</install>
</object-data>
</domain-object>
</ibm-portal-composite>

Replacing the content of uninstall.ibm_activities.xml

<?xml version=”1.0″?>
<ibm-portal-composite>
<domain-object name=”com.ibm.rcp.installmanifest”>
<object-data>
<install version=”4.5.0.20130224-1730″>
<installfeature default=”false” description=”%Activities.description” id=”Activities” name=”%Activities.name” required=”false” show=”true” version=”4.5.0.20130224-1730″>
<requirements>
<feature action=”uninstall” id=”com.ibm.openactivities.client.feature” match=”greaterOrEqual” shared=”true” version=”1.0.0″/>
<feature action=”uninstall” download-size=”2452″ id=”com.ibm.lconn.client.bizcard.feature” match=”greaterOrEqual” shared=”true” size=”2101″ version=”4.5.0.20130224-1730″/>
<feature action=”uninstall” download-size=”2452″ id=”com.ibm.lconn.statusupdates.feature” match=”greaterOrEqual” shared=”true” size=”2101″ version=”4.5.0.20130224-1730″/>
<feature action=”uninstall” download-size=”2452″ id=”com.ibm.lconn.client.activities.nl.feature” match=”greaterOrEqual” shared=”true” size=”2101″ version=”4.5.0″/>
<feature action=”uninstall” download-size=”2452″ id=”com.ibm.lconn.client.activities.feature” match=”greaterOrEqual” shared=”true” size=”2101″ version=”4.5.0.20130224-1730″/>
</requirements>
</installfeature>
</install>
</object-data>
</domain-object>
</ibm-portal-composite>

Repacking/compressing the new package

Open a terminal window and go to the working directory of your choice.
Issue the command:

sudo dpkg-deb -b ibm-connections-4.5.0.i586

If everything is OK a ibm-connections-4.5.0.i586.deb file is created.

Installing the new package

sudo dpkg -i ibm-connections-4.5.0.i586.deb

Uninstalling the new package

Check what is installed with sudo dpkg -l ‘ibm*’:i386
could look like this:
Screenshot from 2013-07-26 15:57:29

based on this uninstall looks like this
sudo dpkg -r ibm-connections-plugin:i386
sudo dpkg –purge ibm-connections-plugin:i386

Conclusion

It seems to me that the installation of the Notes 9.0 client in a 64 bit Ubuntu environment is not going to be done without changing and repacking/compressing the package(s) as well as installing some dependencies from the 32 bit environment. On the other hand, from experience, other client environments like Windows usually involve this type of changes to include own versions of eg. plugin_customization.ini so this is not so much different than customizing and testing any other package in any other environment as you do inside larger corporate environments.

Shortlink to this document: http://www.infoware.com/?p=1106

Advertisements

18 thoughts on “IBM Notes 9.0 and Ubuntu 64

      • I have the problem with Notes 9.0.1FP1 on Lubuntu 14.04.1 64b.
        Blank mail and calendar.

        First start (with the licence and configure process) is always ok but as soon as I restart.. blank mail and calendar.
        If I delete my ibm/lotus/data directory and redo the setup then it’s ok until I restart.

        Did anyone figure out what was happening there ?

      • I have exactly the same problem as Whatever:
        First startup is fine and everything works. When I shut Notes down and want to start it again, it is not possible. My setup is Notes 9.0.1 on Ubuntu 14.04 64bit.

  1. Astonishingly useful information, thanks! Got it working on 13.10 after getting rid of just a couple more (libcupsys2–>libscups2, getting rid of dependency on ia32-libs and installing lib32z1, lib32ncurses5, lib32bz2-1.0 instead). Works okay-ish with some rendering as Julian noted above.

    • I also had some rendering problems in 12.04 LTS, but it turned out that it was not due to the fact that I was running 64 bit. To prove this I made the same install in a 32 bit 12.04 LTS and got the same problem. Before I did this I was chasing ghost inside the 64 bit environment. My biggest problem was the status bar that got stuck when I expanded it, to get rid of it I had to restart the client. This problem still persists.

      My comment on the ghost chasing in 64 bit, instead of trying in 32 bit:
      “Assumptions is the mother of all f-ups”

  2. Thanks for the info. I am on 13.10 and it works except for SAmetime, I am able to see people online but I cannot send a message to them and when they send to me it just waits for a response and I never get the message… Thoughts?

    • You could check:

      Preferences\Sametime\Notifications especially “One-on-one chat” to make sure that windows goes to the front and so on.
      Also I had problem earlier when I had
      “Use tabbed windows for multiple chats” in the Chat Window section

      • Settings were as described above, there is no firewall between me and sametime/recipient.. Today I ran Notes from the terminal so I could see errors as it was running. Everytime I double click on a persons name to send an IM I get the following:
        ————————————————————-
        XPCOMGlueLoad error for file /opt/ibm/notes/framework/rcp/eclipse/plugins/com.ibm.rcp.xulrunner.runtime.linux.x86_9.0.1.20131002-1404/xulrunner/libxpcom.so:
        libxul.so: cannot open shared object file: No such file or directory
        ————————————————————-
        The file is there, is set as executable and has my username set as owner and croup as does everything else in that directory.

      • Seems to me that you have en environment problem, probably in eclipse or in library paths.
        I have no solution but I think you need to think if you have made any updates of xulrunner or any other things around eclipse itself.
        I did a fast search with:
        “XPCOMGlueLoad error for file” eclipse
        on Google and that could be a starting point.
        I found 2 links that could get you started also with “similar” problems one of which the status was solved by changing environment:

        https://bbs.archlinux.org/viewtopic.php?id=129984
        http://www-01.ibm.com/support/docview.wss?uid=swg21598554

        I have no clue if this will help you but I guess it is a starting point

  3. A few updates perhaps to this without having to install the deprecated ia32-libs…

    ########################
    ### enable i386 arch ###
    ########################
    sudo dpkg –add-architecture i386 && sudo apt-get update

    ##############################
    ### Notes Deb Dependencies ###
    ##############################
    (Based on the step for modifying the ibm-notes-9.xxxxx.i586.deb)

    Hint: I used “ibm-notes-9.0.1.amd64” as the folder name to build a meaningful deb name and because I’m absent minded.

    Well, taking all the advice on the Notes Deb Predepends, and using to get the i386 libs, I found that installing anything newer than libgnome-desktop-2-17:i386 screwed the system. I then installed this based on the original Predepends and the suggestions in the post and posts related to yours…

    sudo apt-get install libart-2.0-2:i386 libasound2:i386 libatk1.0-0:i386 libbonobo2-0:i386 libbonoboui2-0:i386 libc6:i386 libcups2:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386 libgconf2-4:i386 libgtk2.0-0:i386 libglib2.0-0:i386 libgnome2-0:i386 libgnomecanvas2-0:i386 libgnome-desktop-2-17:i386 libgnomeui-0:i386 libgnomevfs2-0:i386 libglib2.0-0:i386 libice6:i386 libjpeg62:i386 liborbit2:i386 libpam0g:i386 libpango1.0-0:i386 libpng12-0:i386 libpopt0:i386 libsm6:i386 libstdc++6:i386 libx11-6:i386 libxcursor1:i386 libxext6:i386 libxft2:i386 libxi6:i386 libxkbfile1:i386 libxml2:i386 libxp6:i386 libxrender1:i386 libxss1:i386 libxt6:i386 libxtst6:i386 libz1:i386 gtk2-engines-murrine:i386

    You will notice the last entry is the Engine for the default them used, so Notes doesn’t look a very old piece of poo. If you’ve changed your engine, you will need to install the i386 version to get Notes to look normal.

    So, I don’t know whether you could use “, ” delimiters and replace the Predepends with the stuff above in the Notes Deb as I’ve got them all installed now and don’t have time to build another machine to test. If Predepends doesn’t like “:i386” stuff then resort to a blank one and use “sudo apt-get install…” rather.

    ################
    ### The Rest ###
    ################
    The rest is the same.

    This is worth it really, because Notes runs very well even on Ubuntu 64-bit compared to the terrible Mac client and slightly better Windows one.

    • and some more undocumented ones seen with Notes starting via a BASH terminal…

      unity-gtk2-module:i386 libcanberra-gtk-module:i386 gtk2-engines:i386 p11-kit-modules:i386 libp11-kit-gnome-keyring:i386

      It’s still moaning : Failed to load module “overlay-scrollbar”
      Well a All Architecture version is installed and we cannot install “overlay-scrollbar-gtk2:i386” because it’s looking for an i386 version which doesn’t exist because we’ve got an All Arch version. Some hacking of the overlay-scrollbar-gtk2:i386 Deb is now needed.

      We’d need to run ldd against stuff in /opt/ibm….

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s