Topic
5 replies Latest Post - ‏2013-01-10T07:25:24Z by SystemAdmin
SystemAdmin
SystemAdmin
3659 Posts
ACCEPTED ANSWER

Pinned topic rosert build error

‏2012-12-26T10:09:17Z |
Hi All,
I am trying to build the code generated by roseRT for linux machine from windows PC. So I set the codegenmakeType and compilation maketype variables to Gnu_make and target to RedHat61T.x86-egcs-2.91.66. I set the compilation make command to '$CYGWIN_DRIVE/cygwin/bin/ssh.exe -l $REMOTE_USER $BUILD_SERVER "cd /home/$REMOTE_USER/src/Rational/$VIEW_NAME/FTE_src/FTE/RoseModels/$name/build;make"'. Even I sat windows environment variables for cygwin too. And when I trying to build the code , getting the following error.
OutputPath: D:/Examples/TopBuildConfig
Running: make RTS_HOME="C:\Program Files\Rational\Rose RealTime/C++/TargetRTS" MODEL="D:/Examples/simple.rtmdl" COMPONENT="Component View::TopBuildConfig" RTmakefiles
cygwin warning:
MS-DOS style path detected: C:\Program Files\Rational\Rose RealTime/C++/TargetRTS/codegen/rtgen.mk
Preferred POSIX equivalent is: /cygdrive/c/Program Files/Rational/Rose RealTime/C++/TargetRTS/codegen/rtgen.mk
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
rtcppgen -model "D:/Examples/simple.rtmdl" -component "Component View::TopBuildConfig" -makegen
Warning: This component implicitly depends upon 'Component View::RTComponents::RTComponent'. The model should be updated to include an explicit dependency.
!> Generating Makefiles for TopBuildConfig
make: Nothing to be done for `RTmakefiles'.
Running: make RTgenerate
cygwin warning:
MS-DOS style path detected: C:/Program Files/Rational/Rose RealTime/C++/TargetRTS/codegen/rtgen.mk
Preferred POSIX equivalent is: /cygdrive/c/Program Files/Rational/Rose RealTime/C++/TargetRTS/codegen/rtgen.mk
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
rtperl "C:\Program Files\Rational\Rose RealTime/codegen/chdir_run.pl" src make -s RTgenerate
Makefile:19: *** multiple target patterns. Stop.
make: *** RTgenerate Error 2
Error: Generate failed status 0x2

Build failed.

Please let me know why its failing and work around for this.

With Regards,
Venkatesh
Updated on 2013-01-10T07:25:24Z at 2013-01-10T07:25:24Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    3659 Posts
    ACCEPTED ANSWER

    Re: rosert build error

    ‏2012-12-26T11:16:21Z  in response to SystemAdmin
    Makefile is :
    RTS_HOME = C:/Program Files/Rational/Rose RealTime/C++/TargetRTS
    1. How to handle possible spaces in RTS_HOME for GNU make
    RTempty =
    RTspace = $(RTempty) $(RTempty)
    RTS_MKHOME = $(subst $(RTspace),\$(RTspace),$(RTS_HOME))
    PLATFORM = REDHAT61
    THREADED = T
    LIBRARY_SET = x86-egcs-2.91.66
    USER_CC = $(CC)
    USER_CCFLAGS = $(DEBUG_TAG) )
    USER_INCPATHS = $(INCLUDE_TAG)../src
    USER_DEPPATHS = $(DEPEND_TAG) ../src
    TOP_CAPSULE = Top
    BUILD_TARGET = TopBuildConfig$(EXEC_EXT)
    USER_LD = $(LD)
    USER_LDFLAGS =
    USER_OBJS =
    USER_LIBS =
    RTCOMPONENT_LIBS =
    RTCOMPONENT_LIBS_DEP = $(RTCOMPONENT_LIBS)
    SOURCE_DIR = ../src
    RTCOMPILE_DAT = rtcompile.dat
    RTLINK_DAT = rtlink.dat
    ALL_OBJS = \
    Top$(OBJ_EXT) \
    RTSystem/TopBuildConfig$(OBJ_EXT)

    ALL_OBJS_LISTFILE = ALL_OBJS.olist
    COMPILE_TARGET = $(BUILD_TARGET)
    PURIFY_TARGET = Purify_TopBuildConfig$(EXEC_EXT)
    PURIFY = purify $(PURIFY_OPTIONS)
    PURIFY_OPTIONS = "-log-file=$(PURIFY_TARGET).txt" -windows=no
    QUANTIFY_TARGET = Quantify_TopBuildConfig$(EXEC_EXT)
    QUANTIFY = quantify $(QUANTIFY_OPTIONS)
    QUANTIFY_OPTIONS = "-log-file=$(QUANTIFY_TARGET).txt" -filename-prefix=%v -windows=no
    PURECOV_TARGET = PureCov_TopBuildConfig$(EXEC_EXT)
    PURECOV = purecov $(PURECOV_OPTIONS)
    PURECOV_OPTIONS = "-log-file=$(PURECOV_TARGET).txt" -windows=no
    RTCOMPONENT = "Component View::TopBuildConfig"
    USER_OBJS_LIST = $(USER_OBJS)
    SPACEDEPS = -spacify bs
    include Top.dep
    include RTSystem/TopBuildConfig.dep
    include $(RTS_MKHOME)/codegen/gnu_make.mk

    RTcompile : $(COMPILE_TARGET)

    RTpurify : $(PURIFY_TARGET)

    RTquantify : $(QUANTIFY_TARGET)

    RTpurecov : $(PURECOV_TARGET)

    $(BUILD_TARGET) : $(ALL_OBJS) $(USER_OBJS) $(RTCOMPONENT_LIBS_DEP) $(ALL_OBJS_LISTFILE) $(RTLINK_DAT)
    $(RTLINK) -vendor $(VENDOR) -exe "$(BUILD_TARGET)" -component $(RTCOMPONENT) -- \
    $(USER_LD) $(LD_HEAD) $(USER_LDFLAGS) \
    $(ALL_OBJS_LIST) $(USER_OBJS_LIST) \
    $(RTCOMPONENT_LIBS) $(USER_LIBS) $(LD_TAIL)

    $(PURIFY_TARGET) : $(ALL_OBJS) $(USER_OBJS) $(RTCOMPONENT_LIBS_DEP) $(ALL_OBJS_LISTFILE) $(RTLINK_DAT)
    $(RTLINK) -vendor $(VENDOR) -purify -exe "$(PURIFY_TARGET)" -component $(RTCOMPONENT) -- \
    $(PURIFY) $(USER_LD) $(LD_HEAD) $(USER_LDFLAGS) \
    $(ALL_OBJS_LIST) $(USER_OBJS_LIST) \
    $(RTCOMPONENT_LIBS) $(USER_LIBS) $(LD_TAIL)

    $(QUANTIFY_TARGET) : $(ALL_OBJS) $(USER_OBJS) $(RTCOMPONENT_LIBS_DEP) $(ALL_OBJS_LISTFILE) $(RTLINK_DAT)
    $(RTLINK) -vendor $(VENDOR) -quantify -exe "$(QUANTIFY_TARGET)" -component $(RTCOMPONENT) -- \
    $(QUANTIFY) $(USER_LD) $(LD_HEAD) $(USER_LDFLAGS) \
    $(ALL_OBJS_LIST) $(USER_OBJS_LIST) \
    $(RTCOMPONENT_LIBS) $(USER_LIBS) $(LD_TAIL)

    $(PURECOV_TARGET) : $(ALL_OBJS) $(USER_OBJS) $(RTCOMPONENT_LIBS_DEP) $(ALL_OBJS_LISTFILE) $(RTLINK_DAT)
    $(RTLINK) -vendor $(VENDOR) -coverage -exe "$(PURECOV_TARGET)" -component $(RTCOMPONENT) -- \
    $(PURECOV) $(USER_LD) $(LD_HEAD) $(USER_LDFLAGS) \
    $(ALL_OBJS_LIST) $(USER_OBJS_LIST) \
    $(RTCOMPONENT_LIBS) $(USER_LIBS) $(LD_TAIL)

    Top$(OBJ_EXT) : $(Top_DEPS) $(RTCOMPILE_DAT)
    $(RTCOMP) -vendor $(VENDOR) $(SPACEDEPS) $(USER_DEPPATHS) \
    -component $(RTCOMPONENT) -src Top $(SOURCE_DIR)/Top.cpp -- \
    $(USER_CC) $(CC_HEAD) $(USER_CCFLAGS) $(USER_INCPATHS) \
    $(SOURCE_DIR)/Top.cpp $(CC_TAIL)

    RTSystem/TopBuildConfig$(OBJ_EXT) : $(TopBuildConfig_SYSDEPS) $(RTCOMPILE_DAT)
    $(RTCOMP) -vendor $(VENDOR) $(SPACEDEPS) $(USER_DEPPATHS) \
    -dep TopBuildConfig_SYSDEPS RTSystem/TopBuildConfig.dep \
    -component $(RTCOMPONENT) -src TopBuildConfig ../src/RTSystem/TopBuildConfig.cpp -- \
    $(USER_CC) $(CC_HEAD) $(USER_CCFLAGS) $(USER_INCPATHS) \
    ../src/RTSystem/TopBuildConfig.cpp $(CC_TAIL)
  • sravankumarl
    sravankumarl
    11 Posts
    ACCEPTED ANSWER

    Re: rosert build error

    ‏2013-01-01T11:34:36Z  in response to SystemAdmin
    Hi,

    This problem occurs when you use Cygwin make 3.82 or above. either you need to downgrade the make version to 3.80 or get the latest make from mingw(MINimal Gnu for Windows) and overwrite the make utility from your cygwin installation. You can directly use mingw which works fine.

    Since the code is generated on windows platform it uses windows style paths. The support for windows style paths has been removed in cygwin make 3.81 and above. This is the reason you get this error.

    Your makefile contains

    include $(RTS_MKHOME)/codegen/gnu_make.mk

    gnu_make.mk handles the paths with spaces. There is a correction applied in this make file.

    I hope this helps

    Sravan
    • SystemAdmin
      SystemAdmin
      3659 Posts
      ACCEPTED ANSWER

      Re: rosert build error

      ‏2013-01-02T08:04:59Z  in response to sravankumarl
      Hi Sravan,

      Thanks for ur input.

      i tried with minGW latest version also, by installing latest version and updating the path in windows environment variables. But of no luck. Giving the same build failure error. Please let me know of any other ways to build it.

      Actually its helloworld program from examples in rosert directory which I am trying to build.
      If time permits , please try to build and let me know the result. sorry for inconvinience.

      With Regards,
      Venkatesh
      • sravankumarl
        sravankumarl
        11 Posts
        ACCEPTED ANSWER

        Re: rosert build error

        ‏2013-01-03T09:18:39Z  in response to SystemAdmin
        Hi,

        I have been using MinGW with g++ version 4.7.0 and Make(from MSYS) version 3.81(This was latest about 3 months back). It is working fine for me. This was also used by our testing team found no problems.

        One problem I had seen earlier is conflict with Cygwin paths. Please remove cygwin paths completely before adding mingw paths.

        This should resolve the problem

        Thanks
        Sravan
        • SystemAdmin
          SystemAdmin
          3659 Posts
          ACCEPTED ANSWER

          Re: rosert build error

          ‏2013-01-10T07:25:24Z  in response to sravankumarl
          Hi Sravan,

          Sorry for late reply. I struck up in some other work and I couldnt able to follow your guidelines. Once I free , I ll try it in ur suggested way and know you the result.

          With Regards,
          Venkatesh