Installing Momentics 6.2.1

Hello

I am trying to install momentics 6.2.1. I received 2 CD’s one for standard edition and another for professional edition for winxp OS.
1.After installing CD1 SE , there is no IDE in start menu.
2.What settings shall be done for Env variable and makeflags in QNX momentics configuration.
3.Where shall i find qconfig.

Thanks & Regards
L.Subbaraman

qnx.com/developers/docs/6.3. … hatis.html

That answers why you have no IDE when you installed the SE.

You should still be able to compile from the command line. Have you tried that?

Tim

Hello Thanks for the reply.

I am trying to use the command line.
I already have a work space based on QNX 6.3.0 server (linux based).
The same work space if i use in QNX 6.2.1 momentics environment. its not building. I had set the env for QNX_HOST and QNX_target.
what are the settings has to be done in Makeflags , QNX_HOST and QNX_Target ?
Do i need cygwin to be installed ?

I’m not familiar with the Linux install of Momentics. But normally the Momentic’s install takes care of installing everything you need so that you don’t have to go downloading and installing something else.

What error(s) are you getting?

When you say you have a 6.3 workspace, does that mean you have both 6.3 AND 6.2.1 installed on the same machine? Or are you saying you have a 6.3 workspace from another machine/repository copied to your Linux machine where you have 6.2.1 installed and you are trying to build that?

Tim

I have a work space built in 6.3.0 (QNX server) and i want to use the same work space in 6.2.1 (Momentics windows host). Both versions are installed in different PC’s
The error is
C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/make30882.sh: line 1: `echo "MAKECMDGOALS is "; echo “CONFIG_INCLUDE_FILE is …/…/…/make/config/DEFAULT.config”; for d in ; do (cd $d; e:/QNXsdk/host/win32/x86/usr/bin/make.exe; TEMP=$?; if [ $TEMP != 0 ]; then exit $TEMP; fi); TEMP=$?; if [ $TEMP != 0 ]; then exit $TEMP; fi; echo “$d built successfully” ; done’

Thanks
Subram

Complete error description follows
make -f Makefile
echo "MAKECMDGOALS is ";
echo “CONFIG_INCLUDE_FILE is …/make/config/DEFAULT.config”;
for d in baseband/2035;
do
(cd $d; e:/QNXsdk/host/win32/x86/usr/bin/make.exe; TEMP=$?; if [ $TEMP != 0 ]; then
exit $TEMP; fi);
TEMP=$?;
if [ $TEMP != 0 ]; then
exit $TEMP;
fi;
echo “$d built successfully” ;
done
MAKECMDGOALS is
CONFIG_INCLUDE_FILE is …/make/config/DEFAULT.config
e:\QNXsdk\host\win32\x86\usr\bin\make.exe[1]: Entering directory e:/Ref/TEL_BCH/src/' echo "MAKECMDGOALS is "; \ echo "CONFIG_INCLUDE_FILE is ../../../make/config/DEFAULT.config"; \ for d in ; \ do \ (cd $d; e:/QNXsdk/host/win32/x86/usr/bin/make.exe; TEMP=$?; if [ $TEMP != 0 ]; then \ exit $TEMP; fi); \ TEMP=$?; \ if [ $TEMP != 0 ]; then \ exit $TEMP; \ fi; \ echo "$d built successfully" ;\ done C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/make30882.sh: line 1: syntax error near unexpected token ;’
C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/make30882.sh: line 1: echo "MAKECMDGOALS is "; echo "CONFIG_INCLUDE_FILE is ../../../make/config/DEFAULT.config"; for d in ; do (cd $d; e:/QNXsdk/host/win32/x86/usr/bin/make.exe; TEMP=$?; if [ $TEMP != 0 ]; then exit $TEMP; fi); TEMP=$?; if [ $TEMP != 0 ]; then exit $TEMP; fi; echo "$d built successfully" ; done' e:\QNXsdk\host\win32\x86\usr\bin\make.exe[1]: *** [all_subdirs] Error 258 e:\QNXsdk\host\win32\x86\usr\bin\make.exe[1]: Leaving directory e:/Ref/TEL_BCH/src/’
e:\QNXsdk\host\win32\x86\usr\bin\make.exe: *** [all_subdirs] Error 2

Just so I am clear, your 6.3 server build is in Linux and this 6.2.1 install is in Windows. Shouldn’t make any difference but it’s clear from what I see above that the 6.2.1 install is in Windows.

Is there any other compiler installed on your Windows machine (Visual studio etc). There was (still might be?) conflicts with multiple compilers in Windows in terms of ‘Make’. What happens is the QNX make gets put later in in the ‘path’ than the other compiler so the wrong make executable is used.

From a command prompt if you type ‘path’, what do you see? You may need to adjust your path to put the QNX make earlier in the path (which may break your other compilers).

If that’s not the problem then it appears MAKECMDGOALS is evaluating to ‘;’ which doesn’t make sense. What is MAKECMDGOALS supposed to be.

Tim

To valdate the build in QNX 6.2.1 momentics in windows host
I tried a simple hello world program and compiled in QNX command shell
qcc -V gcc_ntox86 hello.c -o hello.
This generated exe (hello). But when i run “hello” it says command not found and for ./hello it says no such file or directory.

The env settings
QNX_HOST E:\QNXsdk\host\win32\x86
QNX_TARGET E:\QNXsdk\target\qnx6
PATH E:\QNXsdk\host\win32\x86\usr\bin\cygwin_dll;E:\QNXsdk\host\win32\x86\usr\bin;E:\QNXsdk\host\win32\x86\etc\qcc
QNX_CONFIGURATION:E:\QNXsdk\host\win32\x86\etc\qcc
MAKEFLAGS:-IE:\QNXsdk\host\win32\x86\etc\qcc.

Is there any problem in env settings ???

You can not run QNX executables on a Windows host.

You need a QNX machine. If you don’t know how to create one of those, there are some VMWare images available on QNX’s website.

Tim

Hi,
Now I tried to compile the complete workspace in qnx 621 , but unable to invoke makefile in sub dir from main make file. SUB_DIRS=APP1 APP2 . the same make file compile in qnx630.for windows host how to configure sub dirs in make file

Without seeing the Makefile AND knowing your directory structure it’s impossible to say why it’s not working.

Obviously something is different between the 2 machines.

Tim

1.Make file
ROOT_DIR=…
SUB_DIRS = lib bin
include ${ROOT_DIR}/make/variables.mk

all: all_subdirs

install: install_subdirs

clean: clean_subdirs

include ${ROOT_DIR}/make/targets.mk

2.Target.mk

.PHONY: clean all install

all_subdirs:
#echo “MAKECMDGOALS is $(MAKECMDGOALS)”;
echo “CONFIG_INCLUDE_FILE is $(CONFIG_INCLUDE_FILE)”;
for d in $(SUB_DIRS);
do
(cd $$d; $(MAKE); TEMP=$$?; if [ $$TEMP != 0 ]; then
exit $$TEMP; fi);
TEMP=$$?;
if [ $$TEMP != 0 ]; then
exit $$TEMP;
fi;
echo “$$d built successfully” ;
done

clean_subdirs:
#for d in $(SUB_DIRS);
do
(cd $$d; $(MAKE) clean; TEMP=$$?; if [ $$TEMP != 0 ]; then
exit $$TEMP; fi);
TEMP=$$?;
if [ $$TEMP != 0 ]; then
echo “Error cleaning $$d” ;
exit $$TEMP;
fi;
echo “$$d cleaned successfully” ;
done

install_subdirs:
#for d in $(SUB_DIRS);
do
(cd $$d; $(MAKE) install; TEMP=$$?; if [ $$TEMP != 0 ]; then
exit $$TEMP; fi);
TEMP=$$?;
if [ $$TEMP != 0 ]; then
exit $$TEMP;
fi;
echo “$$d installed successfully” ;
done

Define how to produce “.o” files from “.c” files

$(TARGET)/%.o : %.c
mkdir -p $(TARGET)
$(CC) -c $(CFLAGS) $(INCPATH) $(OTHER_CFLAGS) $< -o $@

$(TARGET)/%.d: %.c
mkdir -p $(TARGET)
set -e; $(CC) -E -Wp,-MM $(CFLAGS) $(INCPATH) $(OTHER_CFLAGS) $< | sed ‘s/$.o/$(TARGET)/$.o $(TARGET)/$*.d/g’ > $@ || rm -f $@

${TARGET}/%.o: %.s
mkdir -p $(TARGET)
$(CC) -c $(AFLAGS) $< -o $@

ifneq ($(MAKECMDGOALS), clean)
ifneq ($(ALL_OBJS),)
-include $(ALL_OBJS:.o=.d)
endif
endif

Here for d in $(SUB_DIRS); is not invoked properly in windows QNX host.

Just a total wild guess.

If the original files came from a Linux machine and you transferred them to your Windows one did you transform the Linux LF to a Windows CR/LF? If not, that may be why ‘Make’ is complaining.

Tim

Please explain more about this, means I have to modify the makefiles to remove the new line feeds ??? How to do this any examples ??

The ‘textto’ command does this for you. It should have been installed as part of the QNX development environment.

textto -c ‘filename’ will convert Unix files to DOS format
textto -l ‘filename’ will convert DOS files to Unix format
textto -z ‘filename’ will remove CTRL-Z from a file.

Tim

Hi Now I am able to compile
for d in $(SUB_DIRS); I added “-” , not sure what is the significance. But it recognized the sub directories and compiled successfully.
-for d in $(SUB_DIRS);

But I am unable to use mkefs to build efs binary. I gives segmentation fault

Hi Now I am able to compile
for d in $(SUB_DIRS); I added “-” , not sure what is the significance. But it recognized the sub directories and compiled successfully.
-for d in $(SUB_DIRS);

But I am unable to use mkefs to build efs binary. I gives segmentation fault

I’m happy it all compiles now.

I have no idea why mkefs is crashing. You didn’t give anywhere near enough information to figure out why (how your invoking mkefs, the file it’s used in etc). QNX 6.2.1 is pretty old now (10+ years) so maybe it doesn’t run on a 64 bit OS (assuming your host Windows machine is 64 bits).

I would suggest you try and invoke mkefs from the command line in Windows and see if you can get it to work on a simple ‘hello world’ executable.

Tim

It was the path problem in make file, Now it works if I navigate to folder and do mkefs.
But in the board when I try to mount nfs using fs-nfs2 “fs-nfs2 -b100 -B4096 -t IP_ADDR:/home /nfs/home”
IP_ADDR is the network . portmap failure at with error code -1.

Error code -1 means ‘not owner’ (see errno.h file)

Do you have a permission problem (root vs non-root)?

Tim