Liblastfm Cmake Build Fixes For Mac

Build with support for breakpad. Building Tomahawk 0.7.14-git-master-437ea1f full GUI version. Could not find Qt5, searching for Qt4 instead.

Hi fellow wiki editors!

To help newly registered users get more familiar with the wiki (and maybe older users too) there is now a {{Welcome to the wiki}} template. Have a look at it and feel free to add it to new users discussion pages (and perhaps your own).

I have tried to keep the template short, but meaningful. /Johan G

See Building Flightgear for the main article about this subject.

  • 2Build Environment & Dependencies

Also see

Please also see Superbuild.

Build Environment & Dependencies

Linux / Unix

Note as of 12/2017, people may have to build using at least OSG 3.4 due to some compilation issues -for details, refer to Howto:Building FlightGear without HiDPI support
  • Install Boost, OpenAL, ALUT, PLIB and other OpenSceneGraphDependencies (eg, libpng).
  • Qt5 for Integrated Qt5 Launcher (optional)
  • Get the OpenSceneGraph sources, either from subversion or a zip
  • NOTE: On Debian AMD64 (or not 32-bit) systems (maybe including Ubuntu) there is currently a packaging error which leads to false detection of OpenAL. Until it got repaired, you have 2 options left:

1. Goto /usr/share/cmake-2.8/Modules/ (it is the right patch on my Debian system) and expand the search path with lib/x86_64-linux-gnu/:

2. (As I did) Set a symbolic link so cmake can find it:

  • Both steps have advantages and disadvantages, e.g. when it comes to updates, so you might need to repeat your desired path and fix your symbolic links by removing them first (!) and then re-create them. A big 'thanks' to James for giving me the hints. :)
  • If you have OSG/PLIB on different directories than the usual, use environmental variables OSG_DIR/PLIBDIR, e.g. addd to ~/.bashrc:

Note: In order to set the CFLAGS/CXXFLAGS variables for make/gcc, simply configure cmake and defineCMAKE_C_FLAGS and CMAKE_CXX__FLAGS.For example, to enable gprof:

Mac

  • Install Xcode (from the App Store)
  • Install Boost from MacPorts (or directly from source)
  • Install the Subversion client libraries and PLIB. These are included in the 'Mac 3rd-party dependencies' zip file. PLIB is also available through MacPorts, and Subversion is available by default on Snow Leopard (10.6) and Lion (10.7) but NOT on Mountain Lion (10.8)
  • Install OpenSceneGraph.

The easiest solution is to grab the 3rd-party dependencies build from Jenkins: http://build.flightgear.org:8080/job/Mac-3rdparty-deps/lastSuccessfulBuild/artifact/*zip*/archive.zip. This will give you a 'dist' directory containing PLIB, Subversion and OpenSceneGraph correctly configured. When configured SimGear and FlightGear, simply use this dist directory as CMAKE_INSTALL_PREFIX, and all the dependencies should be found with no other steps.

Note this demonstrates start from a clean setup - after the initial build it's sufficient to simply 'git pull' in the clones repositories, then execute a 'make; make install' in the build directories. You can of course have multiple build directories with different configurations, as described in more detail below.

Windows

See Building using CMake - Windows

Getting started with CMake

(These instructions apply to Unix-like systems, including Cygwin and Mac. Tobuild using Visual Studio or some other IDE supported by CMake, most of theinformation below still applies)

Always compile in a separate directory to the code. For example, if thecode (eg, from Git) is at /home/curt/projects/flightgear, you might create/home/curt/projects/fgbuild. Change into the new directory, and run

To generate standard Unix Makefiles in fgbuild.

All these instructions apply equally to OpenSceneGraph, SimGear and finally FlightGear.

Probably you want to specify an install prefix:

Note the install prefix is automatically searched for required librariesand header files, so if you install PLIB, OpenSceneGraph and SimGear to thesame prefix, most configuration options are unnecessary.

If for some reason you have a dependency (or several) at a different prefix,you can specify one or more via CMAKE_PREFIX_PATH:

(note the use of semi-colons to specify multiple prefix paths)

Standard prefixes are searched automatically (/usr, /usr/local, /opt/local)

Most dependencies also expose an environment variable to specify theirinstallation directory explicitly eg OSG_DIR or PLIBDIR. Any of the methodsdescribed above will work, but specifying an INSTALL_PREFIX or PREFIX_PATH isusually simpler.

Debug Builds

By default, we select a release build. To create a debug build, use Bcm2045a driver download.

(or MinSizeRel, or Debug)

Debug builds will automatically use corresponding debug builds of required libraries, if they are available. For example you can install debug builds ofSimGear and OpenSceneGraph, and a debug FlightGear build will use them.

(Debug builds of libraries have the 'd' suffix by default - Release builds have no additional suffix)

Important: You should keep in mind that debug builds are usually not optimized at all. Thus, it is very likely that a debug binary will perform worse (framerate/performance-wise) than a release build. Many people have reported getting just frame rates of about 30 fps when using a debug binary!

Note most IDE projects (eg Xcode and Visual Studio) support building all the build types from the same project, so you can omit the CMAKE_BUILD_TYPE option when running cmake, and simply pick the build configuration as normal in the IDE.

Profiling

You can also build with optional profiling support by using -DENABLE_PROFILE=ON, for details see: Built-in Profiler.

Multiple build directories

Liblastfm Cmake Build Fixes For Mac

It's common to have several build directories with different build configurations (see [1] for more info), eg

Optional Features

To set an optional feature, do

(or 'OFF' to disable)

To see the variables that can be configured / are currently defined, you canrun one of the GUI front ends, or the following command:

Add 'A' to see all the options (including advanced options), or 'H' to seethe help for each option (similar to running configure --help under autoconf):

Build Targets

For a Unix makefile build, 'make dist', 'make uninstall' and 'make test' areall available and should work as expected. 'make clean' is also as normal,but there is *no* 'make distclean' target. The equivalent is to completelyremove your build directory, and start with a fresh one.

SimGear Build Options

This article or section contains out-of-date information

Please help improve this article by updating it. There may be additional information on the talk page.

current CPU's at least support SSE3 so that is enabled by default now, Enabling AVX adds another speedup for double precision floating point calculations which is pretty much all of the FlightGear math.[1]


Some of the more common SimGear build options include

  • -DENABLE_PROFILE=ON (enable support for the Built-in Profiler)
  • -ENABLE_SIMD=ONSIMD Support
  • -ENABLE_DNS=ON uDNS support
  • -DENABLE_TESTS=OFF (disable unit tests)
  • -DSIMGEAR_HEADLESS=ON (enables a headless build, i.e. without OSG and other graphics stuff)
  • -DENABLE_LIBSVN=OFF (disables subversion support, i.e. scenery fetching, to be depreciated, see [2] )
  • -DENABLE_SOUND=OFF (disables OpenAL/sound support)
  • -DCMAKE_INSTALL_PREFIX=$HOME (installs everything into $HOME, instead of system-wide)
  • -DENABLE_RTI=ON (enable HLA support)
  • -DJPEG_FACTORY=ON (enable jpeg support)
  • -DENABLE_FLITE=ON (enable FLITE TTS-based ATIS) [3][4]
  • -ENABLE_GDAL=ON (GDAL/OGR) 02/2017 [2]
  • -DENABLE_OPENMP=ON (OpenMP support requires 02/2017 [3])
  • -DENABLE_COMPOSITOR=OFF (Compositor support requires 2019.2 [4])

LTO

Erik has tried to compile Simgear and FlightGear using 'gcc -flto' to see if he could squeee just a bit more performance out of the code.

To be able to do so he's run cmake for both Simgear and FlightGear as follows:

After applying one patch to SimGear he got it compiling.

The resulting binary is almost exactly 5Mb smaller:

  • 14390984 fgfs-lto
  • 19354528 fgfs

It did not alter the frame-rates much for him (he's got quite a decent videocard now with the GeForce GTX 750) but Erik did have the distinct feeling there were way less small-pauses/frame-rate glitches when compared to the regular build. The overall feeling was much smoother.[5]

XCode

On Mac, '-G Xcode' will generate nice XCode projects. You can then build in the IDE or using xcodebuild. Ensure you have a recently CMake build, since Xcode support has improved in recent versions (2.8.9 at time of writing). CMake generates an 'install' target which is needed for SimGear, but FlightGear can be run and debugged directly (no install required) - simply set your DYLD_LIBRARY_PATH in the target options, to include your 'dist' directory.

Troubleshooting

If you get the error 'Oops, you have installed SimGear includes, however test compiling failed. Try removing 'CMakeCache.txt' and reconfigure with 'cmake'.' when trying to run cmake for flightgear it could be that you have an old SimGear version installed from your package manager.

If you get that error or anything strange even though all is apparently fine with matching simgear and flightgear versions you should check how your filesystem is mounted, because if it is an extra partition it could be that is mounted with the 'noexec' flag and cmake cannot work in that conditions.

Building/Compiling
FlightGear
  • Flightgear (Debian/Devuan/Gentoo/Linux/Ubuntu/Windows)
TerraGear
Related
  1. erik (Jan 1st, 2017). Re: Simgear compilation failure .
  2. https://sourceforge.net/p/flightgear/simgear/ci/dad30b0cc212e6ecd4b332cbc4f1335349f89188
  3. https://sourceforge.net/p/flightgear/simgear/ci/dad30b0cc212e6ecd4b332cbc4f1335349f89188
  4. https://sourceforge.net/p/flightgear/flightgear/ci/e042364dd03f2ab425027444f79b94b3babbcd42/
  5. Erik Hofman (Nov 8th, 2016). [Flightgear-devel] Link Time Optimization .
Retrieved from 'http://wiki.flightgear.org/index.php?title=Building_using_CMake&oldid=117402'
casinivibes.dx.am › ► ► ► Liblastfm Cmake Build Fixes For Mac

As it says in the title, the dependencies list for Debian 9 fails on install complaining packages can't be found, even though I've installed them all and for the record, I also have Qt5, I'm running Plasma. ➜ build sudo cmake. Build of crashreporter disabled. Building Tomahawk 0.8.4. Could not find Qt5, searching for Qt4 instead. It's working!

If I enter 'export LDLIBRARYPATH=/usr/local/lib' before running it, it works great. Is there a way to avoid having to do this? Otherwise I'm stoked it's running!: 3 well it built and installed fine, but now when I open it it gives me this error: tomahawk: error while loading shared libraries: libtomahawk-widgets.so.0.8.99: cannot open shared object file: No such file or directory however the file is present in /usr/local/lib/, so I'm not sure why it can't see it. I've tried symlinking it to /usr/lib, but to no avail. I've searched the web for this issue, but couldn't find anything related to it, would you be able to offer any help? I really love the idea behing Tomahawk and attempting to build it on OS X but running into similar issues as @hamishmaku above. CMake Deprecation Warning at CMakeLists.txt:8 (CMAKEPOLICY): The OLD behavior for policy CMP0023 will be removed from a future version of CMake.

The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD. CMake Deprecation Warning at CMakeLists.txt:12 (CMAKEPOLICY): The OLD behavior for policy CMP0020 will be removed from a future version of CMake. The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD. Build of crashreporter disabled.

Building Tomahawk 0.8.1-git-master-00f602e. CMake Error at CMakeLists.txt:171 (findpackage): By not providing 'FindQt5WebKitWidgets.cmake' in CMAKEMODULEPATH this project has asked CMake to find a package configuration file provided by 'Qt5WebKitWidgets', but CMake did not find one. Could not find a package configuration file provided by 'Qt5WebKitWidgets' with any of the following names: Qt5WebKitWidgetsConfig.cmake qt5webkitwidgets-config.cmake Add the installation prefix of 'Qt5WebKitWidgets' to CMAKEPREFIXPATH or set 'Qt5WebKitWidgetsDIR' to a directory containing one of the above files. If 'Qt5WebKitWidgets' provides a separate development package or SDK, be sure it has been installed. Configuring incomplete, errors occurred! See also '/Users/msuzo/code/Tomahawk/tomahawk/build/CMakeFiles/CMakeOutput.log'. I have tried setting export CMAKEPREFIXPATH=/usr/local/Cellar/qt5/5.9.1/ before running the cmake command -but still getting the same error.

Jul 4, 2013 - Building amarok 2 on OS X might present something of a challenge for the typical. Automoc cmake qt4-mac dbus libmng kdebase4-runtime exiv2. Xorg-fixesproto xorg-libXcursor xorg-libXdamage xorg-damageproto xorg-libXi. Swig libusb py27-gobject py27-mutagen taglib liblastfm fftw-3-single. Jun 27, 2018 Visual Studio 2017 15.8 Preview 3 is now available and it includes several improvements to the CMake tools. In addition to a few fixes we have simplified the way you can configure your CMakeSettings.json file by adding configuration templates. If you are new to CMake in Visual Studio. Visual Studio Build Tools 2017 (15.7.1.

Any hints please? Greatly appreciated.

Liblastfm Cmake Build Fixes For Mac Download

Important The following features are not yet supported with the CMake-based build system:. Eclipse IDE Documentation.

Secure Boot. Flash Encryption Support for these features will be available before CMake becomes the default build system. This document is intended to help users set up the software environment for development of applications using hardware based on the Espressif ESP32. Through a simple example we would like to illustrate how to use ESP-IDF (Espressif IoT Development Framework), including the menu based configuration, compiling the ESP-IDF and firmware download to ESP32 boards. Introduction ESP32 integrates Wi-Fi (2.4 GHz band) and Bluetooth 4.2 solutions on a single chip, along with dual high performance cores, Ultra Low Power co-processor and several peripherals. Powered by 40 nm technology, ESP32 provides a robust, highly integrated platform to meet the continuous demands for efficient power usage, compact design, security, high performance, and reliability. Espressif provides the basic hardware and software resources that help application developers to build their ideas around the ESP32 series hardware.

The software development framework by Espressif is intended for rapidly developing Internet-of-Things (IoT) applications, with Wi-Fi, Bluetooth, power management and several other system features. Development of applications for ESP32 Steps to set up Development Environment:. Setup of Toolchain. Getting ESP-IDF from GitHub Once the development environment is set up, we will follow these steps to create an ESP-IDF application:.

Configuration of a Project and writing the code. Compilation of the Project and linking it to build an Application.

Flashing (uploading) the compiled Application to ESP32 over a USB/serial connection. Monitoring / debugging of the Application output via USB/serial. Note We are an using esp subdirectory in your user’s home directory ( /esp on Linux and MacOS,%userprofile% esp on Windows) to install everything needed for ESP-IDF. You can use any different directory, but will need to adjust the respective commands. Depending on your experience and preferences, instead of using a prebuilt toolchain, you may want to customize your environment. To set up the system your own way go to section.

Once you are done with setting up the toolchain then go to section. Setup Environment Variables ESP-IDF requires two environment variables to be set for normal operation:. IDFPATH should be set to the path to the ESP-IDF root directory.

PATH should include the path to the tools directory inside the same IDFPATH directory. These two variables should be set up on your PC, otherwise projects will not build. Setting may be done manually, each time PC is restarted. Another option is to set them permanently in user profile. To do this, follow instructions specific to, in section. Project configuration - Home window Here are couple of tips on navigation and use of menuconfig:.

Use up & down arrow keys to navigate the menu. Use Enter key to go into a submenu, Escape key to go up a level or exit. To see a help screen.

Enter key exits the help screen. Use Space key, or Y and N keys to enable (Yes) and disable (No) configuration items with checkboxes “.”. Pressing? While highlighting a configuration item displays help about that item.

Type / to search the configuration items. $ idf.py build Running cmake in directory /path/to/helloworld/build Executing 'cmake -G Ninja -warn-uninitialized /path/to/helloworld'. Warn about uninitialized values. Found Git: /usr/bin/git (found version '2.17.0') - Building empty awsiot component due to configuration - Component names. Component paths.

Riffstation. (more lines of build system output) 527/527 Generating hello-world.bin esptool.py v2.3.1 Project build complete. To flash, run this command:./././components/esptoolpy/esptool/esptool.py -p (PORT) -b 921600 writeflash -flashmode dio -flashsize detect -flashfreq 40m 0x10000 build/hello-world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partitiontable/partition-table.bin or run 'idf.py -p PORT flash' If there are no errors, the build will finish by generating the firmware binary.bin file.

Running esptool.py in directory./esp/helloworld Executing 'python./esp-idf/components/esptoolpy/esptool/esptool.py -b 460800 writeflash @flashprojectargs'. Esptool.py -b 460800 writeflash -flashmode dio -flashsize detect -flashfreq 40m 0x1000 bootloader/bootloader.bin 0x8000 partitiontable/partition-table.bin 0x10000 hello-world.bin esptool.py v2.3.1 Connecting. Detecting chip type. ESP32 Chip is ESP32D0WDQ6 (revision 1) Features: WiFi, BT, Dual Core Uploading stub. Running stub. Stub running. Changing baud rate to 460800 Changed.

Liblastfm Cmake Build Fixes For Mac Mac

Configuring flash size. Auto-detected Flash size: 4MB Flash params set to 0x0220 Compressed 22992 bytes to 13019. Wrote 22992 bytes (13019 compressed) at 0x00001000 in 0.3 seconds (effective 558.9 kbit/s).

Hash of data verified. Compressed 3072 bytes to 82. Wrote 3072 bytes (82 compressed) at 0x00008000 in 0.0 seconds (effective 5789.3 kbit/s). Hash of data verified. Compressed 136672 bytes to 67544.

Wrote 136672 bytes (67544 compressed) at 0x00010000 in 1.9 seconds (effective 567.5 kbit/s). Hash of data verified. Hard resetting via RTS pin.

If there are no issues, at the end of flash process, the module will be reset and “helloworld” application will be running there. $ idf.py -p /dev/ttyUSB0 monitor Running idfmonitor in directory.

/esp/helloworld/build Executing 'python./esp-idf/tools/idfmonitor.py -b 115200./esp/helloworld/build/hello-world.elf'. idfmonitor on /dev/ttyUSB0 115200 - - Quit: Ctrl+ Menu: Ctrl+T Help: Ctrl+T followed by Ctrl+H - ets Jun 8 2016 00:22:57 rst:0x1 (POWERONRESET ),boot:0x13 (SPIFASTFLASHBOOT ) ets Jun 8 2016 00:22:57.

Several lines below, after start up and diagnostic log, you should see “Hello world!” printed out by the application.