Forum Replies Created
-
AuthorPosts
-
fordeParticipant
For those on macOS, a few tips for installation in case they are of use. I use a bash script to install including the below. Let me know if you find a better way.
1. For problems finding boost:
`bash
export BOOST_LIB=$(brew –prefix boost)/lib
export BOOST_INC=$(brew –prefix boost)/include
`
2. For errors and warnings that stop the build…I find that
`bash
cmake -DBOOST_ROOT=$BOOST_INC -DBOOST_LIBRARYDIR=$BOOST_LIB -DCMAKE_CXX_FLAGS=”-Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-unused-private-field -Wno-unused-but-set-variable” ..
`
..will not work, so I add the following to the CMakeLists.txt at ./, ./OREData, /Quantlib, ./QuantExt, ./OREAnalytics`bash
add_compile_options(
“-Wno-error=unused-variable”
“-Wno-error=unused-but-set-variable”
“-Wno-unused-private-field”
“-Wno-unused-but-set-variable”
)
`
..before a target is set.e.g.
`bash
# Define the directories
dirs=(“<path_to_ore>/” “<path_to_ore>/OREData” “<path_to_ore>/Quantlib” “<path_to_ore>/QuantExt” “<path_to_ore>/OREAnalytics”)# Define the string to be inserted
insert_str=$’add_compile_options(\n “-Wno-error=unused-variable”\n “-Wno-error=unused-but-set-variable”\n “-Wno-unused-private-field”\n “-Wno-unused-but-set-variable”\n)\n’# For each directory
for dir in “${dirs[@]}”; do
# Define the CMakeLists.txt file path
file=”${dir}/CMakeLists.txt”# If the file exists
if [[ -f “$file” ]]; then
# Create a backup of the original file
cp “$file” “$file.bak”# Create a temporary file
temp_file=$(mktemp)# Read the file line by line
awk -v insert_str=”$insert_str” ‘NR==1{print; print insert_str; next} 1’ “$file” > “$temp_file” && mv “$temp_file” “$file”
else
echo “File $file does not exist”
fi
done
`
3. Amend the cmake commonSettings.cmake to allow for parallel unit test runner
`bash
# Define the path to the file
FILE=”<path_to_ore>/cmake/commonSettings.cmake”# Use sed to find and replace the text
sed -i ” ‘s/option(ORE_ENABLE_PARALLEL_UNIT_TEST_RUNNER “Enable the parallel unit test runner” OFF)/option(ORE_ENABLE_PARALLEL_UNIT_TEST_RUNNER “Enable the parallel unit test runner” ON)/g’ $FILE
`
4. To remove errors each build (just an annoyance), update Doxygen files
`bash
# An array of directories containing Doxyfiles that need to be updated
directories=(
“<path_to_ore>/OREData/doc”
“<path_to_ore>/QuantExt/doc”
“<path_to_ore>/OREAnalytics/doc”
)# Loop over the directories
for dir in “${directories[@]}”
do
# Navigate to the directory
cd “$dir”# Update the Doxyfile
doxygen -u Doxyfile
done
`
5. Update .doxy file to fix DOT_GRAPH_MAX_NODES too low error:
`bash
# Specify files
FILES=(
“<path_to_ore>/OREAnalytics/doc/orea.doxy”
“<path_to_ore>/OREData/doc/ored.doxy”
“<path_to_ore>/QuantExt/doc/quantext.doxy”
“<path_to_ore>/QuantLib/Docs/quantlib.doxy”
)# Loop over files and update each one
for file in ${FILES[@]}; do
if [ -f “$file” ]; then
# Backup original file
cp “$file” “$file.bak”# Update DOT_GRAPH_MAX_NODES value
sed -i ” ‘s/DOT_GRAPH_MAX_NODES = [0-9]\+/DOT_GRAPH_MAX_NODES = 100/g’ “$file”
echo “Updated $file”
else
echo “File not found: $file”
fi
done
`
fordeParticipantA question on building the userguide (I know there is one typeset in the root dir): Are you able to add the userguide.toc and userguide.aux files to the UserGuide directory?
I suspect that the errors when typesetting may be solved by these.fordeParticipantGreat work Roland and team on v10, especially for ISDA SIMM. Thank you for your continued sponsorship of ORE.
Could you please comment, where possible, on your roadmap?
You mention that “Subsequent ORE releases will also compute regulatory capital charges for counterparty credit risk under the standardised approach (SA-CCR)”. What is the potential timing for the SA-CCR release?
I have started work on incorporating SA-CCR into ORE (porting an existing Python app that covers less instruments) but this may be a wasted effort.
Similarly, I’d be interested in any plans for releasing SA/BA-XVA analytics.
I look forward to hearing from you.
Regards,
Forde
-
AuthorPosts