build error with multimedia api on JP3.1 on TX2

On previous Jetpacks with TX1 I had no problems compiling the argus samples using cmake and the readme instructions. When I do the same thing on a TX2 with JP3.1’s multimedia API I get lots of build errors related to CreateValueOption. Is this a known issue? Is there a newer version of the argus samples apps?

Scanning dependencies of target arguscamerauicommon
[ 42%] Building CXX object apps/camera/ui/common/CMakeFiles/arguscamerauicommon.dir/App.cpp.o
[ 43%] Building CXX object apps/camera/ui/common/CMakeFiles/arguscamerauicommon.dir/AppModuleGeneric.cpp.o
In file included from /home/ubuntu/tegra_multimedia_api/argus/samples/utils/Validator.h:45:0,
                 from /home/ubuntu/tegra_multimedia_api/argus/samples/utils/Value.h:35,
                 from /home/ubuntu/tegra_multimedia_api/argus/apps/camera/modules/Dispatcher.h:38,
                 from /home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:34:
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp: In member function ‘virtual bool ArgusSamples::AppModuleGeneric::initialize(ArgusSamples::Options&)’:
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:145:52: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_deviceIndex)));
                                                    ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:151:58: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_exposureTimeRange)));
                                                          ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:154:50: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_gainRange)));
                                                  ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:157:56: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_sensorModeIndex)));
                                                        ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:161:62: error: ‘createValueOption’ was not declared in this scope
             "enabled.", Dispatcher::getInstance().m_frameRate)));
                                                              ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:165:54: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_focusPosition)));
                                                      ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:172:51: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_outputSize)));
                                                   ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:178:51: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_outputPath)));
                                                   ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:183:50: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_vstabMode)));
                                                  ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:186:52: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_denoiseMode)));
                                                    ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:189:56: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_denoiseStrength)));
                                                        ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:192:56: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_edgeEnhanceMode)));
                                                        ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:196:60: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_edgeEnhanceStrength)));
                                                            ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:201:58: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_aeAntibandingMode)));
                                                          ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:204:47: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_aeLock)));
                                               ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:207:48: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_awbLock)));
                                                ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:210:48: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_awbMode)));
                                                ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:214:61: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_exposureCompensation)));
                                                             ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:218:60: error: ‘createValueOption’ was not declared in this scope
             Dispatcher::getInstance().m_ispDigitalGainRange)));
                                                            ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:226:56: error: ‘createValueOption’ was not declared in this scope
                 Dispatcher::getInstance().m_deFogEnable)));
                                                        ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:230:56: error: ‘createValueOption’ was not declared in this scope
                 Dispatcher::getInstance().m_deFogAmount)));
                                                        ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
/home/ubuntu/tegra_multimedia_api/argus/apps/camera/ui/common/AppModuleGeneric.cpp:234:57: error: ‘createValueOption’ was not declared in this scope
                 Dispatcher::getInstance().m_deFogQuality)));
                                                         ^
/home/ubuntu/tegra_multimedia_api/argus/samples/utils/Error.h:74:26: note: in definition of macro ‘PROPAGATE_ERROR’
         bool peResult = (_err); \
                          ^
apps/camera/ui/common/CMakeFiles/arguscamerauicommon.dir/build.make:86: recipe for target 'apps/camera/ui/common/CMakeFiles/arguscamerauicommon.dir/AppModuleGeneric.cpp.o' failed
make[2]: *** [apps/camera/ui/common/CMakeFiles/arguscamerauicommon.dir/AppModuleGeneric.cpp.o] Error 1
CMakeFiles/Makefile2:266: recipe for target 'apps/camera/ui/common/CMakeFiles/arguscamerauicommon.dir/all' failed
make[1]: *** [apps/camera/ui/common/CMakeFiles/arguscamerauicommon.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
ubuntu@tegra-ubuntu:~/tegra_multimedia_

Hi stmpixels,
Please install via ‘nvidia’ user, not ‘ubuntu’.

Ah Ok that works now.

Do we need to be aware of this when writing custom apps using the Argus API? i.e. is there some settings/permissions for nvidia user?

From r28.1, please use nvidia user in writing custom apps.