View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0009457||Community||OCCT:Foundation Classes||public||2005-07-08 13:21||2017-08-15 15:23|
|Target Version||7.1.0||Fixed in Version||7.1.0|
|Summary||0009457: Avoid usage of environment variables|
|Description||Proposal (summary) |
This idea is inspired by message by Philippe Carret of OCC forum (see
Currently OCCT and derived applications require that a number of environment
correctly installed. Thus the user has either to modify global settings on the
wokstation, or use
bat files (or scripts on UNIX), which both methods are not very convenient.
The proposal is to provide a means to define the necessary settings by using
thus avoiding usage of environment variables:
- registry on WNT
- specific configuration file on UNIX (e.g. $HOME/.occtconfig)
Naturally, the possibility to use environment variables should be kept for
An additional proposal is to provide some GUI utility to manage the whole set of
variables. This shall make user's life more easy.
Better user comprehension and easier OCCT installation and configuration.
Improved usability of
OCCT in applications.
|Tags||No tags attached.|
|Test case number|
|related to||0028124||new||kgv||Open CASCADE||Visualization - availability of standard textures|
|related to||0027258||closed||apn||Open CASCADE||Configuration - generate built-in replacement for mandatory resource files|
|related to||0024925||closed||apn||Community||Enabling OCAF persistence without setting environment variables|
It seems the bug became foul (2005 year...).
Do you want to analyze it once again or may be better to close it?
What is your decision?
Sergey, please consider this issue as a starting point for improvement to make OCCT usable without necessity to set environment variables.
I propose the following steps:
1. Find and document all environment variables currently used by OCCT
- Check OCCT documentation (Overview, FC UG) for this list
- Search code for getenv(), OSD_Environment
- Make up-to-date list of used variables
- Propose which environment variables are not useful to be removed
2. Identify environment variables which specify location of resource files and thus are required for OCCT to operate correctly. For these, find good way to make the code work without environment variables.
My idea is that necessary files can be found automatically using knowledge of possible layouts of OCCT binaries and resources.
Naturally, we will need to enumerate and document these supported layouts, for instance:
- Windows / MSVC development layout: binaries in ./win32/vc*/bin*, resources in ./src/*Resources
- Possible install layout: binaries in ./bin, resources in ./res
- Possible Linux install layout: binaries in /opt/occt*/bin, resources in /opt/share/occt
3. Implement necessary changes in OCCT (I suppose some supporting class shall be created and then used in all occurrences). Ensure that DRAW works well without preliminary environment settings in all configurations
4. Make corresponding changes in samples (though it will likely be necessary to specify location of OCCT build, this could be made on CMake configuration step)
In context of step 1, please note message of user Timo at
Dear Forum supervisor,
according to the OCC 6.6.0 release notes the CSF_GraphicShr is not used anymore.
But it is still docmented in the section on System Environment Variables in "Open CASCADE Technology Overview":
"CSF_GraphicShr is required to define the path to the TKOpenGl library;"
||The need of using environment variables has been eliminated by 0027258. The variables that are still relevant seem to be correctly documented in Overview. If necessary, the client application can easily configure this environment using platform-specific means. Thus closing the issue|
|2005-07-08 13:21||bugmaster||Status||new => closed|
|2005-07-08 13:21||bugmaster||Resolution||@0@ => suspended|
|2005-07-08 13:21||bugmaster||validate||=> 1|
|2005-07-08 16:17||bugmaster||Type||=> FIP|
|2011-08-02 11:23||bugmaster||Category||OCCT:FDC => OCCT:Foundation Classes|
|2011-12-15 16:35||abv||Fixed in Version||EMPTY =>|
|2011-12-15 16:35||abv||Description Updated|
|2011-12-15 16:35||abv||Project||Open CASCADE => Community|
|2012-01-11 16:10||szy||Note Added: 0019087|
|2012-01-11 16:10||szy||Assigned To||bugmaster => abv|
|2012-01-11 16:10||szy||Status||acknowledged => assigned|
|2013-05-06 11:06||abv||Assigned To||abv => sdv|
|2013-05-06 11:44||abv||Note Added: 0024311|
|2013-05-08 17:24||abv||Note Added: 0024347|
|2014-05-14 23:49||Roman Lygin||Relationship added||related to 0024925|
|2014-09-10 18:13||abv||Target Version||=> 7.0.0|
|2015-12-15 14:06||abv||Target Version||7.0.0 => 7.1.0|
|2016-04-06 06:50||abv||Assigned To||sdv => ski|
|2016-11-17 17:01||abv||Relationship added||related to 0028124|
|2016-11-22 10:24||abv||Target Version||7.1.0 => 7.2.0|
|2017-08-15 15:18||abv||Relationship added||related to 0027258|
|2017-08-15 15:23||abv||Note Added: 0069403|
|2017-08-15 15:23||abv||Status||assigned => closed|
|2017-08-15 15:23||abv||Resolution||suspended => fixed|
|2017-08-15 15:23||abv||Fixed in Version||=> 7.1.0|
|2017-08-15 15:23||abv||Target Version||7.2.0 => 7.1.0|