关于Pentaho(Kettle)在AIX上启动报错的问题
操作系统:AIX
JDK:1.6
Kettle版本:data-integration 4.2
JDK环境已经配好,执行spoon.sh启动的时候,报如下的错误:
java.lang.UnsatisfiedLinkError: no swt-motif-3346 or swt-motif in swt.library.path, java.library.path or the jar file
同样的Kettle文件,放到ubuntu上面执行,就没问题,ubuntu也是JDK1.6。
基本已经确认libswt/aix/这个目录下的swt.jar有问题了,但是google很长世间仍没找到解决办法;各位有遇到过同样的问题吗?倒是google到一个在solaris上面遇到同样的问题,不过那个哥们也没解决。
spoon.sh的内容如下:
#!/bin/sh # ************************************************** # ** Set these to the location of your mozilla # ** installation directory. Use a Mozilla with # ** Gtk2 and Fte enabled. # ************************************************** # set MOZILLA_FIVE_HOME=/usr/local/mozilla # set LD_LIBRARY_PATH=/usr/local/mozilla # Try to guess xulrunner location - change this if you need to MOZILLA_FIVE_HOME=$(find /usr/lib -maxdepth 1 -name xulrunner-[0-9]* | head -1) LD_LIBRARY_PATH=${MOZILLA_FIVE_HOME}:${LD_LIBRARY_PATH} export MOZILLA_FIVE_HOME LD_LIBRARY_PATH # Fix for GTK Windows issues with SWT export GDK_NATIVE_WINDOWS=1 # ************************************************** # ** Init BASEDIR ** # ************************************************** BASEDIR=`dirname $0` cd $BASEDIR DIR=`pwd` cd - . "$DIR/set-pentaho-env.sh" setPentahoEnv # ************************************************** # ** Platform specific libraries ... ** # ************************************************** LIBPATH="NONE" STARTUP="-jar launcher/launcher.jar" case `uname -s` in AIX) LIBPATH=$BASEDIR/../libswt/aix/ ;; SunOS) LIBPATH=$BASEDIR/../libswt/solaris/ ;; Darwin) echo "Starting Data Integration using 'Spoon.sh' from OS X is not supported." echo "Please start using 'Data Integration 32-bit' or" echo "'Data Integration 64-bit' as appropriate." exit ;; Linux) ARCH=`uname -m` case $ARCH in x86_64) if $($_PENTAHO_JAVA -version 2>&1 | grep "64-Bit" > /dev/null ) then LIBPATH=$BASEDIR/../libswt/linux/x86_64/ else LIBPATH=$BASEDIR/../libswt/linux/x86/ fi ;; i[3-6]86) LIBPATH=$BASEDIR/../libswt/linux/x86/ ;; ppc) LIBPATH=$BASEDIR/../libswt/linux/ppc/ ;; *) echo "I'm sorry, this Linux platform [$ARCH] is not yet supported!" exit ;; esac ;; FreeBSD) ARCH=`uname -m` case $ARCH in x86_64) LIBPATH=$BASEDIR/../libswt/freebsd/x86_64/ echo "I'm sorry, this Linux platform [$ARCH] is not yet supported!" exit ;; i[3-6]86) LIBPATH=$BASEDIR/../libswt/freebsd/x86/ ;; ppc) LIBPATH=$BASEDIR/../libswt/freebsd/ppc/ echo "I'm sorry, this Linux platform [$ARCH] is not yet supported!" exit ;; *) echo "I'm sorry, this Linux platform [$ARCH] is not yet supported!" exit ;; esac ;; HP-UX) LIBPATH=$BASEDIR/../libswt/hpux/ ;; CYGWIN*) ./Spoon.bat exit ;; *) echo Spoon is not supported on this hosttype : `uname -s` exit ;; esac export LIBPATH # ****************************************************************** # ** Set java runtime options ** # ** Change 512m to higher values in case you run out of memory ** # ** or set the PENTAHO_DI_JAVA_OPTIONS environment variable ** # ****************************************************************** if [ -z "$PENTAHO_DI_JAVA_OPTIONS" ]; then PENTAHO_DI_JAVA_OPTIONS="-Xmx512m" fi OPT="$OPT $PENTAHO_DI_JAVA_OPTIONS -Djava.library.path=$LIBPATH -DKETTLE_HOME=$KETTLE_HOME -DKETTLE_REPOSITORY=$KETTLE_REPOSITORY -DKETTLE_USER=$KETTLE_USER -DKETTLE_PASSWORD=$KETTLE_PASSWORD -DKETTLE_PLUGIN_PACKAGES=$KETTLE_PLUGIN_PACKAGES -DKETTLE_LOG_SIZE_LIMIT=$KETTLE_LOG_SIZE_LIMIT" # *************** # ** Run... ** # *************** "$_PENTAHO_JAVA" $OPT $STARTUP -lib $LIBPATH "${1+$@}"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
能否另找个swt for AIX的jar包换上? 另外,为啥要在AIX上运行spoon呢,一般只用在服务器上跑server就可以了吧,任务定制可以在其他pc上做。server运行即可。