Skip to main content
Question

Arch Linux Package of FME Desktop


dollargis
Contributor
Forum|alt.badge.img+1

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

20 replies

xiaomengatsafe
Safer
Forum|alt.badge.img+3

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.


dollargis
Contributor
Forum|alt.badge.img+1
  • Author
  • Contributor
  • July 6, 2018

Thx. I am still interested and will be on the watch.


dunecf
  • December 24, 2019

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 

 


dunecf
  • December 30, 2019
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: 

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.


ravenkopelman
Safer
Forum|alt.badge.img+1
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

 


dunecf
  • January 1, 2020
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?


ravenkopelman
Safer
Forum|alt.badge.img+1
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!)

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

dunecf
  • January 2, 2020
ravenkopelman wrote:

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


dunecf
  • January 6, 2020

I've run into new problems unfortunately.

I get python version not found errors on using statistics calculator transformer.

 


ravenkopelman
Safer
Forum|alt.badge.img+1
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.


dunecf
  • January 7, 2020
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.


ravenkopelman
Safer
Forum|alt.badge.img+1
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).


dunecf
  • January 8, 2020
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:

2020-01-08 18:55:431.30.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:431.30.0|FATAL |A Python installation could not be detected. @Python could not initialize
2020-01-08 18:55:431.30.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:431.30.0|ERROR |Requested STFICommand not found: Python
2020-01-08 18:55:431.30.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)

ravenkopelman
Safer
Forum|alt.badge.img+1
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:

2020-01-08 18:55:431.30.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:431.30.0|FATAL |A Python installation could not be detected. @Python could not initialize
2020-01-08 18:55:431.30.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:431.30.0|ERROR |Requested STFICommand not found: Python
2020-01-08 18:55:431.30.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?


dunecf
  • January 8, 2020
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.


ravenkopelman
Safer
Forum|alt.badge.img+1
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?


dunecf
  • January 8, 2020
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

 

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 Duration1.3 seconds. (CPU0.7s user, 0.5s system)
2020-01-09 00:21:55|   1.2|  0.0|INFORM|END - ProcessID8552, peak process memory usage20643 kB, current process memory usage19511 kB
Requested STFICommand not found: Python
Program Terminating
Translation FAILED.

 


ravenkopelman
Safer
Forum|alt.badge.img+1
dunecf wrote:

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 Duration1.3 seconds. (CPU0.7s user, 0.5s system)
2020-01-09 00:21:55|   1.2|  0.0|INFORM|END - ProcessID8552, peak process memory usage20643 kB, current process memory usage19511 kB
Requested STFICommand not found: Python
Program Terminating
Translation FAILED.

 

I don't see the error in that snippet.


dunecf
  • January 10, 2020

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:

 

 

 


dunecf
  • January 20, 2020

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:26136.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:26136.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:26136.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:26136.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:26136.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


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings