boschrexroth / ctrlx-automation-sdk Goto Github PK
View Code? Open in Web Editor NEWctrlX AUTOMATION Software Development Kit
Home Page: https://boschrexroth.github.io/ctrlx-automation-sdk/
License: MIT License
ctrlX AUTOMATION Software Development Kit
Home Page: https://boschrexroth.github.io/ctrlx-automation-sdk/
License: MIT License
I want upgrade the node and npm lib version.
Now, the node version is: 18.19.0 ,npm version is 10.2.3
but the samples-node samples can not build success.
environmentοΌ
sdk: [Release SDK-V-0120]
ctrlx-works-1.20.5
try to fix it.
install glibc_3.36 manully, not success, tips: missing some library.
target:
can use node version 18.XXX
Hi ,
I would like to create a node of type float_array64 on the datalayer and have run into a problem.
The node is created and is also listed and callable in the datalayer via the webinterface of my virtual-core. In my Python script I initialise my node with the values [30.3,180.4,40.5,0.1,0.3,0.2], which are taken over. However, if I now want to change the value of the array via the web interface and execute the write function of the node, all decimal places of my input are ignored or deleted. If I want to change the first value 30.3 to 30.45 and press write, the array looks like this: [30,180,40,0,0,0].
To create the nodes, I created a high-level class based on the python datalayer.calc example: basic_arithmetic_operations.py. For debugging, I printed the value of the variable "data" (via the method get_array_float64) in the "NodeCallback-method": "__on_write". Here, the comma numbers also seem to be ignored: [30.0, 180.0, 40.0, 0.0, 0.0, 0.0].
However, if I use the object "Node" in my Python script, which in my case is the instance of the class variant() for the corresponding node, via the method Node.set_array_float64([30.45, 180.0, 40.0, 0.0, 0.0, 0.0]) the value is taken over correctly and also displayed on the datalayer.
I use the 1.14.0 SDK ['ctrlx-datalayer==2.1.0', 'ctrlx-fbs==1.2.0']
in conjunction with Python 3.8.10.
Virtual Core Version: 1.14.1
If needed, I can also upload my script.
In file ctrlx-automation-sdk/blob/main/doc/references.md the Api reference (doxygen generated) link for c/c++ leads to an 404 error .
Concerns: main branch / release SDK-V-0118
While going trough docu i found an error here:
Persistance should be Persistence π―
Using command dotnet add package ctrlX-DataLayer --version 3.0.3
nor searching on nuget, [https://www.nuget.org/packages?q=ctrlX-DataLayer] finds a package.
additionally a version-less search yields the same issue:
dotnet add package ctrlX-DataLayer
Determining projects to restore...
Writing /tmp/tmpTZyZL0.tmp
info : X.509 certificate chain validation will use the fallback certificate bundle at '/usr/share/dotnet/sdk/7.0.203/trustedroots/codesignctl.pem'.
info : X.509 certificate chain validation will use the fallback certificate bundle at '/usr/share/dotnet/sdk/7.0.203/trustedroots/timestampctl.pem'.
info : Adding PackageReference for package 'ctrlX-DataLayer' into project '<my_path>'.
info : GET https://api.nuget.org/v3/registration5-gz-semver2/ctrlx-datalayer/index.json
info : NotFound https://api.nuget.org/v3/registration5-gz-semver2/ctrlx-datalayer/index.json 195ms
info : GET https://api.nuget.org/v3/registration5-gz-semver2/ctrlx-datalayer/index.json
info : NotFound https://api.nuget.org/v3/registration5-gz-semver2/ctrlx-datalayer/index.json 245ms
error: There are no versions available for the package 'ctrlX-DataLayer'.```
Hello,
I have a datalayerClientSub that was running fine and was written based on the sample code provided. However, I had to reinstall my OS and reinstall all libraries including the debian package ctrlx-datalayer and since then there is a specific line causing a segmentation fault.
The segmentation fault happens in the constructor of the datalayerClientSub:
DataLayerClientSub::DataLayerClientSub(const comm::datalayer::DatalayerSystem &datalayerSystem, const std::string &connectionClient)
{
_datalayerSystem = datalayerSystem;
_connectionClient = connectionClient;
}
It happens when assigning _datalayerSystem the value of datalayerSystem which is passed when the object is created in main:
auto dataLayerClientSub = new DataLayerClientSub(datalayerSystem, connectionString);
I am not sure what is causing the problem exactly since it was working fine before and I guess assigning the datalayerSystem to the private object _datalayerSystem should be fine.
I also tried to adapt my code to the updated sample, the same problem occurs which is assigning the passed object to the private object.
Thanks,
Osama
Last few lines when building any of the examples on two different virtual build environments (ctrlx works) is the following:
+ npm install -g --prefix /home/boschrexroth/ctrlx-automation-sdk/samples-node/datalayer.client.browse/parts/app/install datalayer-client-browse-1.0.0.tgz --only=prod --production --no-fund
npm WARN config only Use `--omit=dev` to omit dev dependencies from the install.
npm WARN config production Use `--omit=dev` instead.
added 100 packages, and audited 101 packages in 15s
found 0 vulnerabilities
++ npm -s run env echo '$npm_package_name'
+ package_name='$npm_package_name'
+ prebuilds_location='/home/boschrexroth/ctrlx-automation-sdk/samples-node/datalayer.client.browse/parts/app/install/lib/node_modules/$npm_package_name/node_modules/ctrlx-datalayer/prebuilds'
+ find '/home/boschrexroth/ctrlx-automation-sdk/samples-node/datalayer.client.browse/parts/app/install/lib/node_modules/$npm_package_name/node_modules/ctrlx-datalayer/prebuilds' -type f -not -ipath '*/linux-x64*' -delete
find: β/home/boschrexroth/ctrlx-automation-sdk/samples-node/datalayer.client.browse/parts/app/install/lib/node_modules/$npm_package_name/node_modules/ctrlx-datalayer/prebuildsβ: No such file or directory
Failed to run 'override-build': Exit code was 1.
The ++ npm -s run env echo '$npm_package_name'
seems to be the line that is returning '$npm_package_name' instead of npm which is the directory name
There are currently no examples included in the sdk of using the methods within the IClient3 interface of datalayer.h
As an example, it would be nice to see browseBulkSync used within datalayerclient.cpp
void DataLayerClient::browseBulk()
{
m_data.setValue("");
comm::datalayer::BulkRequest req1 = {"/framework/metrics/process",m_data};
comm::datalayer::BulkRequest req2 = {"/framework/metrics/system",m_data};
const comm::datalayer::VecBulkRequest vec_req = std::vector<comm::datalayer::BulkRequest> {req1, req2};
std::vector<comm::datalayer::BulkResponse> vec_res;
std::string token = m_client3->getAuthToken();
std::cout<< token << std::endl;
comm::datalayer::BulkResponse res1 = comm::datalayer::BulkResponse();
m_result = m_client3->browseBulkSync(vec_req, vec_res, token);
for(auto& res : vec_res){
if(res.result == comm::datalayer::DlResult::DL_OK){
printStringList(res.data);
}
}
}
This is the error command: curl -s https://raw.githubusercontent.com/boschrexroth/ctrlx-automation-sdk/main/scripts/clone-install-sdk.sh | bash
Command found here: https://github.com/boschrexroth/ctrlx-automation-sdk/blob/2.4.3/README.md#installation-of-the-ctrlx-automation-sdk
$ curl -s https://raw.githubusercontent.com/boschrexroth/ctrlx-automation-sdk/main/scripts/clone-install-sdk.sh | bash
====================================================================================================
Enter the desired version of the zip archive to install (e.g. 2.4.0).
This will be used as 'Tag' for the local github repository.
----------------------------------------------------------------------------------------------------
bash: line 31: syntax error near unexpected token `fi'
bash: line 31: `fi'
I expect that a local copy of the repo would be stored but instead getting this error.
I tried also to write the tag "2.4.3" after the script but same error appeared.
https://github.com/boschrexroth/ctrlx-automation-sdk/blob/main/doc/s2sauth.md
Here we have 2 error:
1 the json has no comma, it's wrong
2 we have a deprecated "target" in the slot definition the right code is:
slots:
secure-assets:
interface: content
content: secure-assets
source:
read:
- $SNAP/secure-assets/${SNAPCRAFT_PROJECT_NAME}
node version :20.10.0
npm version:10.2.3
0 verbose cli /home/boschrexroth/scripts/ctrlx-automation-sdk/samples-vue-sunet/parts/sunet/install/bin/node /home/boschrexroth/scripts/ctrlx-automation-sdk/samples-vue-sunet/parts/sunet/install/bin/npm
1 info using [email protected]
2 info using [email protected]
3 timing npm:load:whichnode Completed in 14ms
4 timing config:load:defaults Completed in 1ms
5 timing config:load:file:/home/boschrexroth/scripts/ctrlx-automation-sdk/samples-vue-sunet/parts/sunet/install/lib/node_modules/npm/npmrc Completed in 1ms
6 timing config:load:builtin Completed in 1ms
7 timing config:load:cli Completed in 2ms
8 timing config:load:env Completed in 0ms
9 timing config:load:file:/home/boschrexroth/scripts/ctrlx-automation-sdk/samples-vue-sunet/parts/sunet/build/.npmrc Completed in 2ms
10 timing config:load:project Completed in 6ms
11 timing config:load:file:/home/boschrexroth/.npmrc Completed in 1ms
12 timing config:load:user Completed in 1ms
13 timing config:load:file:/home/boschrexroth/npm/etc/npmrc Completed in 1ms
14 timing config:load:global Completed in 1ms
15 timing config:load:setEnvs Completed in 1ms
16 timing config:load Completed in 13ms
17 timing npm:load:configload Completed in 13ms
18 timing config:load:flatten Completed in 2ms
19 timing npm:load:mkdirpcache Completed in 0ms
20 timing npm:load:mkdirplogs Completed in 0ms
21 verbose title npm config set unsafe-perm true
22 verbose argv "config" "set" "unsafe-perm" "true"
23 timing npm:load:setTitle Completed in 0ms
24 timing npm:load:display Completed in 1ms
25 verbose logfile logs-max:10 dir:/home/boschrexroth/.npm/_logs/2024-01-02T10_08_54_413Z-
26 verbose logfile /home/boschrexroth/.npm/_logs/2024-01-02T10_08_54_413Z-debug-0.log
27 timing npm:load:logFile Completed in 8ms
28 timing npm:load:timers Completed in 0ms
29 timing npm:load:configScope Completed in 0ms
30 timing npm:load Completed in 56ms
31 info config set "unsafe-perm" "true"
32 timing command:config Completed in 3ms
33 verbose stack Error: `unsafe-perm` is not a valid npm option
33 verbose stack at Config.set (/home/boschrexroth/scripts/ctrlx-automation-sdk/samples-vue-sunet/parts/sunet/install/lib/node_modules/npm/lib/commands/config.js:156:15)
33 verbose stack at Config.exec (/home/boschrexroth/scripts/ctrlx-automation-sdk/samples-vue-sunet/parts/sunet/install/lib/node_modules/npm/lib/commands/config.js:118:22)
33 verbose stack at Config.cmdExec (/home/boschrexroth/scripts/ctrlx-automation-sdk/samples-vue-sunet/parts/sunet/install/lib/node_modules/npm/lib/base-command.js:142:17)
33 verbose stack at Npm.exec (/home/boschrexroth/scripts/ctrlx-automation-sdk/samples-vue-sunet/parts/sunet/install/lib/node_modules/npm/lib/npm.js:136:20)
33 verbose stack at module.exports (/home/boschrexroth/scripts/ctrlx-automation-sdk/samples-vue-sunet/parts/sunet/install/lib/node_modules/npm/lib/cli-entry.js:61:15)
34 verbose cwd /home/boschrexroth/scripts/ctrlx-automation-sdk/samples-vue-sunet/parts/sunet/build
35 verbose Linux 5.15.0-91-generic
36 verbose node v20.10.0
37 verbose npm v10.2.3
38 error `unsafe-perm` is not a valid npm option
39 verbose exit 1
40 timing npm Completed in 90ms
41 verbose code 1
42 error A complete log of this run can be found in: /home/boschrexroth/.npm/_logs/2024-01-02T10_08_54_413Z-debug-0.log
Output: 38 error `unsafe-perm` is not a valid npm option
, I tried downgrade a library version , the result is ok , but my application must use version 18.19.4 and above due to the vite
library.
Simple app in Node.js (e.g. datalayer.client) chrashes when run on Windows with following error:
node:internal/modules/cjs/loader:1319
return process.dlopen(module, path.toNamespacedPath(filename));
^Error: The specified module could not be found.
\?\C:\workspace\ctrlx-test\node_modules\ctrlx-datalayer\prebuilds\win32-x64\node.napi.node
at Module._extensions..node (node:internal/modules/cjs/loader:1319:18)
at Module.load (node:internal/modules/cjs/loader:1091:32)
at Module._load (node:internal/modules/cjs/loader:938:12)
at Module.require (node:internal/modules/cjs/loader:1115:19)
at require (node:internal/modules/helpers:130:18)
at load (C:\workspace\ctrlx-test\node_modules\node-gyp-build\node-gyp-build.js:22:10)
at Object. (C:\workspace\ctrlx-test\node_modules\ctrlx-datalayer\dist\addon.js:7:42)
at Module._compile (node:internal/modules/cjs/loader:1233:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1287:10)
at Module.load (node:internal/modules/cjs/loader:1091:32) {
code: 'ERR_DLOPEN_FAILED'
}Node.js v20.5.1
On Linux this library is loaded with no problems.
when i excute the install scripts, in my qemu, i get the newest dotnet Verison. But the dotnet examples are for .net5.
GNU nano 4.8 install-sdk.sh #!/usr/bin/env bash
sudo snap install snapcraft --classic 2>/dev/null
wget https://github.com/boschrexroth/ctrlx-automation-sdk/releases/download/1.12.0/ctrlx-automation-sdk.1.12.0.zip
unzip -XK ctrlx-automation-sdk.1.12.0.zip
rm ctrlx-automation-sdk.1.12.0.zip
sudo dpkg -i ctrlX-automation-sdk/deb/*.deb
chmod a+x ctrlX-automation-sdk/bin/oss.flatbuffers/ubuntu20-gcc-aarch64/release/flatc
chmod a+x ctrlX-automation-sdk/bin/oss.flatbuffers/ubuntu20-gcc-x64/release/flatc
That should be Fixed.
This command curl -s https://raw.githubusercontent.com/boschrexroth/ctrlx-automation-sdk/main/scripts/environment/install-packages.sh | bash
found here: https://github.com/boschrexroth/ctrlx-automation-sdk/blob/main/README.md
should be updated to curl -s https://raw.githubusercontent.com/boschrexroth/ctrlx-automation-sdk/main/scripts/environment/install-required-packages.sh | bash
I ran the two scripts install-required-packages.sh
with tag 2.4.3 and clone-install-sdk.sh
.
After that tried to install npm packages but got the error:
~/projects/ctrlx-automation-sdk/samples-node/datalayer.provider.simple$ npm install
npm ERR! code ETARGET
npm ERR! notarget No matching version found for ctrlx-datalayer-flatbuffers@^2.6.0.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
I it should install all npm packages so that I can build the snap package.
When preforming an UnsubscribeAll no further subscriptions can be made without disposing of the subscription and recreating it. using .Unsubscribe(yourAddress) works fine. This is repeatable and the object is never shown as disposed
I think this should be removable-media
instead of removab1e-media
Found here:
https://boschrexroth.github.io/ctrlx-automation-sdk/data-exchange.html#configuration-steps
See Snapcraft Docs here:
https://snapcraft.io/docs/removable-media-interface
The file cloud-config-amd64 mentioned here
is not available in the latest main repo.
Hello,
if I am not mistaken, then in the python sample "Data Layer Calculation operations" is a "return" missing.
The original:
def register_node(self, name: str):
address = self.addressRoot + name
print("Registering node", address, flush=True)
self.provider.register_node(
address, self.providerNode)
should be fixed to:
def register_node(self, name: str):
address = self.addressRoot + name
print("Registering node", address, flush=True)
return self.provider.register_node(
address, self.providerNode)
With this fix the result is not "none" but "ok" in:
def register_nodes(self):
result = self.register_node("in1")
if result != ctrlxdatalayer.variant.Result.OK:
return result
Thanks
Johannes
Hey,
How can I adapt this lines to build on Raspabian ? Because apt update
failed to retrieve this packages.
sudo dpkg --add-architecture arm64
DIST="$(lsb_release -sc)"
sudo echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ ${DIST} main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/multiarch-libs.list
sudo echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ ${DIST}-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/multiarch-libs.list
sudo echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ ${DIST}-security main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/multiarch-libs.list
sudo echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ ${DIST}-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/multiarch-libs.list
# Qualify architecture
sudo sed -i 's/deb http:/deb [arch=amd64] http:/g' /etc/apt/sources.list
With the latest update (1.14), I noticed that the node packages are also available on npm. Thank you, this is definitely something we would like to use.
Unfortunately, I had some issues with both ctrlx-datalayer
and ctrlx-datalayer-flatbuffers
.
My development environment is Ubuntu 21.10.
ctrlx-datalayer
I tried to install both versions 1.3.1 and 1.4.0. In both cases, I get the following error:
npm ERR! code 1
npm ERR! path /home/zufferey/tmp/ctrlx/node_modules/ctrlx-datalayer
npm ERR! command failed
npm ERR! command sh -c node-gyp-build
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | linux | x64
npm ERR! gyp info find Python using Python version 3.9.7 found at "/usr/bin/python3"
npm ERR! gyp info spawn /usr/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args '/home/zufferey/tmp/ctrlx/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args 'binding.gyp',
npm ERR! gyp info spawn args '-f',
npm ERR! gyp info spawn args 'make',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/home/zufferey/tmp/ctrlx/node_modules/ctrlx-datalayer/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/home/zufferey/tmp/ctrlx/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/home/zufferey/.cache/node-gyp/16.14.2/include/node/common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=/home/zufferey/.cache/node-gyp/16.14.2',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/home/zufferey/tmp/ctrlx/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/home/zufferey/.cache/node-gyp/16.14.2/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/home/zufferey/tmp/ctrlx/node_modules/ctrlx-datalayer',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp: binding.gyp not found (cwd: /home/zufferey/tmp/ctrlx/node_modules/ctrlx-datalayer) while trying to load binding.gyp
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/home/zufferey/tmp/ctrlx/node_modules/node-gyp/lib/configure.js:261:16)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:526:28)
npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
npm ERR! gyp ERR! System Linux 5.13.0-39-generic
npm ERR! gyp ERR! command "/usr/bin/node" "/home/zufferey/tmp/ctrlx/node_modules/.bin/node-gyp" "rebuild"
npm ERR! gyp ERR! cwd /home/zufferey/tmp/ctrlx/node_modules/ctrlx-datalayer
npm ERR! gyp ERR! node -v v16.14.2
npm ERR! gyp ERR! node-gyp -v v9.0.0
npm ERR! gyp ERR! not ok
ctrlx-datalayer-flatbuffers
The installation goes fine but it seems that the package does not contain the dist
folder which should have the sources.
After installing ctrlx-datalayer-flatbuffers
, my module folder contains only:
node_modules/
βββ ctrlx-datalayer-flatbuffers
βββ CHANGELOG.md
βββ CONTRIBUTING.md
βββ CONTRIBUTORS.md
βββ LICENSE.txt
βββ package.json
βββ README.md
βββ SECURITY.md
In both cases, using the .tgz
distributed with the release instead of npm works fine. So we are not blocked by this.
In the cpp-sample "datalayer.realtime" you can build two executables (owner, user) that exchange data via shared memory.
The 'owner' is using the datalayer API functions "createMemorySync(...)" and "deleteMemorySync(...)".
The 'user' is using the datalayer API functions "openMemory(...)" and "closeMemory(...)".
The first parameter of these functions is a reference to a std::shared_ptr (IN/OUT parameter).
The functions "createMemorySync(...)" and "openMemory(...)" setting the stored pointer of the smart pointer to a valid memory address (shared memory for data exchange).
The functions "deleteMemorySync(...)" and "closeMemory(...)" resetting the stored pointer to nullptr.
BUT from the application point of view the given std::shared_ptr to the latter functions might by a copy. This is excactly done in the 'user' and 'owner' example code. This leads to the following error situation. A copy of the std::shared_ptr has been reset, calling its destruction is perfectly fine. BUT the remaining copies still hold the pointer to shared memory. When the destructor of the last copy is called a segmentation fault occurs. Dereferencing such a smart pointer copy is also a bad idea.
These datalayer API functions ignore the main concept of smart pointers (take ownership and manage lifecycle).
I have small issue when working with Subscription feature. I realised that after keepAliveinterval specified in SubscriptionProperties, my Subscription gets flooded by notifications even that data didn't changed...
Is it possible to turn off notifications (publishCallback()) when keepAliveinterval is reached?
I'm using the code similar to one i tutorial:
flatbuffers::FlatBufferBuilder builder;
auto dataChange = comm::datalayer::CreateSampling(builder, 2500);
auto rule = comm::datalayer::CreateProperty(builder, comm::datalayer::Properties::Properties_Sampling, dataChange.Union());
auto rules = builder.CreateVector(&rule, 1);
auto idTmp = builder.CreateString(id);
builder.Finish(comm::datalayer::CreateSubscriptionProperties(builder, idTmp, 60000, 1000, rules));
comm::datalayer::Variant subscriptionProperties;
subscriptionProperties.shareFlatbuffers(builder);
auto result = m_datalayerClient->createSubscriptionSync(subscriptionProperties, publishCallback());
I would like to have notification only when data is changed, and in the case keepAliveInterval is reached I don't want to have any publishCallback().
Hi,
I was trying to compile the basic example but i do have a problem with the dependencies:
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Selected BuildKit: GCC x86_64-linux-gnu
-- ######################################
-- Option: BUILD_SNAP ON
-- ######################################
CMake Error at CMakeLists.txt:88 (include):
include could not find requested file:
/home/mauro/ctrlx-automation-sdk-main/samples-cpp/datalayer.provider.all-data/../..//cmake/oss.flatbuffers.1.12/FindFlatBuffers.cmake
CMake Error at CMakeLists.txt:93 (build_flatbuffers):
Unknown CMake command "build_flatbuffers".
-- Configuring incomplete, errors occurred!
See also "/home/mauro/ctrlx-automation-sdk-main/samples-cpp/datalayer.provider.all-data/build/CMakeFiles/CMakeOutput.log".
make: *** No rule to make target 'install'. Stop.-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Selected BuildKit: GCC x86_64-linux-gnu
-- ######################################
-- Option: BUILD_SNAP ON
-- ######################################
CMake Error at CMakeLists.txt:88 (include):
include could not find requested file:
/home/mauro/ctrlx-automation-sdk-main/samples-cpp/datalayer.provider.all-data/../..//cmake/oss.flatbuffers.1.12/FindFlatBuffers.cmake
CMake Error at CMakeLists.txt:93 (build_flatbuffers):
Unknown CMake command "build_flatbuffers".
I am not able to find the right dependency missing.
Mauro
sdk: the latest version
ctrl works: ctrlX WORKS WRK-V-0120.5
node: 18.18.2
npm: 10.2.3
I added a samples-vue to the ctrlx-automation-sdk directoryγ
I builded the script build-snap-amd64.sh
# See https://snapcraft.io/docs/getting-started
# See https://snapcraft.io/docs/snapcraft-yaml-reference
name: vue
version: '1.0.1'
base: core20
title: vue
summary: samples-vue for ctrlX
description: |
samples-vue apps.
grade: stable # must be 'stable' to release into candidate/stable channels
confinement: strict # reduced file access to selected areas, reduced
parts:
configs:
source: ./configs
plugin: dump
organize:
'package-assets/*': package-assets/${SNAPCRAFT_PROJECT_NAME}/
vue:
source: .
plugin: npm
npm-node-version: '16.15.1'
override-build: |
# install node
snapcraftctl build
# install dependencies
npm install
# run vuejs build script
npm run build
# remove node
rm -rf ${SNAPCRAFT_PART_INSTALL}
organize:
'${SNAPCRAFT_PART_BUILD}/dist/app': vue/${SNAPCRAFT_PROJECT_NAME}/
slots:
package-assets:
interface: content
content: package-assets
source:
read:
- $SNAP/package-assets/${SNAPCRAFT_PROJECT_NAME}
package-run:
interface: content
content: package-run
source:
write:
- $SNAP_DATA/package-run/${SNAPCRAFT_PROJECT_NAME}
vue:
interface: content
content: vue
source:
read:
- $SNAP/vue/${SNAPCRAFT_PROJECT_NAME}
my manifest.json config is:
{
"$schema": "https://json-schema.boschrexroth.com/ctrlx-automation/ctrlx-core/apps/package-manifest/package-manifest.v1.3.schema.json",
"version": "1.0.0",
"id": "vue",
"menus": {
"sidebar": [
{
"id": "vue",
"title": "vue",
"icon": "bosch-ic-translate",
"items": [
{
"id": "vue",
"title": "ctrlX",
"target": "_blank",
"link": "/vue"
}
]
}
]
}
}
the refs url is: https://github.com/LelandACM/ctrlx-automation-sdk/tree/main/samples-vue
I builded a snap file and upload to app store, but open the router, tips: Page 404 not found
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.