{"id":16153716,"url":"https://github.com/moneroexamples/compile-wt-ubuntu","last_synced_at":"2026-01-19T06:32:30.661Z","repository":{"id":70343510,"uuid":"55195834","full_name":"moneroexamples/compile-wt-ubuntu","owner":"moneroexamples","description":null,"archived":false,"fork":false,"pushed_at":"2016-04-02T09:16:33.000Z","size":8,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T23:41:34.087Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moneroexamples.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-01T01:52:03.000Z","updated_at":"2021-06-05T17:59:24.000Z","dependencies_parsed_at":"2023-04-24T06:17:34.356Z","dependency_job_id":null,"html_url":"https://github.com/moneroexamples/compile-wt-ubuntu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/moneroexamples/compile-wt-ubuntu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneroexamples%2Fcompile-wt-ubuntu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneroexamples%2Fcompile-wt-ubuntu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneroexamples%2Fcompile-wt-ubuntu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneroexamples%2Fcompile-wt-ubuntu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moneroexamples","download_url":"https://codeload.github.com/moneroexamples/compile-wt-ubuntu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneroexamples%2Fcompile-wt-ubuntu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28562405,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T03:31:16.861Z","status":"ssl_error","status_checked_at":"2026-01-19T03:31:15.069Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T01:14:16.321Z","updated_at":"2026-01-19T06:32:30.635Z","avatar_url":"https://github.com/moneroexamples.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Compile Wt, C++ Web Toolkit, on Ubuntu 16.04 x64\n\nThe example shows how to compile the current github version of [Wt - C++ Web Toolkit](http://www.webtoolkit.eu/wt) on Ubuntu 16.04 x64.\n\n## Dependencies\nBefore proceeding with the compilation, the following packages are required:\n\n```bash\n# update Ubuntu's repositories\nsudo apt update\n\n#install git to download latest Wt source code from github\nsudo apt install git\n\n# install dependencies to be able to compile Monero\nsudo apt install build-essential cmake libboost-all-dev doxygen libgraphicsmagick++1-dev libssl-dev libpq-dev libssl-dev libfcgi-dev\n\n# or git and all dependencies in one command\n# sudo apt install git build-essential cmake libboost-all-dev doxygen libgraphicsmagick++1-dev libssl-dev libpq-dev libssl-dev libfcgi-dev\n```\n\n## Compilation\n\nYou can compile either latest version (3.3.5) of the source\ncode from [Wt github's page](https://github.com/kdeforche/wt), or tagged version.\n\n\n```bash\n# download the latest wt source code from github\ngit clone https://github.com/kdeforche/wt.git\n\n# cd into wt folder\ncd wt/\n\n# select which version to checkout.\n# For example, to checkout tag 3.3.5\ngit checkout -b 3.3.5  \n\n#  and then make build/ folder and cd into it\nmkdir build \u0026\u0026 cd ./build\n\n# compile using c++11 and set install directory to “/opt/wt”:\n# without c++11 mode, compilation fails.\ncmake ../ -DWT_CPP_11_MODE:STRING=\"-std=c++11\" -DCMAKE_INSTALL_PREFIX:PATH=\"/opt/wt\"\n\n# alternatively, with default install folder:\n# cmake ../ -DWT_CPP_11_MODE:STRING=\"-std=c++11\"\n\n# alternatively, compile wt libraries as static (i.e. *.a):\n# cmake ../ -DWT_CPP_11_MODE:STRING=\"-std=c++11\" -DCMAKE_INSTALL_PREFIX:PATH=\"/opt/wt\" -DSHARED_LIBS=0\n\n# compile Wt\nmake # or make -j number_of_threads, e.g., make -j 2\n\n# install into /opt/wt\nsudo make install\n```\n\n## Installation\nAfter successful compilation and installation, the Wt files should\nbe located in `/opt/wt` as shown below:\n\n```bash\ntree -L 3 /opt/wt/\n/opt/wt/\n├── include\n│   └── Wt\n│   \t├── Auth\n│   \t├── Chart\n│   \t├── Dbo\n│   \t├── DomElement.h\n│   \t├── EscapeOStream.h\n│   \t├── Http\n│   \t├── Json\n│   \t├── Mail\n│   \t├── Payment\n│   \t├── Render\n│   \t├── Test\n│   \t├── Utils\n│   \t├── WAbstractArea\n│   \t├── WAbstractGLImplementation\n│   \t├── WAbstractItemDelegate\n│   \t├── WAbstractItemModel\n│   \t├── WAbstractItemView\n│   \t├── WAbstractListModel\n│   \t├── WAbstractMedia\n│   \t├── WAbstractProxyModel\n│   \t├── WAbstractSpinBox\n│   \t├── WAbstractTableModel\n│   \t├── WAbstractToggleButton\n│   \t├── WAccordionLayout\n│   \t├── WAggregateProxyModel\n│   \t├── WAnchor\n│   \t├── WAnimation\n│   \t├── WApplication\n│   \t├── WAudio\n│   \t├── WBatchEditProxyModel\n│   \t├── WBoostAny\n│   \t├── WBootstrapTheme\n│   \t├── WBorder\n│   \t├── WBorderLayout\n│   \t├── WBoxLayout\n│   \t├── WBreak\n│   \t├── WBrush\n│   \t├── WButtonGroup\n│   \t├── WCalendar\n│   \t├── WCanvasPaintDevice\n│   \t├── WCheckBox\n│   \t├── WCircleArea\n│   \t├── WClientGLWidget\n│   \t├── WColor\n│   \t├── WCombinedLocalizedStrings\n│   \t├── WComboBox\n│   \t├── WCompositeWidget\n│   \t├── WConfig.h\n│   \t├── WContainerWidget\n│   \t├── WCssDecorationStyle\n│   \t├── WCssStyleSheet\n│   \t├── WCssTheme\n│   \t├── WDate\n│   \t├── WDateEdit\n│   \t├── WDatePicker\n│   \t├── WDateTime\n│   \t├── WDateValidator\n│   \t├── WDefaultLayout\n│   \t├── WDefaultLoadingIndicator\n│   \t├── WDialog\n│   \t├── WDllDefs.h\n│   \t├── WDoubleSpinBox\n│   \t├── WDoubleValidator\n│   \t├── WEnvironment\n│   \t├── WEvent\n│   \t├── WException\n│   \t├── WFileResource\n│   \t├── WFileUpload\n│   \t├── WFitLayout\n│   \t├── WFlags\n│   \t├── WFlashObject\n│   \t├── WFont\n│   \t├── WFontMetrics\n│   \t├── WFormModel\n│   \t├── WFormWidget\n│   \t├── WGenericMatrix\n│   \t├── WGlobal\n│   \t├── WGLWidget\n│   \t├── WGoogleMap\n│   \t├── WGradient\n│   \t├── WGridLayout\n│   \t├── WGroupBox\n│   \t├── WHBoxLayout\n│   \t├── WHTML5Audio\n│   \t├── WHTML5Video\n│   \t├── WIcon\n│   \t├── WIconPair\n│   \t├── WIdentityProxyModel\n│   \t├── WImage\n│   \t├── WInPlaceEdit\n│   \t├── WInteractWidget\n│   \t├── WIntValidator\n│   \t├── WIOService\n│   \t├── WItemDelegate\n│   \t├── WItemSelectionModel\n│   \t├── WJavaScript\n│   \t├── WJavaScriptExposableObject\n│   \t├── WJavaScriptHandle\n│   \t├── WJavaScriptObjectStorage\n│   \t├── WJavaScriptPreamble\n│   \t├── WJavaScriptSlot\n│   \t├── WLabel\n│   \t├── WLayout\n│   \t├── WLayoutItem\n│   \t├── WLayoutItemImpl\n│   \t├── WLength\n│   \t├── WLengthValidator\n│   \t├── WLineEdit\n│   \t├── WLineF\n│   \t├── WLink\n│   \t├── WLoadingIndicator\n│   \t├── WLocalDateTime\n│   \t├── WLocale\n│   \t├── WLocalizedStrings\n│   \t├── WLogger\n│   \t├── WMatrix4x4\n│   \t├── WMeasurePaintDevice\n│   \t├── WMediaPlayer\n│   \t├── WMemoryResource\n│   \t├── WMenu\n│   \t├── WMenuItem\n│   \t├── WMessageBox\n│   \t├── WMessageResourceBundle\n│   \t├── WMessageResources\n│   \t├── WModelIndex\n│   \t├── WNavigationBar\n│   \t├── WObject\n│   \t├── WOverlayLoadingIndicator\n│   \t├── WPaintDevice\n│   \t├── WPaintedWidget\n│   \t├── WPainter\n│   \t├── WPainterPath\n│   \t├── WPanel\n│   \t├── WPdfImage\n│   \t├── WPen\n│   \t├── WPoint\n│   \t├── WPointF\n│   \t├── WPolygonArea\n│   \t├── WPopupMenu\n│   \t├── WPopupMenuItem\n│   \t├── WPopupWidget\n│   \t├── WProgressBar\n│   \t├── WPushButton\n│   \t├── WRadioButton\n│   \t├── WRandom\n│   \t├── WRasterImage\n│   \t├── WReadOnlyProxyModel\n│   \t├── WRectArea\n│   \t├── WRectF\n│   \t├── WRegExp\n│   \t├── WRegExpValidator\n│   \t├── WResource\n│   \t├── WScrollArea\n│   \t├── WScrollBar\n│   \t├── WSelectionBox\n│   \t├── WServer\n│   \t├── WServerGLWidget\n│   \t├── WShadow\n│   \t├── WSignal\n│   \t├── WSignalMapper\n│   \t├── WSlider\n│   \t├── WSocketNotifier\n│   \t├── WSortFilterProxyModel\n│   \t├── WSound\n│   \t├── WSpinBox\n│   \t├── WSplitButton\n│   \t├── WSslCertificate\n│   \t├── WSslInfo\n│   \t├── WStackedWidget\n│   \t├── WStandardItem\n│   \t├── WStandardItemModel\n│   \t├── WStatelessSlot\n│   \t├── WStreamResource\n│   \t├── WString\n│   \t├── WStringListModel\n│   \t├── WStringStream\n│   \t├── WStringUtil\n│   \t├── WSubMenuItem\n│   \t├── WSuggestionPopup\n│   \t├── WSvgImage\n│   \t├── WTable\n│   \t├── WTableCell\n│   \t├── WTableColumn\n│   \t├── WTableRow\n│   \t├── WTableView\n│   \t├── WTabWidget\n│   \t├── WTemplate\n│   \t├── WTemplateFormView\n│   \t├── WText\n│   \t├── WTextArea\n│   \t├── WTextEdit\n│   \t├── WTheme\n│   \t├── WTime\n│   \t├── WTimeEdit\n│   \t├── WTimePicker\n│   \t├── WTimer\n│   \t├── WTimerWidget\n│   \t├── WTimeValidator\n│   \t├── WToolBar\n│   \t├── WTransform\n│   \t├── WTree\n│   \t├── WTreeNode\n│   \t├── WTreeTable\n│   \t├── WTreeTableNode\n│   \t├── WTreeView\n│   \t├── WValidationStatus\n│   \t├── WValidator\n│   \t├── WVBoxLayout\n│   \t├── WVector3\n│   \t├── WVector4\n│   \t├── WVectorImage\n│   \t├── WVideo\n│   \t├── WViewWidget\n│   \t├── WVirtualImage\n│   \t├── WVmlImage\n│   \t├── WWebWidget\n│   \t├── WWidget\n│   \t└── WWidgetItem\n├── lib\n│   ├── libwtdbopostgres.so -\u003e libwtdbopostgres.so.39\n│   ├── libwtdbopostgres.so.3.3.5\n│   ├── libwtdbopostgres.so.39 -\u003e libwtdbopostgres.so.3.3.5\n│   ├── libwtdbo.so -\u003e libwtdbo.so.39\n│   ├── libwtdbo.so.3.3.5\n│   ├── libwtdbo.so.39 -\u003e libwtdbo.so.3.3.5\n│   ├── libwtdbosqlite3.so -\u003e libwtdbosqlite3.so.39\n│   ├── libwtdbosqlite3.so.3.3.5\n│   ├── libwtdbosqlite3.so.39 -\u003e libwtdbosqlite3.so.3.3.5\n│   ├── libwtfcgi.so -\u003e libwtfcgi.so.39\n│   ├── libwtfcgi.so.3.3.5\n│   ├── libwtfcgi.so.39 -\u003e libwtfcgi.so.3.3.5\n│   ├── libwthttp.so -\u003e libwthttp.so.39\n│   ├── libwthttp.so.3.3.5\n│   ├── libwthttp.so.39 -\u003e libwthttp.so.3.3.5\n│   ├── libwt.so -\u003e libwt.so.39\n│   ├── libwt.so.3.3.5\n│   ├── libwt.so.39 -\u003e libwt.so.3.3.5\n│   ├── libwttest.so -\u003e libwttest.so.9\n│   ├── libwttest.so.3.3.5\n│   └── libwttest.so.9 -\u003e libwttest.so.3.3.5\n└── share\n\t└── Wt\n    \t└── resources\n```\n\n## Running some Wt examples\n\nAfter compilation of examples in `wt/build/examples` as shown  bewlo,the\nexamples binaries are will be in that folder. However, **the best way to run the examples\nis from their source folders**, not the build folder. The reason is that\nthe source folders contain, except\nthe c++ source files, csv files, image files, template files, used in the examples.\nIf examples are run from their source folders, they can also find files located in\n `wt/resources/` which they use.\n\n```bash\n\n# before we can run examples we need to compile them.\n# if still in build/ folder then this can be done as follows\n\n# compile Wt examples while still being in the build/ folder\nmake -C examples/\n\n# go to wt/examples source code\n# if still in build/ folder than this can be done as follows\ncd ../examples\n\n######################\n# hello example\n######################\ncd hello/\n../../build/examples/hello/hello.wt --http-port 8080 --http-addr 0.0.0.0 --docroot .\n\n\n######################\n# wt-homepage example\n######################\ncd wt-homepage/\n../../build/examples/wt-homepage/home.wt --http-port 8080 --http-addr 0.0.0.0 --docroot .\n\n\n######################\n# wt-homepage example\n######################\ncd javascript/\n../../build/examples/javascript/javascript.wt --http-port 8080 --http-addr 0.0.0.0 --docroot .\n\n\n######################\n# charts example\n######################\ncd charts/\n../../build/examples/charts/charts.wt --http-port 8080 --http-addr 0.0.0.0 --docroot .\n\n# ...\n# and so forth for other examples\n```\n\n## Other repositories of mine\nOther repositories can be found on  [github](https://github.com/moneroexamples?tab=repositories).\nPlease know that some of the examples/repositories are not\nfinished and may not work as intended.\n\n## How can you help?\n\nConstructive criticism, code and website edits are always good. They can be made through github.\n\nSome Monero are also welcome:\n```\n48daf1rG3hE1Txapcsxh6WXNe9MLNKtu7W7tKTivtSoVLHErYzvdcpea2nSTgGkz66RFP4GKVAsTV14v6G3oddBTHfxP6tU\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoneroexamples%2Fcompile-wt-ubuntu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoneroexamples%2Fcompile-wt-ubuntu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoneroexamples%2Fcompile-wt-ubuntu/lists"}