Skip to main content

@DeWetAtSafe: I found your archlinux package of fme desktop 2017 at

https://aur.archlinux.org/packages/fme-desktop-2017/

I tried to re-pack fme desktop 2018 using the files for 2017 as a template, albeit unsuccessful.

Would it be possible that you create a package for the fme desktop 2018, too? That would be most helpful!

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: 

Invalid Registration Key
There 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:

debtap 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:

depend = python3>=4.4.1
depend = libgl1-mesa-glx
depend = python3>=4.4.1

change the following line:

depend = python>=3.8.0

Than save it and complete the creation of an arch linux package of FME

I 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:

libboost_chrono.so.1.62.0
libboost_filesystem.so.1.62.0
libboost_system.so.1.62.0
libboost_thread.so.1.62.0
libboost_regex.so.1.62.0
libboost_iostreams.so.1.62.0
libboost_locale.so.1.62.0
libboost_date_time.so.1.62.0

You can download the deb packages here: 

https://launchpad.net/ubuntu/+source/boost1.62/1.62.0+dfsg-4/+build/11220148

 

Then I symlinked this:

sudo ln -s /usr/lib/libmpfr.so.6 /usr/lib/libmpfr.so.4

The generated packages list is:

libboost-date-time1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-locale1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-iostreams1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-regex1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-chrono1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-filesystem1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-thread1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-system1.62.0-1.62.0-1-x86_64.pkg.tar.xz
fme-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):

sudo pacman -U libboost-date-time1.62.0-1.62.0-1-x86_64.pkg.tar.xz

@xiaomengatsafe   @dollargis 

 


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: 

Invalid Registration Key
There 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:

debtap 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:

depend = python3>=4.4.1
depend = libgl1-mesa-glx
depend = python3>=4.4.1

change the following line:

depend = python>=3.8.0

Than save it and complete the creation of an arch linux package of FME

I 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:

libboost_chrono.so.1.62.0
libboost_filesystem.so.1.62.0
libboost_system.so.1.62.0
libboost_thread.so.1.62.0
libboost_regex.so.1.62.0
libboost_iostreams.so.1.62.0
libboost_locale.so.1.62.0
libboost_date_time.so.1.62.0

You can download the deb packages here: 

https://launchpad.net/ubuntu/+source/boost1.62/1.62.0+dfsg-4/+build/11220148

 

Then I symlinked this:

sudo ln -s /usr/lib/libmpfr.so.6 /usr/lib/libmpfr.so.4

The generated packages list is:

libboost-date-time1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-locale1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-iostreams1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-regex1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-chrono1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-filesystem1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-thread1.62.0-1.62.0-1-x86_64.pkg.tar.xz
libboost-system1.62.0-1.62.0-1-x86_64.pkg.tar.xz
fme-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):

sudo 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.


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

 


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?


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!)

sudo mkdir -p /usr/share/FME/Licenses
sudo uuidgen > /usr/share/FME/Licenses/fme.uuid

This file is generated during installation (as it requires root access to write there).  Manually, you can run (once!)

sudo mkdir -p /usr/share/FME/Licenses
sudo 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.

 


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.


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.


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).


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:

2020-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 Compatibility
2020-01-08 18:55:43| 1.3| 0.0|FATAL |A Python installation could not be detected. @Python could not initialize
2020-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: Python
2020-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)

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:

2020-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 Compatibility
2020-01-08 18:55:43| 1.3| 0.0|FATAL |A Python installation could not be detected. @Python could not initialize
2020-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: Python
2020-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?


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.


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?


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

 

2020-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'

 



2020-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+ interpreter
2020-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 Compatibility
2020-01-09 00:21:55|   1.2|  0.0|FATAL |A Python installation could not be detected. @Python could not initialize
2020-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: Python
2020-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 kB
Requested STFICommand not found: Python
Program Terminating
Translation FAILED.

 


2020-01-09 00:10:37| 0.1| 0.0|INFORM|FME Configuration: Logging uncorrelated input features

 

2020-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'

 



2020-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+ interpreter
2020-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 Compatibility
2020-01-09 00:21:55|   1.2|  0.0|FATAL |A Python installation could not be detected. @Python could not initialize
2020-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: Python
2020-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 kB
Requested STFICommand not found: Python
Program Terminating
Translation 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:

2020-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)

Reply