Can't deploy a zimlet on Linux 64bit (Zimbra Desktop 7.2.2 GA)

Interested in talking about Mash-up's? This is the place.
Post Reply
a1ex
Posts: 41
Joined: Sat Sep 13, 2014 3:11 am

Can't deploy a zimlet on Linux 64bit (Zimbra Desktop 7.2.2 GA)

Post by a1ex »

As ZD does not have zmzimletctl util I'm trying to deploy "hello world" zimlet by following command
java -cp ../jetty/lib/log4j-1.2.16.jar:../jetty/common/lib/commons-httpclient-3.1.jar:../jetty/common/lib/mail.jar:../jetty/common/lib/commons-logging.jar:../jetty/common/lib/commons-codec-1.4.jar:../jetty/common/lib/json.jar:../jetty/common/lib/dom4j-1.5.2.jar:../jetty/common/lib/zimbracommon.jar:../jetty/webapps/service/WEB-INF/lib/zimbrastore.jar:../jetty/common/lib/guava-r09.jar:../jetty/common/lib/zimbra-native.jar -Dzimbra.config=conf/localconfig.xml -Djava.library.path=../lib/ com.zimbra.cs.zimlet.ZimletUtil deploy zimlets/com_zimbra_hello.zip
but got this error
Fatal error: terminating: Failed to loadLibrary(zimbra-native)

java.lang.UnsatisfiedLinkError: /opt/zimbra/zdesktop/lib/libzimbra-native.so: /opt/zimbra/zdesktop/lib/libzimbra-native.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1732)

at java.lang.Runtime.loadLibrary0(Runtime.java:823)

at java.lang.System.loadLibrary(System.java:1028)

at com.zimbra.znative.Util.loadLibrary(Util.java:38)

at com.zimbra.znative.Util.(Util.java:54)

at com.zimbra.common.net.ProxySelectors.useNativeProxySelector(ProxySelectors.java:63)

at com.zimbra.common.net.ProxySelectors.(ProxySelectors.java:43)

at com.zimbra.common.net.SocketFactories.register(SocketFactories.java:92)

at com.zimbra.common.net.SocketFactories.registerProtocols(SocketFactories.java:69)

at com.zimbra.common.net.SocketFactories.registerProtocols(SocketFactories.java:59)

at com.zimbra.common.util.CliUtil.toolSetup(CliUtil.java:41)

at com.zimbra.common.util.CliUtil.toolSetup(CliUtil.java:36)

at com.zimbra.common.util.CliUtil.toolSetup(CliUtil.java:32)

at com.zimbra.cs.zimlet.ZimletUtil.main(ZimletUtil.java:1893)
How to solve this?
How to deploy a zimlet manually?
System: Ubuntu 12.04 x86-64
a1ex
Posts: 41
Joined: Sat Sep 13, 2014 3:11 am

Can't deploy a zimlet on Linux 64bit (Zimbra Desktop 7.2.2 GA)

Post by a1ex »

OK, I've found information about ZD supported architecture.
Anyway, is it not hard to deploy a zimlet manually?
Another issue, with Ubuntu 32bit. Trying to deploy with the same command

java -cp ../jetty/lib/log4j-1.2.16.jar:../jetty/common/lib/commons-httpclient-3.1.jar:../jetty/common/lib/mail.jar:../jetty/common/lib/commons-logging.jar:../jetty/common/lib/commons-codec-1.4.jar:../jetty/common/lib/json.jar:../jetty/common/lib/dom4j-1.5.2.jar:../jetty/common/lib/zimbracommon.jar:../jetty/webapps/service/WEB-INF/lib/zimbrastore.jar:../jetty/common/lib/guava-r09.jar:../jetty/common/lib/zimbra-native.jar -Dzimbra.config=conf/localconfig.xml -Djava.library.path=../lib/ com.zimbra.cs.zimlet.ZimletUtil deploy zimlets/com_zimbra_hello.zip



got exception

[] ERROR: Error

com.zimbra.common.zclient.ZClientException: invoke Connection refused, server: localhost

ExceptionId:main:1367223972971:7aa15a3726efad7a

Code:zclient.IO_ERROR

at com.zimbra.common.zclient.ZClientException.IO_ERROR(ZClientException.java:45)

at com.zimbra.cs.account.soap.SoapProvisioning.invoke(SoapProvisioning.java:354)

at com.zimbra.cs.account.soap.SoapProvisioning.soapAdminAuthenticate(SoapProvisioning.java:295)

at com.zimbra.cs.zimlet.ZimletUtil$ZimletSoapUtil.initZimletSoapUtil(ZimletUtil.java:1380)

at com.zimbra.cs.zimlet.ZimletUtil$ZimletSoapUtil.(ZimletUtil.java:1354)

at com.zimbra.cs.zimlet.ZimletUtil.deployZimletBySoap(ZimletUtil.java:1175)

at com.zimbra.cs.zimlet.ZimletUtil.dispatch(ZimletUtil.java:1798)

at com.zimbra.cs.zimlet.ZimletUtil.main(ZimletUtil.java:1897)

Caused by: java.net.ConnectException: Connection refused

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(Unknown Source)

at java.net.PlainSocketImpl.connectToAddress(Unknown Source)

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at com.zimbra.common.net.ProtocolSocketFactoryWrapper.createSocket(ProtocolSocketFactoryWrapper.java:46)

at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)

at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)

at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)

at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)

at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)

at com.zimbra.common.soap.SoapHttpTransport.invoke(SoapHttpTransport.java:243)

at com.zimbra.common.soap.SoapHttpTransport.invoke(SoapHttpTransport.java:164)

at com.zimbra.common.soap.SoapTransport.invoke(SoapTransport.java:407)

at com.zimbra.common.soap.SoapTransport.invokeWithoutSession(SoapTransport.java:393)

at com.zimbra.cs.account.soap.SoapProvisioning.invokeRequest(SoapProvisioning.java:342)

at com.zimbra.cs.account.soap.SoapProvisioning.invoke(SoapProvisioning.java:350)

... 6 more
# hostname

ds.alex.ho
# ping ds.alex.ho

PING localhost (127.0.0.1) 56(84) bytes of data.

64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.039 ms
# netstat -altn | grep 46387

tcp 0 0 127.0.0.1:38650 127.0.0.1:46387 ESTABLISHED

tcp6 0 0 127.0.0.1:46387 :::* LISTEN

tcp6 0 0 127.0.0.1:46387 127.0.0.1:38650 ESTABLISHED
I've found that port by

"netstat -altn | grep LISTEN"

command output comparing before and after ZD client start.
What else I should check?
13331stalker
Advanced member
Advanced member
Posts: 131
Joined: Sat Sep 13, 2014 1:55 am

Can't deploy a zimlet on Linux 64bit (Zimbra Desktop 7.2.2 GA)

Post by 13331stalker »

Did you find any solution?
a1ex
Posts: 41
Joined: Sat Sep 13, 2014 3:11 am

Can't deploy a zimlet on Linux 64bit (Zimbra Desktop 7.2.2 GA)

Post by a1ex »

Yep, create _dev subdirectory in ~/zdesktop/zimlets-deployed/ then create your zimlet root directory inside it, for example com_zimbra_examplesoap

copy zimlet files (xml, js, css, images etc..) into this directory (no need to compress as zip), then press CTRL+F5 in your browser.
Java classes (packed as jar) should be copied into ("zdesktop restart" is required)

/opt/zimbra/zdesktop/jetty/webapps/zimlet/WEB-INF/lib/
Example:

ls -l /home/a1ex/zdesktop/zimlets-deployed/_dev/com_zimbra_examplesoap/

com_zimbra_examplesoap.js

com_zimbra_examplesoap.xml
ls -l /opt/zimbra/zdesktop/jetty/webapps/zimlet/WEB-INF/lib/

examplesoap.jar
13331stalker
Advanced member
Advanced member
Posts: 131
Joined: Sat Sep 13, 2014 1:55 am

Can't deploy a zimlet on Linux 64bit (Zimbra Desktop 7.2.2 GA)

Post by 13331stalker »

Thanks. I'm gonna try it out.
metux
Advanced member
Advanced member
Posts: 146
Joined: Mon Jul 28, 2014 6:21 pm

Can't deploy a zimlet on Linux 64bit (Zimbra Desktop 7.2.2 GA)

Post by metux »

you should use zmpkg for zimlet deployment ...
Post Reply