LibreOffice / loeclipse

LibreOffice Eclipse plugin for extension development
https://libreoffice.github.io/loeclipse/
31 stars 25 forks source link

Fedora Linux: No Skeleton Code #90

Open dfyockey opened 2 years ago

dfyockey commented 2 years ago

In attempting to use LOEclipse on Fedora Linux, LOEclipse fails to generate skeleton code of an extension. The Eclipse log includes an error indicating that types.rdb does not exist in the project directory. Running of the uno-skeletonmaker command, which references types.rdb in both the LibreOffice program directory and the project directory, apparently generates the error.

Note that the packages in Fedora's repository (and presumably in other rpm-based repos) differ from those in Ubuntu. My configuration includes the following packages apparently corresponding to the packages indicated as Ubuntu prerequisites: libreoffice, libreoffice-sdk, libreoffice-ure (with dependency libreoffice-ure-common). This configuration is sufficient to generate a working extension from the LibreOffice Starter Extension project.

The following is an excerpt from the log that includes the command and error referred to above:

!ENTRY org.libreoffice.ide.eclipse.core 0 0 2021-07-22 16:05:44.892 !MESSAGE Running command: uno-skeletonmaker component --java5 --propertysetmixin -o ./source -l file:////usr/lib64/libreoffice/program/types.rdb -l file:////usr/lib64/libreoffice/program/types/offapi.rdb -l types.rdb -n org.libreoffice.example.comp.HelloWorldImpl -t org.libreoffice.example.HelloWorld with env: [PATH=/usr/lib64/libreoffice/sdk/bin:/usr/lib64/libreoffice/program:/usr/lib64/libreoffice/bin:/usr/lib64/libreoffice/program:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/David/.local/bin:/home/David/bin:/home/David/bin/motd:/home/David/bin.dev, IMSETTINGS_MODULE=none, XAUTHORITY=/run/lightdm/David/xauthority, HISTCONTROL=ignoredups, XMODIFIERS=@im=none, GDMSESSION=xfce, XDG_DATA_DIRS=/home/David/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/usr/share, MODULEPATH=/etc/modulefiles:/usr/share/modulefiles:/usr/share/modulefiles/Linux:/usr/share/modulefiles/Core:/usr/share/lmod/lmod/modulefiles/Core, GTK_IM_MODULE=gtk-im-context-simple, LMOD_SETTARG_FULL_SUPPORT=no, DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus, XDG_CURRENT_DESKTOP=XFCE, MODULEPATH_ROOT=/usr/share/modulefiles, MAIL=/var/spool/mail/David, SSH_AGENT_PID=1940, DESKTOP_AUTOSTART_ID=, LD_LIBRARY_PATH=/usr/lib64/libreoffice/program:/usr/lib64/libreoffice/lib:/opt/libxfce4ui-nocsd/lib:, LMOD_DIR=/usr/share/lmod/lmod/libexec, SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/1768,unix/unix:/tmp/.ICE-unix/1768, LOGNAME=David, PWD=/home/David, GIT_ASKPASS=, S_COLORS=auto, LMOD_VERSION=8.4.23, LMOD_CMD=/usr/share/lmod/lmod/libexec/lmod, LESSOPEN=||/usr/bin/lesspipe.sh %s, SHELL=/bin/bash, BASH_ENV=/usr/share/lmod/lmod/init/bash, QTINC=/usr/lib64/qt-3.3/include, SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass, PANEL_GDK_CORE_DEVICE_EVENTS=0, XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0, IMSETTINGS_INTEGRATE_DESKTOP=yes, XDG_SESSION_DESKTOP=xfce, SHLVL=0, OXYGEN_DISABLE_INNER_SHADOWS_HACK=1, MANPATH=/usr/share/lmod/lmod/share/man:, QT_IM_MODULE=xim, HISTSIZE=1000, BASH_FUNC_which%%=() { ( alias; eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot "$@" }, TERM=dumb, XDG_CONFIG_DIRS=/etc/xdg, XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0, LANG=en_US.utf8, XDG_SESSION_ID=2, MOZ_GMP_PATH=/usr/lib64/mozilla/plugins/gmp-gmpopenh264/system-installed, XDG_SESSION_TYPE=x11, LMOD_PKG=/usr/share/lmod/lmod, DISPLAY=:0.0, BASH_FUNC_module%%=() { eval $($LMOD_CMD bash "$@") && eval $(${LMOD_SETTARG_CMD:-:} -s sh) }, which_declare=declare -f, XDG_SESSION_CLASS=user, GDM_LANG=en_US.utf8, GTK3_MODULES=xapp-gtk3-module, XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/David, LIBOVERLAY_SCROLLBAR=0, LMOD_ROOT=/usr/share/lmod, GDK_CORE_DEVICE_EVENTS=1, DESKTOP_SESSION=xfce, USER=David, XDG_MENU_PREFIX=xfce-, BASH_FUNC_ml%%=() { eval $($LMOD_DIR/ml_cmd "$@") }, XDG_SEAT=seat0, SSH_AUTH_SOCK=/tmp/ssh-XXXXXX7tuUIM/agent.1768, EDITOR=vim, HOSTNAME=Fedora64, QTDIR=/usr/lib64/qt-3.3, MODULESHOME=/usr/share/lmod/lmod, LMOD_sys=Linux, KDEDIRS=/usr, XDG_RUNTIME_DIR=/run/user/1000, XDG_VTNR=1, HOME=/home/David, QTLIB=/usr/lib64/qt-3.3/lib] from dir: /home/David/Projects/Workspace_UNO/HelloWorld

!ENTRY org.libreoffice.ide.eclipse.core 4 4 2021-07-22 16:05:44.905 !MESSAGE ERROR: No such file file:///home/David/Projects/Workspace_UNO/HelloWorld/types.rdb

smehrbrodt commented 2 years ago

Probably some earlier command failed. Are there errors before this?

You might want to debug this a bit, see https://github.com/LibreOffice/loeclipse#development

dfyockey commented 2 years ago

No, there were no errors before it.

Out of curiosity, I uninstalled LOEclipse and cleared the log, and then reinstalled LOEclipse and checked the log. The log at that point indicates that java.lang.NullPointerException is thrown a number of times where there are references to org.libreoffice.ide.eclipse.core.builders.TypesBuilder.buildIdl(Unknown Source) and/or org.libreoffice.ide.eclipse.core.builders.TypesBuilder.build(Unknown Source). Looking through the source, it seems the exceptions originate in the file loeclipse/core/source/org/libreoffice/ide/eclipse/core/builders/TypesBuilder.java.