Hi Gedare, Thank you so much, since I had the experience of RSB toolchain till now, I forgot to build the RTEMS compiler toolchain.
Today's update is also this that I spent the day figuring out how to build it manually and got some really amazing blogs which have helped me (though they were a bit difficult to find because most pages have been relocated). Sharing the resources which I have used today and that are helping me build RTEMS compiler toolchain for 4.10. http://heshamelmatary.blogspot.com/2014/06/howto-build-rtems-tool-chain-for.html https://docs.rtems.org/releases/4.5.0/rtemsdoc-4.5.0/share/rtemsdoc/html/started/started00040.html https://ftp.rtems.org/pub/rtems/releases/4.10/tools/ I am now applying patches for gdb, gcc, binutils and most probably hope that the build will be successful. As suggested by Heinz, I am improving the blog as well and will post the updated and better version of blog by Friday. Thanks, Mritunjay On Wed, Jul 1, 2020 at 9:25 AM Gedare Bloom <ged...@rtems.org> wrote: > On Tue, Jun 30, 2020 at 9:42 PM Mritunjay Sharma > <mritunjaysharma...@gmail.com> wrote: > > > > Hi Gedare, > > > > Thank you for the quick response, I tried using --target=i386-rtems4.10, > which again > > gave me the same error. > > > Did you build an RTEMS compiler toolchain for 4.10? and install it to > a prefix in your $PATH? > > > "checking for RTEMS_CPU_MODEL... i386_fp > > checking for RTEMS_BSP_FAMILY... pc386 > > checking for CPU_CFLAGS... (cached) -mtune=i386 > > checking for CFLAGS_OPTIMIZE_V... (cached) -O2 -g > > checking for style of include used by make... GNU > > checking for i386-rtems4.10-gcc... no > > configure: error: no acceptable cc found in $PATH > > Makefile:712: recipe for target 'pc386' failed > > make[2]: *** [pc386] Error 1 > > make[2]: Leaving directory > '/home/mritunjay/development/rtems-4.10.2/pc-386/i386-rtems4.10/c' > > Makefile:257: recipe for target 'all-recursive' failed > > make[1]: *** [all-recursive] Error 1 > > make[1]: Leaving directory > '/home/mritunjay/development/rtems-4.10.2/pc-386/i386-rtems4.10/c' > > Makefile:275: recipe for target 'all-recursive' failed > > make: *** [all-recursive] Error 1" > > > > Mritunjay > > > > On Wed, Jul 1, 2020 at 3:48 AM Gedare Bloom <ged...@rtems.org> wrote: > >> > >> Use --target=i386-rtems4.10 instead of --target=i386-rtems > >> > >> Does this work with 4.10.3/4.10 HEAD? > >> > >> On Tue, Jun 30, 2020 at 3:54 PM Mritunjay Sharma > >> <mritunjaysharma...@gmail.com> wrote: > >> > > >> > Hello everyone, > >> > > >> > I followed the documentation here > https://docs.rtems.org/releases/rtemsdocs-4.10.2/share/rtems/pdf/started.pdf > and > >> > started building RTEMS (4.10.2) for target architecture: i386 and > BSP: pc386. The configure seemed to be fine > >> > after entering the following command: > >> > "../configure --target=i386-rtems --disable-posix --enable-cxx > --enable-rtemsbsp=pc386 --enable-tests=samples > --prefix=/home/development/rtems-4.10.2" > >> > > >> > However, the make failed with the following error: checking for > i386-rtems-gcc... no > >> > "configure: error: no acceptable cc found in $PATH > >> > Makefile:712: recipe for target 'pc386' failed > >> > make[2]: *** [pc386] Error 1 > >> > make[2]: Leaving directory > '/home/mritunjay/development/rtems-4.10.2/pc386/i386-rtems/c' > >> > Makefile:257: recipe for target 'all-recursive' failed > >> > make[1]: *** [all-recursive] Error 1 > >> > make[1]: Leaving directory > '/home/mritunjay/development/rtems-4.10.2/pc386/i386-rtems/c' > >> > Makefile:275: recipe for target 'all-recursive' failed > >> > make: *** [all-recursive] Error 1" > >> > > >> > I checked that gcc is already installed in /usr/bin/gcc. > >> > So I am not able to figure out what exactly is causing the error. > >> > Please help to figure out what is causing this and how it can be > resolved. > >> > I have attached the config log as well. > >> > > >> > Thanks > >> > Mritunjay > >> > > >> > > >> > > >> > > >> > > >> > > >> > On Wed, Jul 1, 2020 at 12:27 AM Mritunjay Sharma < > mritunjaysharma...@gmail.com> wrote: > >> >> > >> >> > >> >> I mistakenly forgot to cc my other mentors. > >> >> > >> >> This is what I responded : > >> >> > >> >>> Hello Heinz, > >> >>> > >> >>> Pardon the mistake I did in haste, > >> >>> as I advised by you I am now building it for RTEMS 4.10 and then I > will > >> >>> be reporting here shortly as the build completes. > >> >>> > >> >>> Thanks > >> >>> Mritunjay. > >> >> > >> >> > >> >> I am shortly sending the email for the progress I made after working > on above. > >> >> Thanks > >> >> Mritunjay > >> >> > >> >> > >> >> > >> >> On Wed, Jul 1, 2020 at 12:11 AM Heinz Junkes < > jun...@fhi-berlin.mpg.de> wrote: > >> >>> > >> >>> Hello, Mritunjay, > >> >>> > >> >>> the epics-base version in github does not work with RTEMS5 It needs > my extensions for this. > >> >>> Therefore I suggested that you first build epics7 for e.g. RTEMS > 4.10. > >> >>> Then the easiest way is to build epics7 for RTEMS-pc386-qemu. This > is fully supported. > >> >>> So you learn how to build EPics and then you can develop a first > rsb-set for it. > >> >>> If this works, we will work on RTEMS5 and xilinx-Zynq. > >> >>> Heinz > >> >>> > >> >>> > On 30. Jun 2020, at 20:10, Mritunjay Sharma < > mritunjaysharma...@gmail.com> wrote: > >> >>> > > >> >>> > > >> >>> > Hello everyone, > >> >>> > > >> >>> > While yesterday, I completed the blog for the progress > >> >>> > till date, today I started the coding part. > >> >>> > > >> >>> > The tutorial that Heinz sent me yesterday guided > >> >>> > me to make the following changes: > >> >>> > > >> >>> > 1) epics-base/configure/CONFIG_SITE: > >> >>> > # Which target architectures to cross-compile for. > >> >>> > # Definitions in configure/os/CONFIG_SITE.<host>.Common > >> >>> > # may override this setting. > >> >>> > -CROSS_COMPILER_TARGET_ARCHS= > >> >>> > - #CROSS_COMPILER_TARGET_ARCHS=vxWorks-ppc32 > >> >>> > + CROSS_COMPILER_TARGET_ARCHS=pc386 > >> >>> > +#CROSS_COMPILER_TARGET_ARCHS=RTEMS-xilinx_zynq_a9_qemu > >> >>> > > >> >>> > I did not use xilinx_zynq_a9_qemu for now because I could > >> >>> > not locate CONFIG.Common.RTEMS-xilinx_zynq_a9_qemu > >> >>> > as of now in epics-base/configure/os. > >> >>> > > >> >>> > 2) configure/os/CONFIG_SITE.Common.RTEMS : > >> >>> > > >> >>> > # Where to find RTEMS > >> >>> > # > >> >>> > # APS: > >> >>> > -RTEMS_VERSION = 4.10.2 > >> >>> > -RTEMS_BASE = /usr/local/vw/rtems/rtems-$(RTEMS_VERSION) > >> >>> > #RTEMS_VERSION = 4.10.2 > >> >>> > #RTEMS_BASE = /usr/local/vw/rtems/rtems-$(RTEMS_VERSION) > >> >>> > > >> >>> > +# FHI: > >> >>> > +RTEMS_SERIES = 5 > >> >>> > +RTEMS_VERSION = 5 > >> >>> > +RTEMS_BASE = /home/mritunjay/development/rtems/5 > >> >>> > > >> >>> > I thought to straightaway move with building it with RTEMS 5 > >> >>> > because I have done it earlier for beatnik. > >> >>> > > >> >>> > After this as an experiment, I tried the make command which, > >> >>> > as expected, generated the following error: > >> >>> > > >> >>> > "make[4]: *** No rule to make target '../O.Common/osiFileName.h', > needed by 'inc'. Stop. > >> >>> > make[4]: Leaving directory > '/home/mritunjay/development/EPICS/epics-base/modules/libcom/src/O.pc386' > >> >>> > ../../../configure/RULES_ARCHS:58: recipe for target > 'install.pc386' failed > >> >>> > make[3]: *** [install.pc386] Error 2 > >> >>> > make[3]: Leaving directory > '/home/mritunjay/development/EPICS/epics-base/modules/libcom/src' > >> >>> > ../../configure/RULES_DIRS:85: recipe for target 'src.install' > failed > >> >>> > make[2]: *** [src.install] Error 2 > >> >>> > make[2]: Leaving directory > '/home/mritunjay/development/EPICS/epics-base/modules/libcom' > >> >>> > ../configure/RULES_DIRS:85: recipe for target 'libcom.install' > failed > >> >>> > make[1]: *** [libcom.install] Error 2 > >> >>> > make[1]: Leaving directory > '/home/mritunjay/development/EPICS/epics-base/modules' > >> >>> > configure/RULES_DIRS:85: recipe for target 'modules.install' > failed > >> >>> > make: *** [modules.install] Error 2 > >> >>> > " > >> >>> > I then re-visited to what I did with beatnik and made the > following changes to > >> >>> > start with adding support for RTEMS 5: > >> >>> > > >> >>> > diff --git a/configure/CONFIG_COMMON b/configure/CONFIG_COMMON > >> >>> > index 6c0e11e0d..d56802968 100644 > >> >>> > --- a/configure/CONFIG_COMMON > >> >>> > +++ b/configure/CONFIG_COMMON > >> >>> > @@ -142,9 +142,10 @@ BUILDLIB_SUFFIX = > $(BUILDLIB_SUFFIX_$(SHARED_LIBRARIES)) > >> >>> > #-------------------------------------------------- > >> >>> > # vpath directories > >> >>> > POSIX_YES = os/posix > >> >>> > +OS_IMPL_DIRS = $(if $(OS_API),os/$(OS_CLASS)-$(OS_API),) > os/$(OS_CLASS) > >> >>> > GENERIC_SRC_DIRS = .. $(SRC_DIRS) > >> >>> > OS_SRC_DIRS += . $(foreach dir, .. $(SRC_DIRS), \ > >> >>> > - $(addprefix $(dir)/, os/$(OS_CLASS) $(POSIX_$(POSIX)) > os/default )) > >> >>> > + $(addprefix $(dir)/, $(OS_IMPL_DIRS) $(POSIX_$(POSIX)) > os/default )) > >> >>> > CMPLR_SRC_DIRS += . $(foreach dir, .. $(SRC_DIRS), \ > >> >>> > $(addprefix $(dir)/, compiler/$(CMPLR_CLASS) > compiler/default )) > >> >>> > ALL_SRC_DIRS = $(CMPLR_SRC_DIRS) $(OS_SRC_DIRS) > $(GENERIC_SRC_DIRS) > >> >>> > diff --git a/configure/CONFIG_SITE b/configure/CONFIG_SITE > >> >>> > index 09b4c1525..f3aa4b3f7 100644 > >> >>> > --- a/configure/CONFIG_SITE > >> >>> > +++ b/configure/CONFIG_SITE > >> >>> > @@ -161,7 +161,7 @@ USE_POSIX_THREAD_PRIORITY_SCHEDULING = YES > >> >>> > > >> >>> > # Site version number, if set will append '-' and this string to > the > >> >>> > # EPICS version number string that is reported by many tools. > >> >>> > -EPICS_SITE_VERSION = > >> >>> > +EPICS_SITE_VERSION = > >> >>> > > >> >>> > # For GNU compiler, use pipes rather than temporary files for > >> >>> > # communication between the various stages of compilation. > >> >>> > diff --git a/configure/os/CONFIG.Common.RTEMS > b/configure/os/CONFIG.Common.RTEMS > >> >>> > index 8425e6ef9..929510d61 100644 > >> >>> > --- a/configure/os/CONFIG.Common.RTEMS > >> >>> > +++ b/configure/os/CONFIG.Common.RTEMS > >> >>> > @@ -94,16 +94,28 @@ MODEXT=.obj > >> >>> > # operating system class (include/os/<os_class>) > >> >>> > OS_CLASS = RTEMS > >> >>> > > >> >>> > +#-------------------------------------------------- > >> >>> > +# operating system API (src/os/<os_class>-<os-api>) > >> >>> > +OS_API_4.7 = kernel > >> >>> > +OS_API_4.8 = kernel > >> >>> > +OS_API_4.9 = kernel > >> >>> > +OS_API_4.10 = kernel > >> >>> > +OS_API = $(firstword $(OS_API_$(RTEMS_SERIES)) posix) > >> >>> > + > >> >>> > #-------------------------------------------------- > >> >>> > # Operating system flags > >> >>> > -OP_SYS_LDLIBS += -lrtemsCom -lc -lrtemscpu -lCom -lnfs -lm > >> >>> > -OP_SYS_LDFLAGS += $(CPU_CFLAGS) -u Init \ > >> >>> > +OP_SYS_LDLIBS += -lrtemsCom -lc -lrtemscpu -lCom -lnfs -lm > >> >>> > +# newest Rtems > 2019 needs this -ltftpfs > >> >>> > + > >> >>> > +OP_SYS_LDFLAGS_posix += -u POSIX_Init > >> >>> > +OP_SYS_LDFLAGS_kernel += $(CPU_CFLAGS) -u Init \ > >> >>> > $(PROJECT_RELEASE)/lib/no-dpmem.rel \ > >> >>> > $(PROJECT_RELEASE)/lib/no-mp.rel \ > >> >>> > $(PROJECT_RELEASE)/lib/no-part.rel \ > >> >>> > $(PROJECT_RELEASE)/lib/no-signal.rel \ > >> >>> > $(PROJECT_RELEASE)/lib/no-rtmon.rel > >> >>> > > >> >>> > +OP_SYS_LDFLAGS += $(CPU_FLAGS) $(OP_SYS_LDFLAGS_$(OS_API)) > >> >>> > MOD_SYS_LDFLAGS += $(CPU_CFLAGS) -Wl,-r -nostdlib > >> >>> > > >> >>> > # Do not link against libraries which are part of the Generic > Image > >> >>> > diff --git a/modules/libcom/RTEMS/Makefile > b/modules/libcom/RTEMS/Makefile > >> >>> > index b46889db1..cb1a63b97 100644 > >> >>> > --- a/modules/libcom/RTEMS/Makefile > >> >>> > +++ b/modules/libcom/RTEMS/Makefile > >> >>> > @@ -11,6 +11,9 @@ TOP = ../../.. > >> >>> > include $(TOP)/configure/CONFIG > >> >>> > include $(TOP)/configure/CONFIG_LIBCOM_VERSION > >> >>> > > >> >>> > +#for checking > >> >>> > +SRC_DIRS += ../$(OS_API) > >> >>> > + > >> >>> > PERL_SCRIPTS += epicsMakeMemFs.pl > >> >>> > > >> >>> > INC += epicsRtemsInitHooks.h > >> >>> > (END) > >> >>> > > >> >>> > I will start with further changes tomorrow. Please find the > changes pushed > >> >>> > here: > https://github.com/epics-base/epics-base/compare/7.0...mritunjaysharma394:GSoC_pc-386 > >> >>> > > >> >>> > I will be pleased to have the feedback and if I am on the correct > course now. > >> >>> > > >> >>> > I will also like to inform that I have filled the GSoC Phase 1 > Evaluation form and I > >> >>> > will request all my mentors to please feel free to fill the form > before the deadline > >> >>> > and I hope that from now I will not disappoint with my progress. > >> >>> > > >> >>> > It is my bad that I still have not been able to reach out to one > more > >> >>> > mentor Pavel Pisa. Please if possible share the email id of Pavel > and cc > >> >>> > Pavel in the replies to the email so that Pavel s aware of the > progress and I > >> >>> > can apologise for my inability to connect with Pavel earlier. > >> >>> > > >> >>> > Thanks, > >> >>> > Mritunjay. > >> >>> > > >> >>> > > >> >>> > > >> >>> > > >> >>> > > >> >>> > > >> >>> >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel