Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » 4DIAC - Framework for Distributed Industrial Automation and Control » Bachmann M1 / VxWorks - Need advice how to begin
Bachmann M1 / VxWorks - Need advice how to begin [message #1834683] Sun, 15 November 2020 20:37 Go to next message
David Wagner is currently offline David WagnerFriend
Messages: 11
Registered: November 2020
Junior Member
Hello all,

first of all, I apologize if I was not searching correctly, but I would like to start running 4diac on Bachmann M1 PLC, but I do not know how to do it.

I have the PLC and Bachmann Solution Center - I can install an application into the controller.

But I'm not sure about the other steps.

1) How to compile the FORTE for Bachmann M1?
2) How to use the toolchain, etc?
3) How to access the inputs and outputs of the PLC - I have the drivers for each IO module from Bachmann, but should I link them to the project somehow, or it's not needed?

Coud please anybody give me an advice?

Thank you very much for support.

David
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1834718 is a reply to message #1834683] Mon, 16 November 2020 18:56 Go to previous messageGo to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1214
Registered: January 2014
Senior Member
HI,

first of all, wow, we haven't had a Bachmann M1 user in quite some time. So it could be that not all is up to date. AFAIK the 4diac FORTE build for Bachmann was configured such that after the build you would get a full application image (I forgot the exact term Bachmann is using) which you can then deploy via the Solution Center. For that you need to set perform a new Unix Makefile build and configure Bachmann M1 as archticture. I not that the CMake config for Bachmann has currently two hardcoded paths:

set(GNU_TOOLS C:/bachmann/SolutionCenter/V1.70Release/cutils/GnuTools)
set(MSYS_PATH C:/bachmann/SolutionCenter/V1.70Release/cutils/mcsdk/msys)

you may need to adjust these to your setup. With that you should get a first basic 4diac FORTE running.

For IOs we have a SetValue and a GetValue method to access the variable interface on the M1.

I hope this helps for getting you started. We are happy for feedback and any improvements.


Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1834891 is a reply to message #1834718] Thu, 19 November 2020 20:42 Go to previous messageGo to next message
David Wagner is currently offline David WagnerFriend
Messages: 11
Registered: November 2020
Junior Member
Hi,

thank you very much for support. Actually I'm facing this issue, when trying to generate using CMake:

##############################################################################################

FORTE_EXTERNAL_MODULES_DIRECTORY:
Building executable
Configuring done
CMake Error at CMakeLists.txt:287 (add_library):
Cannot find source file:

C:/FORTE_dev/org.eclipse.4diac.forte-1.10.1/src/arch/genforte_printer.cpp.cpp

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx


CMake Error at src/CMakeLists.txt:252 (add_library):
Cannot find source file:

C:/FORTE_dev/org.eclipse.4diac.forte-1.10.1/src/arch/genforte_printer.cpp.h

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx


CMake Error at CMakeLists.txt:287 (add_library):
No SOURCES given to target: forte_stringlist_externals


CMake Error at src/CMakeLists.txt:252 (add_library):
No SOURCES given to target: FORTE_LITE


CMake Error at src/CMakeLists.txt:255 (ADD_EXECUTABLE):
No SOURCES given to target: forte

##############################################################################################

This happens only, when FORTE_ARCHITECTURE is set to "BachmannM1"

I have tried forte-1.10.1 and forte-1.13.0.

But unfortunately, I have not set the parameters as you told me:

set(GNU_TOOLS C:/bachmann/SolutionCenter/V1.70Release/cutils/GnuTools)
set(MSYS_PATH C:/bachmann/SolutionCenter/V1.70Release/cutils/mcsdk/msys)

Could you please explain, how to set them? Should I add them to a config file? Where can I find the config file?

Thank you very much for support.

David

Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1834905 is a reply to message #1834891] Fri, 20 November 2020 08:54 Go to previous messageGo to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1214
Registered: January 2014
Senior Member
Hi,

it seems you found a bug in the CMakeList.txt of src/arch/be_m1. Can you please change line 25 in that file to:
  forte_add_sourcefile_hcpp(fortemodule) 
  forte_add_sourcefile_cpp(../genforte_printer.cpp)


This should fix the above error. It would also be very kind if you could report this as bug in our bugzilla [1]. So that I can fix that for 1.13.1.

Regarding the paths: you currently would need to change the directly in the src/arch/be_m1/CMakeList.txt. I think we should make the base path setable. But i would like to get your build working first befor further optimizing and improving things.

Cheers,
Alois

[1] https://bugs.eclipse.org/bugs/enter_bug.cgi?product=4DIAC
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835268 is a reply to message #1834905] Sat, 28 November 2020 22:55 Go to previous messageGo to next message
David Wagner is currently offline David WagnerFriend
Messages: 11
Registered: November 2020
Junior Member
Hi,

thank you very much for support. I have reported the bug.

Unfortunately, after solving this issue, I'm facing another problem again, when building using Visual Studio 2O1O, I'm getting failure with output:

1>------ Build started: Project: ZERO_CHECK, Configuration: Release Win32 ------
1> Checking Build System
2>------ Build started: Project: forte_generate_modules_cmake_files, Configuration: Release Win32 ------
3>------ Build started: Project: forte_stringlist_externals, Configuration: Release Win32 ------
2> -- FORTE_MODULE_DIR: C:/FORTE_dev/build/win32-3/src/modules com external/
3> Generating src_gen/forte_thread_gen.cpp
2> Building Custom Rule C:/FORTE_dev/forte-incubation_1.13.0A/src/CMakeLists.txt
3> Generating src_gen/forte_sync_gen.cpp
3> Generating src_gen/forte_sem_gen.cpp
3> Generating src_gen/fortemodule_gen.cpp
3> Generating src_gen/genforte_printer_gen.cpp
4>------ Build started: Project: forte_init_generator, Configuration: Release Win32 ------
5>------ Build started: Project: forte_stringlist_generator, Configuration: Release Win32 ------
3> Generating src_gen/timespec_utils_gen.cpp
5> GenerateStringlist
5> Source Dir: C:/FORTE_dev/forte-incubation_1.13.0A/src
5> Binary Dir: C:/FORTE_dev/build/win32-3
3> Generating src_gen/GET_CHAN_INFO_gen.cpp
4> Generate Initfunction
4> Source Dir: C:/FORTE_dev/forte-incubation_1.13.0A
4> Binary Dir: C:/FORTE_dev/build/win32-3
3> Generating src_gen/GET_VALUE_gen.cpp
3> Generating src_gen/SET_VALUE_gen.cpp
3> Generating src_gen/BE_SVIFB_gen.cpp
3> Generating src_gen/SVIsend_1_gen.cpp
5> Building Custom Rule C:/FORTE_dev/forte-incubation_1.13.0A/src/CMakeLists.txt
4> Building Custom Rule C:/FORTE_dev/forte-incubation_1.13.0A/src/CMakeLists.txt
3> Generating src_gen/SVIreceive_1_gen.cpp
6>------ Build started: Project: FORTE_LITE, Configuration: Release Win32 ------
3> Generating src_gen/BE_RMT_DEV_gen.cpp
3> Generating src_gen/genforte_realFunctions_gen.cpp
6> Building Custom Rule C:/FORTE_dev/forte-incubation_1.13.0A/src/CMakeLists.txt
3> Generating src_gen/forte_architecture_time_gen.cpp
3> Generating src_gen/fdselecthand_gen.cpp
6>cl : Command line error D8004: '/W' requires an argument
3> Generating src_gen/bsdsocketinterf_gen.cpp
3> Generating src_gen/mainparam_utils_gen.cpp
3> Generating src_gen/timerha_gen.cpp
3> Generating src_gen/devlog_gen.cpp
3> Generating src_gen/basecommfb_gen.cpp
3> Generating src_gen/commfb_gen.cpp
3> Generating src_gen/comlayer_gen.cpp
3> Generating src_gen/comlayersmanager_gen.cpp
3> Generating src_gen/ipcomlayer_gen.cpp
3> Generating src_gen/fbdkasn1layer_gen.cpp
3> Generating src_gen/localcomlayer_gen.cpp
3> Generating src_gen/rawdatacomlayer_gen.cpp
3> Generating src_gen/forte_any_elementary_gen.cpp
3> Generating src_gen/forte_int_gen.cpp
3> Generating src_gen/forte_sint_gen.cpp
3> Generating src_gen/forte_dint_gen.cpp
3> Generating src_gen/forte_udint_gen.cpp
3> Generating src_gen/forte_uint_gen.cpp
3> Generating src_gen/forte_usint_gen.cpp
3> Generating src_gen/forte_dword_gen.cpp
3> Generating src_gen/forte_word_gen.cpp
3> Generating src_gen/forte_byte_gen.cpp
3> Generating src_gen/forte_bool_gen.cpp
3> Generating src_gen/forte_string_gen.cpp
3> Generating src_gen/forte_time_gen.cpp
3> Generating src_gen/forte_any_gen.cpp
3> Generating src_gen/forte_any_string_gen.cpp
3> Generating src_gen/forte_any_num_gen.cpp
3> Generating src_gen/forte_any_magnitude_gen.cpp
3> Generating src_gen/forte_any_bit_gen.cpp
3> Generating src_gen/forte_any_int_gen.cpp
3> Generating src_gen/forte_any_real_gen.cpp
3> Generating src_gen/forte_struct_gen.cpp
3> Generating src_gen/forte_lint_gen.cpp
3> Generating src_gen/forte_ulint_gen.cpp
3> Generating src_gen/forte_time_of_day_gen.cpp
3> Generating src_gen/forte_date_and_time_gen.cpp
3> Generating src_gen/forte_any_date_gen.cpp
3> Generating src_gen/forte_date_gen.cpp
3> Generating src_gen/forte_lword_gen.cpp
3> Generating src_gen/forte_real_gen.cpp
3> Generating src_gen/forte_lreal_gen.cpp
3> Generating src_gen/forte_array_gen.cpp
3> Generating src_gen/forte_wstring_gen.cpp
3> Generating src_gen/unicode_utils_gen.cpp
3> Generating src_gen/string_utils_gen.cpp
3> Generating src_gen/parameterParser_gen.cpp
3> Generating src_gen/configFileParser_gen.cpp
3> Generating src_gen/ecetFactory_gen.cpp
3> Generating src_gen/conn_gen.cpp
3> Generating src_gen/dataconn_gen.cpp
3> Generating src_gen/eventconn_gen.cpp
3> Generating src_gen/simplefb_gen.cpp
3> Generating src_gen/basicfb_gen.cpp
3> Generating src_gen/cfb_gen.cpp
3> Generating src_gen/device_gen.cpp
3> Generating src_gen/devexec_gen.cpp
3> Generating src_gen/extevhan_gen.cpp
3> Generating src_gen/funcbloc_gen.cpp
3> Generating src_gen/fbcontainer_gen.cpp
3> Generating src_gen/if2indco_gen.cpp
3> Generating src_gen/resource_gen.cpp
3> Generating src_gen/stringdict_gen.cpp
3> Generating src_gen/typelib_gen.cpp
3> Generating src_gen/ecet_gen.cpp
3> Generating src_gen/adapterconn_gen.cpp
3> Generating src_gen/adapter_gen.cpp
3> Generating src_gen/anyadapter_gen.cpp
3> Generating src_gen/iec61131_functions_gen.cpp
3> Generating src_gen/deviceExecutionHandlers_gen.cpp
3> Generating src_gen/monitoring_gen.cpp
3> Generating src_gen/timedfb_gen.cpp
3> Generating src_gen/E_CTU_gen.cpp
3> Generating src_gen/E_CTD_gen.cpp
3> Generating src_gen/E_CTUD_gen.cpp
3> Generating src_gen/E_DELAY_gen.cpp
3> Generating src_gen/E_D_FF_gen.cpp
3> Generating src_gen/E_MERGE_gen.cpp
3> Generating src_gen/E_REND_gen.cpp
3> Generating src_gen/E_RS_gen.cpp
3> Generating src_gen/E_SELECT_gen.cpp
3> Generating src_gen/E_SR_gen.cpp
3> Generating src_gen/E_CYCLE_gen.cpp
3> Generating src_gen/E_DEMUX_gen.cpp
3> Generating src_gen/E_F_TRIG_gen.cpp
3> Generating src_gen/E_PERMIT_gen.cpp
3> Generating src_gen/E_RDELAY_gen.cpp
3> Generating src_gen/E_RESTART_gen.cpp
3> Generating src_gen/E_R_TRIG_gen.cpp
3> Generating src_gen/E_SPLIT_gen.cpp
3> Generating src_gen/E_SWITCH_gen.cpp
3> Generating src_gen/GEN_E_DEMUX_gen.cpp
3> Generating src_gen/GEN_E_MUX_gen.cpp
3> Generating src_gen/ATimeOut_gen.cpp
3> Generating src_gen/E_TimeOut_gen.cpp
3> Generating src_gen/ARTimeOut_gen.cpp
3> Generating src_gen/E_RTimeOut_gen.cpp
3> Generating src_gen/E_T_FF_gen.cpp
3> Generating src_gen/E_TRAIN_gen.cpp
3> Generating src_gen/DEV_MGR_gen.cpp
3> Generating src_gen/EMB_RES_gen.cpp
3> Generating src_gen/RMT_DEV_gen.cpp
3> Generating src_gen/RMT_RES_gen.cpp
3> Generating src_gen/ForteBootFileLoader_gen.cpp
3> Generating src_gen/GEN_CLIENT_gen.cpp
3> Generating src_gen/GEN_PUBLISH_gen.cpp
3> Generating src_gen/GEN_SERVER_gen.cpp
3> Generating src_gen/GEN_SUBSCRIBE_gen.cpp
3> Generating src_gen/GEN_PUBL_gen.cpp
3> Generating src_gen/GEN_SUBL_gen.cpp
3> Generating src_gen/pctimeha_gen.cpp
3> Building Custom Rule C:/FORTE_dev/forte-incubation_1.13.0A/CMakeLists.txt
7>------ Build started: Project: forte, Configuration: Release Win32 ------
7> Building Custom Rule C:/FORTE_dev/forte-incubation_1.13.0A/src/CMakeLists.txt
7>LINK : warning LNK4044: unrecognized option '/Wl,-M'; ignored
7>LINK : warning LNK4044: unrecognized option '/Wl,-Map'; ignored
7>LINK : warning LNK4044: unrecognized option '/Wl,forte.map'; ignored
7>LINK : warning LNK4044: unrecognized option '/Wl,-cref'; ignored
7>LINK : fatal error LNK1181: cannot open input file 'FORTE_LITE.dir\Release\forte_thread.obj'
========== Build: 5 succeeded, 2 failed, 0 up-to-date, 0 skipped ==========
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835277 is a reply to message #1835268] Sun, 29 November 2020 19:59 Go to previous messageGo to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1214
Registered: January 2014
Senior Member
Great, thanks, will push the fix for the upcoming 1.13.1 maintenance release.

Are you using VS2020 for compiling for M1? I don't think this is working. AFAIK you need to use unix makefiles and run make for compiling it.
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835374 is a reply to message #1835277] Tue, 01 December 2020 21:54 Go to previous messageGo to next message
David Wagner is currently offline David WagnerFriend
Messages: 11
Registered: November 2020
Junior Member
Thank you for your help again and sorry for noob questions.

I moved forward a bit. But now, when executing make, I'm receiving output as shown below. I have tested more FORTE versions, including the oldest one, but unfortunately, the state is allways same.

Am I doing something wrong, please?

#####################################################################x

[ 47%] Generating src_gen/GEN_CLIENT_gen.cpp
[ 47%] Generating src_gen/GEN_PUBLISH_gen.cpp
[ 48%] Generating src_gen/GEN_SERVER_gen.cpp
[ 48%] Generating src_gen/GEN_SUBSCRIBE_gen.cpp
[ 49%] Generating src_gen/GEN_PUBL_gen.cpp
Scanning dependencies of target forte_stringlist_externals
[ 50%] Linking CXX static library libforte_stringlist_externals.a
[ 50%] Built target forte_stringlist_externals
Scanning dependencies of target forte_generate_modules_cmake_files
[ 50%] Built target forte_generate_modules_cmake_files
Scanning dependencies of target forte_stringlist_generator
GenerateStringlist
Source Dir: C:/FORTE_dev/org.eclipse.4diac.forte-1.8_RC1/src
Binary Dir: C:/FORTE_dev/build/win32-6
[ 50%] Built target forte_stringlist_generator
Scanning dependencies of target forte
[ 50%] Building CXX object src/CMakeFiles/forte.dir/arch/be_m1/thread.cpp.obj
In file included from C:/FORTE_dev/org.eclipse.4diac.forte-1.8_RC1/src/arch/be_m
1/thread.cpp:12:
C:/FORTE_dev/org.eclipse.4diac.forte-1.8_RC1/src/arch/be_m1/thread.h:15:10: fata
l error: vxWorks.h: No such file or directory
15 | #include <vxWorks.h>
| ^~~~~~~~~~~
compilation terminated.
make[2]: *** [src/CMakeFiles/forte.dir/build.make:83: src/CMakeFiles/forte.dir/a
rch/be_m1/thread.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:799: src/CMakeFiles/forte.dir/all] Error 2
make: *** [Makefile:149: all] Error 2
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835386 is a reply to message #1835374] Wed, 02 December 2020 08:13 Go to previous messageGo to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1214
Registered: January 2014
Senior Member
These are definitely no N00b questions.

First of all I see here 4diac FORTE 1.8. This version is now really old. I strongly recommend to update to the latest 4diac FORTE version. Reading the latest code I also noticed a dumb copy paste error in thread.cpp of the BE M1 implementation [1].

However I don't think this is the root cause of your problem. I currently don't have a Solution Center at hand to test for myself. Therefore could you please run "make VERBOSE=1" so that we get more output. E.g., which compiler is used and stuff.

[1] https://git.eclipse.org/r/c/4diac/org.eclipse.4diac.forte/+/173197
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835414 is a reply to message #1835386] Wed, 02 December 2020 19:14 Go to previous messageGo to next message
David Wagner is currently offline David WagnerFriend
Messages: 11
Registered: November 2020
Junior Member
About the FORTE version, this was just only my last try yesterday, to use the oldest available version trying to check, if the version difference may change the make output.

But of course I have tried the latest version 1.13.0. Now I'm back using this version.

The output is pasted below. It crashes when searching for "vxWorks.h", and surely, there is no file like that.
But the "forte_thread.cpp" contains at line 13 an include "#include "forte_thread.h".
In this included file, line 16 contains include "#include <vxWorks.h>". But the folder structure of forte source does not contain a file matching this name.

####################################################################################################################

[ 50%] Building CXX object src/CMakeFiles/FORTE_LITE.dir/arch/be_m1/forte_thread
.cpp.obj
cd C:/FORTE_dev/build/win32/src && C:/MinGW/bin/c++.exe -DFORTE_COMPILATION -DFO
RTE_SUPPORT_ARRAYS -DFORTE_SUPPORT_BOOT_FILE -DFORTE_SUPPORT_CUSTOM_SERIALIZABLE
_DATATYPES -DFORTE_SUPPORT_MONITORING -DFORTE_SUPPORT_QUERY_CMD -DFORTE_UNICODE_
SUPPORT -DFORTE_USE_64BIT_DATATYPES -DFORTE_USE_LREAL_DATATYPE -DFORTE_USE_REAL_
DATATYPE -DFORTE_USE_WSTRING_DATATYPE -DNOLOG @CMakeFiles/FORTE_LITE.dir/include
s_CXX.rsp -O3 -DNDEBUG -W -Wall -Wextra -Woverloaded-virtual -Wconversion -DFO
RTE_LITTLE_ENDIAN -DVXWORKS -fno-rtti -o CMakeFiles/FORTE_LITE.dir/arch/be_m1/f
orte_thread.cpp.obj -c C:/FORTE_dev/forte-incubation_1.13.0A/src/arch/be_m1/fort
e_thread.cpp
In file included from C:/FORTE_dev/forte-incubation_1.13.0A/src/arch/be_m1/forte
_thread.cpp:13:
C:/FORTE_dev/forte-incubation_1.13.0A/src/arch/be_m1/forte_thread.h:16:10: fatal
error: vxWorks.h: No such file or directory
16 | #include <vxWorks.h>
| ^~~~~~~~~~~
compilation terminated.
make[2]: *** [src/CMakeFiles/FORTE_LITE.dir/build.make:83: src/CMakeFiles/FORTE_
LITE.dir/arch/be_m1/forte_thread.cpp.obj] Error 1
make[2]: Leaving directory 'C:/FORTE_dev/build/win32'
make[1]: *** [CMakeFiles/Makefile2:1404: src/CMakeFiles/FORTE_LITE.dir/all] Erro
r 2
make[1]: Leaving directory 'C:/FORTE_dev/build/win32'
make: *** [Makefile:149: all] Error 2

C:\FORTE_dev\build\win32>
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835415 is a reply to message #1835414] Wed, 02 December 2020 19:28 Go to previous messageGo to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1214
Registered: January 2014
Senior Member
I think I have to ask more questions. In your original first question you mentioned that you want to build 4diac FORTE for Bachmann M1 PLC. Bachmann M1 PLC runs vxWorks and needs special cross compiler, include files and libraries that are part of Bachmann's Solution center. You can not build 4diac FORTE for Bachmann M1 with out these compiler, include files and libraries. If understand you correctly you tried VS2020 and MinGW which both build for Windows based systems.

So before continuing: what is your target? Do you have Bachmann's solution center?
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835417 is a reply to message #1835415] Wed, 02 December 2020 20:13 Go to previous messageGo to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1214
Registered: January 2014
Senior Member
Sorry I just noticed one big mistake in my assumption. I haven't done much cross compiling recently so I completely forgot. When you start CMake and do the inital setup. you need to select unix makefiles but then not the use default native compilers but the Specify toolchain file for cross-compiling option. Then cmake will ask you for a toolchain file. you can find the m1 tool-chain file in the buildsupport/toolchains folder. Depending on what solution center you have you may have to adjust M1_CUTILS folder. But as this is a CMAKE option it may be possible to that later in the setup process. If not just update line 6 of the toolchain-m1.cmake file with your correct Solution Center GnuTools path. sorry again that i completely forgot about that step.
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835422 is a reply to message #1835417] Wed, 02 December 2020 21:38 Go to previous messageGo to next message
David Wagner is currently offline David WagnerFriend
Messages: 11
Registered: November 2020
Junior Member
Sorry for mistakes and thank you for advice.

Sure I want to get FORTE running on M1 PLC. I have SolutionCenter 1.50R.

Now, when I have set the toolchain, etc. for cmake, I'm trying to import project to SolutionCenter.

But there is no file looking like an Eclipse project, so when I specify the cmake output directory when trying to import project to SolutionCenter, I do not get any option to choose - it does not identify anything as a compatible project file.

It seems to me that I have not specified that I want cmake to create an Eclipse project. But how to do this, using cmake-gui, please?
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835424 is a reply to message #1835422] Thu, 03 December 2020 07:12 Go to previous messageGo to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1214
Registered: January 2014
Senior Member
Cmake allows to create a CDT Eclipse project. However this is pretty outdated and I would not recommend this for starters. With the imported toolchain-file I think the unix makefile option and then running make all in your build directory seems for starting a good option.
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835500 is a reply to message #1835424] Fri, 04 December 2020 22:49 Go to previous messageGo to next message
David Wagner is currently offline David WagnerFriend
Messages: 11
Registered: November 2020
Junior Member
OK, I tried, but now I'm facing another error. But I do not know why, because the desired file "i386-wrs-vxworks-ar.exe" is normally present at the directory.

I would not waste your time, because it seems that I have tried to do something, what I do not have enough knowledge for.

Could you be so kind and share a simple step-by-step tutorial for beginner, how to set up and compile the forte from source?

###########################################################################################

C:\FORTE_dev\build\win32>make all
[ 0%] Generating src_gen/comlayersmanager_gen.cpp
[ 0%] Generating src_gen/deviceExecutionHandlers_gen.cpp
[ 1%] Linking CXX static library libforte_stringlist_externals.a
C:/bachmann/SolutionCenter/V1.50R/cutils/GnuTools/bin/i386-wrs-vxworks-ar.exe: @
CMakeFiles/forte_stringlist_externals.dir/objects1.rsp: No such file or director
y
make[2]: *** [CMakeFiles/forte_stringlist_externals.dir/build.make:597: libforte
_stringlist_externals.a] Error 1
make[2]: *** Deleting file 'libforte_stringlist_externals.a'
make[1]: *** [CMakeFiles/Makefile2:1376: CMakeFiles/forte_stringlist_externals.d
ir/all] Error 2
make: *** [Makefile:149: all] Error 2
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835518 is a reply to message #1835500] Sat, 05 December 2020 16:24 Go to previous messageGo to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1214
Registered: January 2014
Senior Member
I'm very sorry/disappointed that 4diac FORTE plays so hard with you. As said above we haven#t used int on M1 for quite some time so we are maybe a but rusted. We have quite some documentation on how to build 4diac FORTE for different platforms we support [1]. Unfortunately nothing on M1.

Looking at your output I think you are definitely a big step forward. I think the problem is that M1 compiler has troubles with one of our build improving options. We have the same issue, for example, also on Mac OS. I think if you deactivate the option FORTE_LINKED_STRINGDICT in CMake-GUI (you need to enabled the Advanced options on the top right) this error should go away.

[1] https://www.eclipse.org/4diac/en_help.php?helppage=html/installation/install.html#4DIAC-FORTE
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835556 is a reply to message #1835518] Sun, 06 December 2020 20:00 Go to previous messageGo to next message
David Wagner is currently offline David WagnerFriend
Messages: 11
Registered: November 2020
Junior Member
Big thanks for support again. I tried as you described. But it looks I'm missing an utility in bachmann/cutils, as shown in the output below.

cutils/GnuTools/bin/i386-wrs-vxworks-c++.exe - this file is really not present, I¨m using older version of SolutionCenter (there was defaultly 1.7x set in FORTE files, but I have 1.50R). Bu I'm unable to get later version. :(

########################################################################################################


c:\FORTE_dev\build\win32-7>make all
-- FORTE_MODULE_DIR: C:/FORTE_dev/build/win32-7/src/modules com external/
[ 0%] Built target forte_generate_modules_cmake_files
GenerateStringlist
Source Dir: C:/FORTE_dev/forte-incubation_1.13.0A/src
Binary Dir: C:/FORTE_dev/build/win32-7
[ 0%] Built target forte_stringlist_generator
Generate Initfunction
Source Dir: C:/FORTE_dev/forte-incubation_1.13.0A
Binary Dir: C:/FORTE_dev/build/win32-7
[ 0%] Built target forte_init_generator
[ 0%] Building CXX object src/CMakeFiles/FORTE_LITE.dir/arch/be_m1/forte_thread
.cpp.obj
'C:/bachmann/SolutionCenter/V1.50R/cutils/GnuTools/bin/i386-wrs-vxworks-c++.exe'
is not recognized as an internal or external command,
operable program or batch file.
make[2]: *** [src/CMakeFiles/FORTE_LITE.dir/build.make:83: src/CMakeFiles/FORTE_
LITE.dir/arch/be_m1/forte_thread.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:1375: src/CMakeFiles/FORTE_LITE.dir/all] Erro
r 2
make: *** [Makefile:149: all] Error 2

c:\FORTE_dev\build\win32-7>
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835566 is a reply to message #1835556] Mon, 07 December 2020 07:51 Go to previous messageGo to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1214
Registered: January 2014
Senior Member
Could it be that 1.50 does not have C++ support? Can you send me the list of files in your C:/bachmann/SolutionCenter/V1.50R/cutils/GnuTools/bin/ directory. Maybe we have to tune the toolchain file for 1.50. You can also send me the list as direct message to my email (alois.zoitl (at) gmx.at).
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835590 is a reply to message #1835566] Mon, 07 December 2020 18:31 Go to previous messageGo to next message
David Wagner is currently offline David WagnerFriend
Messages: 11
Registered: November 2020
Junior Member
OK, here is the folder content:

#####################################################################################################x


C:\bachmann\SolutionCenter\V1.50R\cutils\GnuTools\bin>dir
Volume in drive C is SYSTEM
Volume Serial Number is 1AA6-1EEA

Directory of C:\bachmann\SolutionCenter\V1.50R\cutils\GnuTools\bin

06.12.2020 20:55 <DIR> .
06.12.2020 20:55 <DIR> ..
29.09.2009 08:48 646 144 ar.exe
29.09.2009 08:48 76 288 byacc.exe
29.09.2009 08:48 19 456 cat.exe
29.09.2009 08:48 50 688 cp.exe
29.09.2009 08:48 3 264 906 cygwin.dll
29.09.2009 08:48 130 560 flex.exe
29.09.2009 08:48 81 408 grep.exe
29.09.2009 08:48 46 592 gzip.exe
29.09.2009 08:48 599 451 i386-wrs-vxworks-addr2line.exe
29.09.2009 08:48 576 526 i386-wrs-vxworks-ar.exe
29.09.2009 08:48 604 662 i386-wrs-vxworks-as.exe
29.09.2009 08:48 104 255 i386-wrs-vxworks-c++filt.exe
29.09.2009 08:48 401 077 i386-wrs-vxworks-g++.exe
29.09.2009 08:48 207 862 i386-wrs-vxworks-gasp.exe
29.09.2009 08:48 398 005 i386-wrs-vxworks-gcc.exe
29.09.2009 08:48 403 740 i386-wrs-vxworks-gcj.exe
29.09.2009 08:48 938 779 i386-wrs-vxworks-ld.exe
29.09.2009 08:48 603 006 i386-wrs-vxworks-nm.exe
29.09.2009 08:48 1 002 698 i386-wrs-vxworks-objcopy.exe
29.09.2009 08:48 126 137 i386-wrs-vxworks-protoize.exe
29.09.2009 08:48 576 526 i386-wrs-vxworks-ranlib.exe
29.09.2009 08:48 436 142 i386-wrs-vxworks-readelf.exe
29.09.2009 08:48 524 126 i386-wrs-vxworks-size.exe
29.09.2009 08:48 521 252 i386-wrs-vxworks-strings.exe
29.09.2009 08:48 1 002 698 i386-wrs-vxworks-strip.exe
29.09.2009 08:48 114 670 i386-wrs-vxworks-unprotoize.exe
29.09.2009 08:48 126 976 make.exe
29.09.2009 08:48 734 024 msys-1.0.dll
29.09.2009 08:48 10 240 mv.exe
29.09.2009 08:48 640 000 nm.exe
29.09.2009 08:48 961 536 objdump.exe
29.09.2009 08:48 476 672 posix_sh.exe
29.09.2009 08:48 267 264 rm-batch.exe
29.09.2009 08:48 9 216 rm.exe
29.09.2009 08:48 48 128 sed.exe
29.09.2009 08:48 631 808 size.exe
29.09.2009 08:48 158 208 tar.exe
37 File(s) 17 521 726 bytes
2 Dir(s) 243 736 481 792 bytes free
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835591 is a reply to message #1835590] Mon, 07 December 2020 18:53 Go to previous messageGo to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1214
Registered: January 2014
Senior Member
Thanks this helps. I looks like the c++ compiler has a different name. Or better the C++ compiler has some strange ending. I think it will be sufficient to change line 10 in your toolchain file from

CMAKE_FORCE_CXX_COMPILER(${M1_CUTILS}/bin/i386-wrs-vxworks-c++.exe GNU)

to

CMAKE_FORCE_CXX_COMPILER(${M1_CUTILS}/bin/i386-wrs-vxworks-g++.exe GNU)

But I think we are getting there.

Furthermore please note that I'm continuously updating the 1.13.x branch with issues you are finding. An overview of the commits I did can be found and the bug you originally submitted: https://bugs.eclipse.org/bugs/show_bug.cgi?id=569266
To get the lastest fixes from my side you can just switch to the 1.13.x branch and pull. A default git setup should be part of the source distribution of 4diac FORTE.
Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835936 is a reply to message #1835591] Wed, 16 December 2020 20:00 Go to previous messageGo to next message
David Wagner is currently offline David WagnerFriend
Messages: 11
Registered: November 2020
Junior Member
Unfortunately still no success. It seems that "g++" receives an unsupported argument.

I have sent you an e-mail.

Re: Bachmann M1 / VxWorks - Need advice how to begin [message #1835937 is a reply to message #1835936] Wed, 16 December 2020 20:02 Go to previous message
David Wagner is currently offline David WagnerFriend
Messages: 11
Registered: November 2020
Junior Member
Here is the output:


C:\FORTE_dev\build\win32-7>make all
-- FORTE_MODULE_DIR: C:/FORTE_dev/build/win32-7/src/modules com external/
[ 0%] Built target forte_generate_modules_cmake_files
GenerateStringlist
Source Dir: C:/FORTE_dev/forte-incubation_1.13.0A/src
Binary Dir: C:/FORTE_dev/build/win32-7
[ 0%] Built target forte_stringlist_generator
Generate Initfunction
Source Dir: C:/FORTE_dev/forte-incubation_1.13.0A
Binary Dir: C:/FORTE_dev/build/win32-7
[ 0%] Built target forte_init_generator
[ 0%] Building CXX object src/CMakeFiles/FORTE_LITE.dir/arch/be_m1/forte_thread
.cpp.obj
i386-wrs-vxworks-g++.exe: cannot specify -o with -c or -S and multiple compilati
ons
make[2]: *** [src/CMakeFiles/FORTE_LITE.dir/build.make:83: src/CMakeFiles/FORTE_
LITE.dir/arch/be_m1/forte_thread.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:1375: src/CMakeFiles/FORTE_LITE.dir/all] Erro
r 2
make: *** [Makefile:149: all] Error 2

C:\FORTE_dev\build\win32-7>
Previous Topic:version of IDE VS version of forte
Next Topic:how can i get/set more values by one FB CLIENT_1 in OPC DA
Goto Forum:
  


Current Time: Tue May 18 02:51:15 GMT 2021

Powered by FUDForum. Page generated in 0.03203 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top