### Create Current OS Release Source: https://github.com/dsheirer/sdrtrunk/wiki/Developing Use the Gradle wrapper to create a runtime zip distribution for the current operating system using a locally installed JDK. ```bash ./gradlew runtimeZipCurrent ``` -------------------------------- ### Install libusb on MacOS Source: https://github.com/dsheirer/sdrtrunk/blob/master/README.md Use Homebrew to install the latest version of libusb. This is a prerequisite for resolving USB support issues on MacOS Tahoe 26.1. ```bash brew install libusb --HEAD cd /opt sudo mkdir local cd local sudo mkdir lib ``` -------------------------------- ### Create SDRPlay API Symbolic Link on Mac OS (Older Versions) Source: https://github.com/dsheirer/sdrtrunk/wiki/FAQ For SDRPlay API versions prior to 3.12 on Mac OS, create a symbolic link to ensure SDRTrunk can find the driver. This is a workaround until the API installer uses the correct .dylib extension. ```bash sudo ln -s /usr/local/lib/libsdrplay_api.so /usr/local/lib/libsdrplay_api.dylib ``` -------------------------------- ### Start JFR Recording Source: https://github.com/dsheirer/sdrtrunk/wiki/other/Java-Flight-Recorder Initiate a Java Flight Recorder recording for a specific Java process using its PID. The default maximum recording size is 250MB. ```shell jcmd PID JFR.start ``` ```shell jcmd 212161 JFR.start 212161: Started recording 1. No limit specified, using maxsize=250MB as default. Use jcmd 212161 JFR.dump name=1 filename=FILEPATH to copy recording data to file. ``` -------------------------------- ### Create libusb Symbolic Link on MacOS Source: https://github.com/dsheirer/sdrtrunk/blob/master/README.md Create a symbolic link to the installed libusb library. This step is crucial for ensuring that usb4java can locate the necessary library, especially after USB support changes in MacOS Tahoe 26.x. ```bash sudo ln -s /opt/homebrew/Cellar/libusb/HEAD-9ceaa52/lib/libusb-1.0.0.dylib /opt/local/lib/libusb-1.0.0.dylib ``` -------------------------------- ### Create Windows Releases Source: https://github.com/dsheirer/sdrtrunk/wiki/Developing Use the Gradle wrapper to create Windows (x86-64 & aarch64) runtime zip distributions with automatic JDK download. ```bash ./gradlew runtimeZipWindows ``` -------------------------------- ### Create Other OS Releases Source: https://github.com/dsheirer/sdrtrunk/wiki/Developing Use the Gradle wrapper to create Linux (x86-64 & aarch64) and Mac (x86-64 & aarch64) runtime zip distributions with automatic JDK download. ```bash ./gradlew runtimeZipOthers ``` -------------------------------- ### Run Application (Linux) Source: https://github.com/dsheirer/sdrtrunk/wiki/Developing Use the Gradle wrapper to clean and run the application on Linux systems. ```bash ./gradlew clean run ``` -------------------------------- ### Run Application (Windows) Source: https://github.com/dsheirer/sdrtrunk/wiki/Developing Use the Gradle wrapper to clean and run the application on Windows systems. ```bat gradlew.bat clean run ``` -------------------------------- ### Launch sdrtrunk on Windows Source: https://github.com/dsheirer/sdrtrunk/wiki/Getting-Started Run this batch file from the command prompt after navigating to the unzipped application bundle's directory. Double-clicking the file is also an option, but may hide errors. ```batch (unzipped application bundle file location)/bin/sdr-trunk.bat ``` -------------------------------- ### Build Source Code (Windows) Source: https://github.com/dsheirer/sdrtrunk/wiki/Developing Use the Gradle wrapper to clean and build the source code on Windows systems. ```bat gradlew.bat clean build ``` -------------------------------- ### Build Source Code (Linux) Source: https://github.com/dsheirer/sdrtrunk/wiki/Developing Use the Gradle wrapper to clean and build the source code on Linux systems. ```bash ./gradlew clean build ``` -------------------------------- ### Load SDRPlay API Service on Mac OS Source: https://github.com/dsheirer/sdrtrunk/wiki/FAQ Use these commands to load and verify the SDRPlay API service on Mac OS, especially if SDRTrunk reports no discovered RSP devices. ```bash $ cd /Library/SDRplayAPI/3.15.0 $ launchctl load plist/com.sdrplay.service.plist $ launchctl list | grep sdrplay ``` ```text -\t78\tcom.sdrplay.service ``` -------------------------------- ### Launch sdrtrunk on Linux/OS-X Source: https://github.com/dsheirer/sdrtrunk/wiki/Getting-Started Execute this shell script from the terminal after navigating to the application bundle's location. Ensure you are in the correct directory. ```shell (untarred application bundle file location)/bin/sdr-trunk ``` -------------------------------- ### Launch SDRTrunk on MacOS (Up to Version 13.4) Source: https://github.com/dsheirer/sdrtrunk/wiki/FAQ Instructions for launching SDRTrunk on older MacOS versions. This involves using the 'Open' command via right-click to bypass security prompts. ```bash Right click > Open on java and accept the prompt ``` -------------------------------- ### Launch SDRTrunk on MacOS (Version 13.5.1+) Source: https://github.com/dsheirer/sdrtrunk/wiki/FAQ Instructions for launching SDRTrunk on newer MacOS versions. This involves running the application from the terminal and then approving it in System Settings due to security restrictions. ```bash ./java ``` ```bash ./sdr-trunk ``` -------------------------------- ### Generate Java Library with WSDL2Java Source: https://github.com/dsheirer/sdrtrunk/wiki/other/Creating-Radio-Reference-Library Use this command to generate Java classes from the Radio Reference WSDL. Ensure all required Axis 1.4 and other dependency JARs are in the classpath. The -B option generates an Ant build script. ```bash java -classpath commons-discovery-0.2.jar:axis.jar:commons-logging-1.0.4.jar:jaxrpc.jar:saaj.jar:wsdl4j-1.5.1.jar:java-mail-1.4.jar:activation-1.1.jar:log4j-1.2.8.jar org.apache.axis.wsdl.WSDL2Java -B http://api.radioreference.com/soap2/?wsdl&v=14 ``` -------------------------------- ### Configure Ant Build Script for JAR Name Source: https://github.com/dsheirer/sdrtrunk/wiki/other/Creating-Radio-Reference-Library Edit the generated build.xml file to set the correct JAR file name for the Radio Reference library. This ensures the output JAR is named as expected. ```xml ``` -------------------------------- ### List Running Java Processes Source: https://github.com/dsheirer/sdrtrunk/wiki/other/Java-Flight-Recorder Use `jcmd` to list all running Java processes and identify the Process ID (PID) of the sdrtrunk application. ```shell jcmd ``` ```shell 212161 io.github.dsheirer.gui.SDRTrunk ``` ```shell denny@denny-desktop-2021:~$ jcmd 195170 org.gradle.launcher.daemon.bootstrap.GradleDaemon 7.2 1490 com.intellij.idea.Main 196705 org.gradle.launcher.daemon.bootstrap.GradleDaemon 7.2 212161 io.github.dsheirer.gui.SDRTrunk 195770 org.gradle.launcher.daemon.bootstrap.GradleDaemon 7.2 212312 jdk.jcmd/sun.tools.jcmd.JCmd 196239 org.gradle.launcher.daemon.bootstrap.GradleDaemon 7.2 2735 org.jetbrains.idea.maven.server.RemoteMavenServer36 denny@denny-desktop-2021:~$ ``` -------------------------------- ### Log Message: Unable to Source Channel From Preferred Tuner Source: https://github.com/dsheirer/sdrtrunk/wiki/FAQ This log message indicates that sdrtrunk cannot allocate a frequency from the preferred tuner. This can happen if the tuner is already at full capacity or if the selected tuner is no longer available. ```log 2024-12-02 21:18:21.412 INFO i.g.d.s.t.m.TunerManager - Unable to source channel [851187500] from preferred tuner [RTL2832 SDR/R820T 00000001] - searching for another tuner [572MB/630MB 90%] ``` -------------------------------- ### Dump JFR Recording Events to File Source: https://github.com/dsheirer/sdrtrunk/wiki/other/Java-Flight-Recorder Save the captured JFR events to a file. This command can be executed multiple times to capture incremental data. The output includes the file path where the recording is saved. ```shell jcmd PID JFR.dump name=1 ``` ```shell jcmd 212161 JFR.dump 212161: Dumped recording, 1.6 MB written to: /home/denny/IdeaProjects/sdrtrunk/hotspot-pid-212161-2022_01_14_05_26_45.jfr ``` ```shell jcmd 212161 JFR.dump 212161: Dumped recording, 3.0 MB written to: /home/denny/IdeaProjects/sdrtrunk/hotspot-pid-212161-2022_01_14_05_26_57.jfr ``` -------------------------------- ### Stop JFR Recording Source: https://github.com/dsheirer/sdrtrunk/wiki/other/Java-Flight-Recorder Terminate the Java Flight Recorder recording for a specified process. ```shell jcmd PID JFR.stop name=1 ``` ```shell jcmd 212161 JFR.stop name=1 212161: Stopped recording "1". ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.