Hi @dollargis, aur.archlinux.org is not an official Safe platform. DeWet is currently not at Safe, but when he returns, we'll let him know there is interest in this project of his.
Thx. I am still interested and will be on the watch.
Hi,
i managed to get fme 2019.2.1 running on Arch Linux up to a point that I needed to put in the serialnumber I got from safe. There i got this error:
1Invalid Registration KeyThere was an error generating the registration key.
Now I'm waiting for a new reg key. After I get it, i'm gonna test it again.
To shortly summarize how I got to this point is:
download the latest FME desktop for debian.
use the program debtap (available for archlinux, I use octopi)
run it like this:
1debtap fme-desktop-2019_2019.2.1.0.19813~debian.9_amd64.deb
just enter a couple of times until You get up to the point You can edit the .PKGINFO file.
remove the following lines:
1depend = python3>=4.4.1depend = libgl1-mesa-glxdepend = python3>=4.4.1
change the following line:
1depend = python>=3.8.0
Than save it and complete the creation of an arch linux package of FME
1I installed from AUR: icu57 , tlc85 and libcgroup
After this I used the same debtap to generate packages from the following deb files, i just entered every question from debtap for these:
1libboost_chrono.so.1.62.0libboost_filesystem.so.1.62.0libboost_system.so.1.62.0libboost_thread.so.1.62.0libboost_regex.so.1.62.0libboost_iostreams.so.1.62.0libboost_locale.so.1.62.0libboost_date_time.so.1.62.0
You can download the deb packages here:
1https://launchpad.net/ubuntu/+source/boost1.62/1.62.0+dfsg-4/+build/11220148
Then I symlinked this:
1sudo ln -s /usr/lib/libmpfr.so.6 /usr/lib/libmpfr.so.4
The generated packages list is:
1libboost-date-time1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-locale1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-iostreams1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-regex1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-chrono1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-filesystem1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-thread1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-system1.62.0-1.62.0-1-x86_64.pkg.tar.xzfme-desktop-2019-1:2019.2.1.0.19813..9-1-x86_64.pkg.tar.xz
Then i just installed the created packages like this (example):
1sudo pacman -U libboost-date-time1.62.0-1.62.0-1-x86_64.pkg.tar.xz
@xiaomengatsafe @dollargis
dunecf wrote:
Hi,
i managed to get fme 2019.2.1 running on Arch Linux up to a point that I needed to put in the serialnumber I got from safe. There i got this error:
1Invalid Registration KeyThere was an error generating the registration key.
Now I'm waiting for a new reg key. After I get it, i'm gonna test it again.
To shortly summarize how I got to this point is:
download the latest FME desktop for debian.
use the program debtap (available for archlinux, I use octopi)
run it like this:
1debtap fme-desktop-2019_2019.2.1.0.19813~debian.9_amd64.deb
just enter a couple of times until You get up to the point You can edit the .PKGINFO file.
remove the following lines:
1depend = python3>=4.4.1depend = libgl1-mesa-glxdepend = python3>=4.4.1
change the following line:
1depend = python>=3.8.0
Than save it and complete the creation of an arch linux package of FME
1I installed from AUR: icu57 , tlc85 and libcgroup
After this I used the same debtap to generate packages from the following deb files, i just entered every question from debtap for these:
1libboost_chrono.so.1.62.0libboost_filesystem.so.1.62.0libboost_system.so.1.62.0libboost_thread.so.1.62.0libboost_regex.so.1.62.0libboost_iostreams.so.1.62.0libboost_locale.so.1.62.0libboost_date_time.so.1.62.0
You can download the deb packages here:
1https://launchpad.net/ubuntu/+source/boost1.62/1.62.0+dfsg-4/+build/11220148
Then I symlinked this:
1sudo ln -s /usr/lib/libmpfr.so.6 /usr/lib/libmpfr.so.4
The generated packages list is:
1libboost-date-time1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-locale1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-iostreams1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-regex1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-chrono1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-filesystem1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-thread1.62.0-1.62.0-1-x86_64.pkg.tar.xzlibboost-system1.62.0-1.62.0-1-x86_64.pkg.tar.xzfme-desktop-2019-1:2019.2.1.0.19813..9-1-x86_64.pkg.tar.xz
Then i just installed the created packages like this (example):
1sudo pacman -U libboost-date-time1.62.0-1.62.0-1-x86_64.pkg.tar.xz
@xiaomengatsafe @dollargis
No fix yet.
For some reason FME doesn't generate a Registration Key.
Scouring the web for a point in the right direction.
dunecf wrote:
No fix yet.
For some reason FME doesn't generate a Registration Key.
Scouring the web for a point in the right direction.
Hi @dunecf - I'm always impressed at the commitment of you Arch guys! I can offer some hints on the licensing front that should help you advance the effort. 1. /usr/share/FME/Licenses/fme.uuid needs to contain the output of a uuidgen invocation (this is normally created during installation) 2. /etc/machine-id file must exist 3. uuid-runtime (deb) or util-linux (rpm) package is typically required for this all to hang together
ravenkopelman wrote:
Hi @dunecf - I'm always impressed at the commitment of you Arch guys! I can offer some hints on the licensing front that should help you advance the effort. 1. /usr/share/FME/Licenses/fme.uuid needs to contain the output of a uuidgen invocation (this is normally created during installation) 2. /etc/machine-id file must exist 3. uuid-runtime (deb) or util-linux (rpm) package is typically required for this all to hang together
Hello @ravenkopelman, dependecies 2 and 3 are ok on my machine. no. 1 is not. The folder is empty. Is the file there normally generated during installation or by first run?
dunecf wrote:
Hello @ravenkopelman, dependecies 2 and 3 are ok on my machine. no. 1 is not. The folder is empty. Is the file there normally generated during installation or by first run?
This file is generated during installation (as it requires root access to write there). Manually, you can run (once!)
1sudo mkdir -p /usr/share/FME/Licensessudo uuidgen > /usr/share/FME/Licenses/fme.uuid
ravenkopelman wrote:
This file is generated during installation (as it requires root access to write there). Manually, you can run (once!)
1sudo mkdir -p /usr/share/FME/Licensessudo uuidgen > /usr/share/FME/Licenses/fme.uuid
Ok, gonna try that. Maybe some error will pop up, which could lead to a needed package.
edit:
That actually worked!
After generating the fme.uuid I could license my FME Fixed License.
Thanks!!
I've run into new problems unfortunately.
I get python version not found errors on using statistics calculator transformer.
dunecf wrote:
I've run into new problems unfortunately.
I get python version not found errors on using statistics calculator transformer.
The Debian 9 installer (as indicated in the debtap command in a previous answer) is built against Debian 9's system Python 3.5. You will need that to make Python components (and a couple formats that secretly use it) work.
The soon-to-appear-for-FME-2020-betas Debian 10 installer will be built against Python 3.7 if that will make life any easier.
ravenkopelman wrote:
The Debian 9 installer (as indicated in the debtap command in a previous answer) is built against Debian 9's system Python 3.5. You will need that to make Python components (and a couple formats that secretly use it) work.
The soon-to-appear-for-FME-2020-betas Debian 10 installer will be built against Python 3.7 if that will make life any easier.
I've found that debtap is generating a couple of wrong dependencies.
In Debian for instance they talk about python3-pip and python2-pip packages,
however in Arch there is no python3-pip, but instead it is called simply python-pip with correct version number (3.8). The python2-pip package is the same for both distributions.
So I'm trying to correct these and install again.
I'll report here if it works.
dunecf wrote:
I've found that debtap is generating a couple of wrong dependencies.
In Debian for instance they talk about python3-pip and python2-pip packages,
however in Arch there is no python3-pip, but instead it is called simply python-pip with correct version number (3.8). The python2-pip package is the same for both distributions.
So I'm trying to correct these and install again.
I'll report here if it works.
For what it's worth, I believe we only use pip for installing packages, and the lack of it won't affect the majority of FME functionality (for now at least; likely will become more important in the future).
ravenkopelman wrote:
For what it's worth, I believe we only use pip for installing packages, and the lack of it won't affect the majority of FME functionality (for now at least; likely will become more important in the future).
I have installed fme with the correct packages in Arch. Also compiled python 3.5. Unfortunately it all doesn't matter. I keep getting the same python error when running with a statistics calculator.
this is the error:
12020-01-08 18:55:43| 1.3| 0.0|ERROR |The workspace requires Python version 3.7, but a Python 3.7 or compatible interpreter could not be loaded. Please install a Python 3.7 interpreter or change the parameter at Navigator > Workspace Parameters > Scripting > Python Compatibility2020-01-08 18:55:43| 1.3| 0.0|FATAL |A Python installation could not be detected. @Python could not initialize2020-01-08 18:55:43| 1.3| 0.0|ERROR |BADNEWS: Requested STFICommand not found: Python StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606) - StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606)2020-01-08 18:55:43| 1.3| 0.0|ERROR |Requested STFICommand not found: Python2020-01-08 18:55:43| 1.3| 0.0|ERROR |StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606) - StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606) - virtual StatusInfo* STFSimpleTranslator::convert()(foundation/kernel/simptran.cpp:606) - virtual StatusInfo* STFTranslator::translate(const DataSetNameArray&, const DataSetNameArray&)(foundation/framework/engine/stftrans.cpp:293)
dunecf wrote:
I have installed fme with the correct packages in Arch. Also compiled python 3.5. Unfortunately it all doesn't matter. I keep getting the same python error when running with a statistics calculator.
this is the error:
12020-01-08 18:55:43| 1.3| 0.0|ERROR |The workspace requires Python version 3.7, but a Python 3.7 or compatible interpreter could not be loaded. Please install a Python 3.7 interpreter or change the parameter at Navigator > Workspace Parameters > Scripting > Python Compatibility2020-01-08 18:55:43| 1.3| 0.0|FATAL |A Python installation could not be detected. @Python could not initialize2020-01-08 18:55:43| 1.3| 0.0|ERROR |BADNEWS: Requested STFICommand not found: Python StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606) - StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606)2020-01-08 18:55:43| 1.3| 0.0|ERROR |Requested STFICommand not found: Python2020-01-08 18:55:43| 1.3| 0.0|ERROR |StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606) - StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606) - virtual StatusInfo* STFSimpleTranslator::convert()(foundation/kernel/simptran.cpp:606) - virtual StatusInfo* STFTranslator::translate(const DataSetNameArray&, const DataSetNameArray&)(foundation/framework/engine/stftrans.cpp:293)
Have you tried changing the workspace to require Python 3.5 instead of Python 3.7, per the first error logged?
ravenkopelman wrote:
Have you tried changing the workspace to require Python 3.5 instead of Python 3.7, per the first error logged?
Yep, tried them all. Even setting PATH to point to python libs.
dunecf wrote:
Yep, tried them all. Even setting PATH to point to python libs.
Can you post a log snippet from when the Workspace is set to require Python 3.5?
ravenkopelman wrote:
Can you post a log snippet from when the Workspace is set to require Python 3.5?
2020-01-09 00:10:37| 0.1| 0.0|INFORM|FME Configuration: Logging uncorrelated input features
12020-01-09 00:21:54| 0.1| 0.0|INFORM|mapping file Line 0: `FME_NAMES_UTF8' `NO'2020-01-09 00:21:54| 0.1| 0.0|INFORM|mapping file Line 1: `FME_PYTHON_VERSION' `35'
12020-01-09 00:21:55| 1.2| 0.0|INFORM|Loaded module 'Python_func' from file '/opt/fme-desktop-2019/plugins/python_func.so'2020-01-09 00:21:55| 1.2| 0.0|INFORM|FME API version of module 'Python_func' matches current internal version (3.8 20190820)2020-01-09 00:21:55| 1.2| 0.0|INFORM|The workspace does not contain user Python. FME will attempt to use a Python 3.7+ interpreter2020-01-09 00:21:55| 1.2| 0.0|ERROR |The workspace requires Python version 3.7, but a Python 3.7 or compatible interpreter could not be loaded. Please install a Python 3.7 interpreter or change the parameter at Navigator > Workspace Parameters > Scripting > Python Compatibility2020-01-09 00:21:55| 1.2| 0.0|FATAL |A Python installation could not be detected. @Python could not initialize2020-01-09 00:21:55| 1.2| 0.0|ERROR |BADNEWS: Requested STFICommand not found: Python StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606) - StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606)2020-01-09 00:21:55| 1.2| 0.0|ERROR |Requested STFICommand not found: Python2020-01-09 00:21:55| 1.2| 0.0|ERROR |StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606) - StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606) - virtual StatusInfo* STFSimpleTranslator::convert()(foundation/kernel/simptran.cpp:606) - virtual StatusInfo* STFTranslator::translate(const DataSetNameArray&, const DataSetNameArray&)(foundation/framework/engine/stftrans.cpp:293)2020-01-09 00:21:55| 1.2| 0.0|INFORM|Translation FAILED with 5 error(s) and 0 warning(s) (0 feature(s) output)2020-01-09 00:21:55| 1.2| 0.0|INFORM|FME Session Duration: 1.3 seconds. (CPU: 0.7s user, 0.5s system)2020-01-09 00:21:55| 1.2| 0.0|INFORM|END - ProcessID: 8552, peak process memory usage: 20643 kB, current process memory usage: 19511 kBRequested STFICommand not found: PythonProgram TerminatingTranslation FAILED.
dunecf wrote:
2020-01-09 00:10:37| 0.1| 0.0|INFORM|FME Configuration: Logging uncorrelated input features
12020-01-09 00:21:54| 0.1| 0.0|INFORM|mapping file Line 0: `FME_NAMES_UTF8' `NO'2020-01-09 00:21:54| 0.1| 0.0|INFORM|mapping file Line 1: `FME_PYTHON_VERSION' `35'
12020-01-09 00:21:55| 1.2| 0.0|INFORM|Loaded module 'Python_func' from file '/opt/fme-desktop-2019/plugins/python_func.so'2020-01-09 00:21:55| 1.2| 0.0|INFORM|FME API version of module 'Python_func' matches current internal version (3.8 20190820)2020-01-09 00:21:55| 1.2| 0.0|INFORM|The workspace does not contain user Python. FME will attempt to use a Python 3.7+ interpreter2020-01-09 00:21:55| 1.2| 0.0|ERROR |The workspace requires Python version 3.7, but a Python 3.7 or compatible interpreter could not be loaded. Please install a Python 3.7 interpreter or change the parameter at Navigator > Workspace Parameters > Scripting > Python Compatibility2020-01-09 00:21:55| 1.2| 0.0|FATAL |A Python installation could not be detected. @Python could not initialize2020-01-09 00:21:55| 1.2| 0.0|ERROR |BADNEWS: Requested STFICommand not found: Python StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606) - StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606)2020-01-09 00:21:55| 1.2| 0.0|ERROR |Requested STFICommand not found: Python2020-01-09 00:21:55| 1.2| 0.0|ERROR |StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606) - StatusInfo* STFCommandRegistry::initialize()(foundation/framework/engine/cmdrgstr.cpp:606) - virtual StatusInfo* STFSimpleTranslator::convert()(foundation/kernel/simptran.cpp:606) - virtual StatusInfo* STFTranslator::translate(const DataSetNameArray&, const DataSetNameArray&)(foundation/framework/engine/stftrans.cpp:293)2020-01-09 00:21:55| 1.2| 0.0|INFORM|Translation FAILED with 5 error(s) and 0 warning(s) (0 feature(s) output)2020-01-09 00:21:55| 1.2| 0.0|INFORM|FME Session Duration: 1.3 seconds. (CPU: 0.7s user, 0.5s system)2020-01-09 00:21:55| 1.2| 0.0|INFORM|END - ProcessID: 8552, peak process memory usage: 20643 kB, current process memory usage: 19511 kBRequested STFICommand not found: PythonProgram TerminatingTranslation FAILED.
I don't see the error in that snippet.
I came across another problem.
No fme_privateKey.fmeks and fme_publicKey.fmeks were generated.
That was solved by copying the jre subfolder of /usr/lib/jvm/java-8-openjdk/ to the fme folder.
This version of FME depends on jre8-openjdk. So this needs to be installed.
This last step maybe isn't neccesary, because FME may generate the keys automatically.
Never the less:
Open FME options and subgroup default paths and click on change.

Choose private key.
In the next screen You can generate a new key:

Yet another problem:
I have an custom looping transformer with several python callers in it. This transformer is linked.
Now when I run it I receive these errors:
12020-01-20 23:26:26| 136.3| 0.0|ERROR |BADNEWS: Could not load module '/opt/fme-desktop-2019/plugins/fme_python_version_func.so' : /opt/fme-desktop-2019/plugins/fme_python_version_func.so: cannot open shared object file: No such file or directory void DynaLoad_loadLibrary(const ObsoleteString&, const ObsoleteString&, StatusInfo*&, void*&, bool&)(foundation/pluginbuilder/pluginbuilder_cpp/dynaload.cpp:736) - void DynaLoad_loadLibrary(const ObsoleteString&, const ObsoleteString&, StatusInfo*&, void*&, bool&)(foundation/pluginbuilder/pluginbuilder_cpp/dynaload.cpp:736)2020-01-20 23:26:26| 136.3| 0.0|ERROR |BADNEWS: Could not load module '/opt/fme-desktop-2019/plugins/fme_python_version.so' : /opt/fme-desktop-2019/plugins/fme_python_version.so: cannot open shared object file: No such file or directory void DynaLoad_loadLibrary(const ObsoleteString&, const ObsoleteString&, StatusInfo*&, void*&, bool&)(foundation/pluginbuilder/pluginbuilder_cpp/dynaload.cpp:736) - void DynaLoad_loadLibrary(const ObsoleteString&, const ObsoleteString&, StatusInfo*&, void*&, bool&)(foundation/pluginbuilder/pluginbuilder_cpp/dynaload.cpp:736)2020-01-20 23:26:26| 136.3| 0.0|ERROR |BADNEWS: Could not load module '/opt/fme-desktop-2019/plugins/fme_python.so' : /opt/fme-desktop-2019/plugins/fme_python.so: cannot open shared object file: No such file or directory void DynaLoad_loadLibrary(const ObsoleteString&, const ObsoleteString&, StatusInfo*&, void*&, bool&)(foundation/pluginbuilder/pluginbuilder_cpp/dynaload.cpp:736) - void DynaLoad_loadLibrary(const ObsoleteString&, const ObsoleteString&, StatusInfo*&, void*&, bool&)(foundation/pluginbuilder/pluginbuilder_cpp/dynaload.cpp:736)2020-01-20 23:26:26| 136.3| 0.0|ERROR |BADNEWS: Could not load module '/opt/fme-desktop-2019/plugins/fme.so' : /opt/fme-desktop-2019/plugins/fme.so: cannot open shared object file: No such file or directory void DynaLoad_loadLibrary(const ObsoleteString&, const ObsoleteString&, StatusInfo*&, void*&, bool&)(foundation/pluginbuilder/pluginbuilder_cpp/dynaload.cpp:736) - void DynaLoad_loadLibrary(const ObsoleteString&, const ObsoleteString&, StatusInfo*&, void*&, bool&)(foundation/pluginbuilder/pluginbuilder_cpp/dynaload.cpp:736)2020-01-20 23:26:26| 136.3| 0.0|ERROR |BADNEWS: Module 'FME_PYTHON_VERSION_func' is unavailable for use with this FME edition StatusInfo* DynaLoad_loadModule2(const ObsoleteString&, const ObsoleteString&, const STF_DLLEnumType&)(foundation/pluginbuilder/pluginbuilder_cpp/dynaload.cpp:982) - StatusInfo* DynaLoad_loadModule2(const ObsoleteString&, const ObsoleteString&, const STF_DLLEnumType&)(foundation/pluginbuilder/pluginbuilder_cpp/dynaload.cpp:982)