top of page
Search
valbisadoorribbgra

Mac Install X11 Library: Troubleshooting Common Issues with X11 on macOS



OS X Software Updates have included some of the work done by the XQuartz project, but for various reasons, Apple cannot ship the latest and greatest version offered by the XQuartz site. Since the XQuartz X11 package clobbers Apple's X11.app, their software update will clobber the XQuartz X11 package. Because of this, you may experience conflicts after doing a Software Update from Apple. Please re-install the latest XQuartz X11 release for Leopard after installing a system software update to OS X 10.5.x Leopard.


If you install R with the standard MDI,to enable the SDI you can make a copy of the R desktop icon(right-click on the icon, drag it to a different location on thedesktop, select Copy Here from the context menu).Right-click the new icon and select Properties. Add --sdi (precededby a space) to the Target field on the Shortcut tabof the Properties dialog box. The field should readsomething like "C:\Program Files\R\R-x.y.z\bin\Rgui.exe"--sdi, where x.y.zspecifies the version of R you installed. If you wish, changethe name of the icon on the General tab (e.g., to Rx.y.z SDI). Click OK. Alternatively, you canyoucan edit the Rconsole file in R's etc subdirectory to select the SDI.




Mac Install X11 Library



As part ofthe installation process, XQuartz builds a font cache.Occasionally, the font cache isn't built on installation, andinstead the cache is built when the R Commander (and henceXQuartz) is first used. This process can be time-consuming andmay initially slow down the performance of the R Commander(with, e.g., dialog boxes taking a long time to display); ifthis problem occurs, please be patient -- the problem shouldresolve itself after the font cache is built.


If you are using macOS 10.9("Mavericks") or later and the R Commander becomes slow orunresponsive during a session, you can run R and the R Commanderin a terminal window on your Mac rather than from R.app orprevent your computer from "napping" while R.app is running. See"Suppressing app nap" in the installation notes above.


Occasionally,the Rcmdr package will fail to load properlyin macOS. When this problem occurs, the cause is almost alwaysthe failure of the tcltk package to load --TheRcmdr package depends on the tcltkpackage. You can confirm this diagnosis by trying to load the tcltkpackage directly, in a fresh R session, issuing the command library(tcltk)at the Rcommand prompt.


In this post, I discuss enabling X11 forwarding from Red Hat Enterprise Linux (RHEL), Amazon Linux, SUSE Linux, Ubuntu servers running on Amazon EC2. This is helpful for system and database administrators, and application teams that want to perform software installations on Amazon EC2 using GUI method. This blog provides detailed steps around SSH and x11 tools, various network and operating system (OS) level settings, and best practices to achieve the X11 forwarding on Amazon EC2 when installing databases like Oracle using GUI.


There are several techniques to connect Amazon EC2 instances to manage OS level configurations. Typically, you use SSH clients (such as PuTTY or SSH client) to establish the connection from the Windows OS-based bastion or jump servers to connect with Amazon EC2 instances running linux-based OS. Most commonly, database administrators use a common Database Management, bastion host, or jump servers to connect database servers. They do this instead of directly using their laptops connecting to the database servers. They can install all the needed tools in one server to perform database administrative or support activities. During the application installation or configuration, you might need to install software such as an Oracle database or a third-party database using GUI methods. This blog talks about steps that must be done in order to forward the X11 screen to your highly secure Windows OS-based bastion hosts. You can consider using NICE DCV as an alternative option for running GUI-based applications. Please refer to the prior link for more details and steps to enable NICE DCV.


Note: The xorg-x11-apps package has been provided in the CodeReady Linux Builder Repository for RHEL8. So, I skipped installing this package, which has xclock and I used only xterm to test the X11 forwarding.


You should see the sample output and xclock or xterm window opened similar to the following image. This means your x11 forwarding setup working as expected, and you can start using GUI-based application installation or configuration by running the installer or configuration tools.


You should see the sample output and xclock or xterm window opened similar to the following image. This means your x11 forwarding setup is working as expected even after switched to different user. You can start using GUI-based application such as running the installer or configuration tools.


In this blog, I demonstrated how to configure Amazon EC2 instances running on various linux-based operating systems to forward X11 to the Windows OS-based bastion host. This is helpful to any application installation that requires GUI-based installation methods. This is also helpful to any bastion hosts that provide highly secure and low latency environments to perform SSH related operations including GUI-based installations as this does not require any additional network configuration other than opening the port 22 for standard SSH authentication. Please try this tutorial for yourself, and leave any comments following!


GNU Radio has been compiled and installed on OSX 10.4 ("Tiger") through 10.15 ("Catalina") running any compatible version of Xcode on all recent and many older Macs -- whether Intel or PowerPC/PPC. There is very little support for getting the background libraries and applications installed on OSX 10.5 or earlier, nor 32-bit Intel or any PPC, though all of these should be possible. Primary support is for 64-bit Intel-based Macs running OSX 10.6 or newer.


Running almost any GNU Radio graphical interface (GUI) will require downloading and installing X11/XQuartz first. Through OSX 10.8, Apple provided a means to install X11.app, but XQuartz has always been more up to date and hence is recommended for use. Starting in OSX 10.9, Apple no longer provided a full working version of X11.app. Hence, just use XQuartz from the get-go. Note that unless you experiment with using the Quartz interface to various graphical toolkits (e.g., GTK), you must use X11.app as the terminal interface for GNU Radio GUI applications including GRC, the GNU Radio Companion.


On OSX, the library search path is set primarily by the environment variable DYLD_LIBRARY_PATH (and the few other DYLD_* variables). Because of the way the OSX dynamic library loader works, this variable works differently than the LD_LIBRARY_PATH on Linux. Its primary purpose is in finding libraries in a local path, such as when testing software before installing it (we use it in make test in GR), or inside an application. We strongly recommend against setting this variable globally as is typically done with Linux and LD_LIBRARY_PATH. Setting any DYLD_* environment variable for general use is highly discouraged, because doing so, in our experience, leads to problems down the road that are very difficult to diagnose. OSX provides robust means for correcting DYLD-based issues even after dependencies are installed.


If you do not already have MacPorts installed, you will need to install it first. Make sure to follow the MacPorts shell environment changes needed such that MacPorts installed executables are found before all others. These are the only changes to the shell environment needed to execute any MacPorts-installed executable!


Finkmight provide a simple way to install GNU Radio; it isuntested (as of early 2020). Conda through conda-forge is another alternative for installing pre-built binaries; see the conda install guide.


There are a number of background libraries and applications that must be installed from source or binary in order to compile or execute GNU Radio. These can be obtained by using MacPorts, Fink, HomeBrew, and/or from source / scratch. MacPorts tends to be more up-to-date with respect to new releases, which can be both a blessing and a curse since sometimes new released are untested and result in build or runtime errors. MacPorts, HomeBrew, and Fink offer thousands of ready-to-install libraries and applications, and hence they are highly recommended to use instead of installing from source / scratch.


NOTE: We highly recommended that you install all dependencies via the same package manager! When issues arise, they are much easier to track down, and your updating to newer versions is also much easier.


Kate Temkin's GitHub repository gnuradio-for-mac-without-macports provides a build script that automate the entire process of building and installing GNUradio, it's dependencies, and a number of SDR hardware backends.


For example, using Xcode 5 or later's Apple GCC (llvm flavor), MacPorts installed into /opt/local (the default), and for Python 2.7 (as installed by MacPorts), issue the following commands from within the GNU Radio source directory:


Selecting another compiler is as simple as changing the CC and CXX pre-arguments to the cmake command. Note that all of the -DPYTHON* defines must point to the same install of Python, otherwise runtime errors are likely to occur. GR_PYTHON_DIR sets the location into which GNU Radio's Python and SWIG files are to be installed.


By default, the location where cmake built projects will be installed is /usr/local. To change this location, add -DCMAKE_INSTALL_PREFIX=/path/to/new/location to the cmake command line, substituting in the actual desired path for /path/to/new/location. For example, to install into /opt/local, use -DCMAKE_INSTALL_PREFIX=/opt/local. Although we do not generally recommend installing into the same location as some other package manager does, this technique can be useful for debugging purposes; just remember to sudo make uninstall before installing via the owning package manager. 2ff7e9595c


0 views0 comments

Recent Posts

See All

Comments


bottom of page