A universal binary is, in Apple parlance, an executable file or application bundle that runs natively on either PowerPC or Intel -manufactured IA or Intel 64 -based Macintosh computers; it is an implementation of the concept more generally known as a fat binary. The same mechanism that is used to select between the PowerPC or Intel builds of an application is also used to select between the bit or bit builds of either PowerPC or Intel architectures. Apple, however, continues to require native compatibility with both PowerPC and Intel in order to grant third-party software publishers permission to use Apple's trademarks related to Universal binaries.
Universal binaries were introduced at the Apple Worldwide Developers Conference as a means to ease the transition from the existing PowerPC architecture to systems based on Intel processors, which began shipping in Universal binaries typically include both PowerPC and x86 versions of a compiled application. The operating system detects a universal binary by its header, and executes the appropriate section for the architecture in use. This allows the application to run natively on any supported architecture, with no negative performance impact beyond an increase in the storage space taken up by the larger binary.
There are two general alternative solutions. The first is to simply provide two separate binaries, one compiled for the x86 architecture and one for the PowerPC architecture. However, this can be confusing to software users unfamiliar with the difference between the two, although the confusion can be remedied through improved documentation, or the use of hybrid CDs. The other alternative is to rely on emulation of one architecture by a system running the other architecture.
This approach results in lower performance, and is generally regarded an interim solution to be used only until universal binaries or specifically compiled binaries are available see Rosetta. Universal binaries are larger than single-platform binaries, because multiple copies of the compiled code must be stored.
However, because some non-executable resources are shared by the two architectures, the size of the resulting universal binary can be, and usually is, smaller than both binaries combined.
They also do not require extra RAM because only one of those two copies is loaded for execution. Apple previously used a similar technique during the transition from 68k processors to PowerPC in the mids.
These dual-platform executables were called fat binariesreferring to their larger file size. Apple's Xcode 2. A simple application developed with processor-independence in mind might require very few changes to compile as a universal binary, but a complex application designed to take advantage of architecture-specific features might require substantial modification.
Applications originally built using other development tools might require additional modification. These reasons have been given for the delay between the introduction of Intel-based Macintosh computers and the availability of third-party applications in universal binary format.
Apple's delivery of Intel-based computers several months ahead of their previously announced schedule is another factor in this gap. Many software developers have provided universal binary updates for their products since the WWDC. As of DecemberApple's website now lists more than 7, Universal applications. On April 16,Adobe Systems announced the release of Adobe Creative Suite 3the first version of the application suite in a Universal Binary format.Need to use Telnet in MacOS?
Presumably this is to encourage using the ssh client instead, but there are many Mac users who need Telnet for a variety of reasons. Telnet continues to be in a valid tool for many systems and network administrators, security professionals, people working with Cisco hardware or towards Cisco certification, MUD enthusiasts, amongst many other purposes. Accordingly, this tutorial will detail several different ways to get Telnet back in modern versions of Mac OS system software.
This article will assume that you have experience working with the Terminal and command line, since Telnet is entirely command line based. By far the simplest option is for Mac users to install Telnet through Homebrew. If you happen to have access to a Mac that is running a prior version of MacOS Sierra or prioror you happen to have an older MacOS system software backup laying around from Time Machine or otherwise, you can actually just copy the old binaries from that computer or backup to your modern MacOS installation, and telnet will work just fine.
With Mac OS and Mac OS X versions that include telnet, you will find Telnet at the following location thus serving as a reference for where to find the binary in the backups:. Another option which requires more caution is to request the telnet binary from a trusted coworker or trusted friend who is running MacOS Sierra or prior. Do not try and find a random telnet binary zip file from the internet since it could be compromised or otherwise untrustworthy.
Of course there are some alternatives for Telnet, depending on what you need to use telnet for in the first place. For remote connections, ssh is the new standard as it is secured, and both the ssh server and ssh client are available by default in all modern versions of MacOS system software.
Simply, connecting to a remote IP with ssh would look as follows:. For example, you can confirm that the connection to the aforementioned ASCII Star Wars server and port 80 works with the following netcat command string:. Remember that netcat for this purpose requires specifying a valid TCP or UDP port number of whatever the host protocol is.
And finally, use make install to complete the installation of inetutils and telnet: sudo make install. Personally I think using Homebrew is easier, plus there are many other great and useful Homebrew packages available. Just to cover all bases, there are also telnet clients available for iOS.
How practical this is for you likely depends on your particular device and what your intention with telnet is, but a free option for iOS is iTerminal and an excellent paid option is Prompt. Using ssh and telnet from an iOS device can be a challenge without an external keyboard though, so you might want to connect one to your iPhone or iPad before going that route, and realistically this is a better option for the iPad simply due to the larger screen.
Ask Different is a question and answer site for power users of Apple hardware and software. It only takes a minute to sign up. I found there is some differences between the utility command I used on the mac OSX and linux. I want to make my experience united. See brew search gnu for other packages. Besides brew install coreutilsyou may also need to install some other packages, such as gnu-sedgrep :. Note that the --with-default-names option is removed since Januaryso each binary has to be added to the path if they are to be used without the g prefix.
I'm not sure that I would recommend replacing them; however, you can install them to a different path and utilize them that way. I've written a script to do exactly this! The script can be viewed here or below. However, I can't always guarantee this post will reflect the latest version of the script linked previously.
Upon running the script, Homebrew will be installed if not alreadyall the associated GNU utilities will be installed if not alreadyand the PATH variable will be built from the installed utilities. Then you can create symbolic links from there to a location that is already on your PATH. This way, it would almost as easy to create symbolic links.
Sign up to join this community. The best answers are voted up and rise to the top. Home Questions Tags Users Unanswered. Ask Question. Asked 7 years, 5 months ago. Active 2 months ago. Viewed k times.
How to replace EXE files with cracked copy?
The dark mode beta is finally here. Change your preferences any time. Stack Overflow for Teams is a private, secure spot for you and your coworkers to find and share information. I am making an application on Mac and I want to be able to replace a running executable. So while the executable is running I want to be able to replace it with a better version of it. As far as I know on Linux you can do that, so the next time the application starts it will start the new executable, but on Windows you can't do that.
Assuming you're implementing an update feature, checkout the Sparkle framework, which does exactly what you're looking for, and way more. In case you only need to replace a running application, browse the Sparkle project at GitHub to see how it's done. However, the POSIX filesystem functions you also use on Linux don't have those restrictions, and you can certainly replace running executables. Learn more.
Replace a running executable on mac osx Ask Question. Asked 7 years, 7 months ago. Active 6 years, 4 months ago.
Viewed times. So any information about this thing on Mac or any advise how to proceed? Active Oldest Votes. Anne Anne Sign up or log in Sign up using Google.
Sign up using Facebook. Sign up using Email and Password. Post as a guest Name. Email Required, but never shown.You can rename your macOS user account and home folder, which were named when the account was created. Change the name of your macOS user account and home folder You can rename your macOS user account and home folder, which were named when the account was created.
Open the Users folder on the startup disk. It contains the home folder for each user. You'll be prompted to enter the administrator name and password that you used to log in. From the list of users on the left, Control-click the user you're renaming, then choose Advanced Options.
It should have no spaces. Change that account name to match the new name of the home folder. It can be any name, and you can use either the full name or the account name to log in to your Mac or make changes that require your name and password. Click OK, then restart your Mac.
Log in to the renamed account, then verify that your old files and folders are visible and the account is working as expected. Yes No. Character limit: Maximum character limit is Ask other users about this article Ask other users about this article.Following these directions will allow you to add a directory to the search PATH.
To change your path, you must edit the. If not, then you can use TextEdit to edit your. The default.
Sometimes the PATH variable can get lengthy, but chances are yours just has a few directories separated by colons, perhaps something like this:. There are a few things to note before making changes.
The format of this line is important. The use of spaces in this command, or their lack, matters. In particular, there cannot be spaces around the equals sign or between any of the directories.
Defining a variable without exporting it makes it available only to the current shell, not to any subsequent shells. So, to add a new directory to the path, simply add it to the existing PATH line in. Note that in the third example the new directory is added to the end of the PATH. You have the ability to optimize the searches your shell will do on your behalf each time you run a command by organizing your PATH logically. Putting less frequently used or really massive directories later in the path may give you a little performance boost although these days things are pretty fast, so you have to be a little anal to really enjoy this.
One last note, to test the change you made, you can use the echo command, but you need to make the shell reload the. The first is a neat little command in that it shows three uses or interpretations of the period in a single line. The first. If you simply executed these commands like a shell script bash. The second period means the current working directory. The last dot causes the.
Your participation helps us to help others. By visiting this site, users agree to our disclaimer. The members, admins, and authors of this website respect your privacy. All logos and trademarks in this site are property of their respective owner.
Quinn was one of the original co-founders of Tech-Recipes. View more articles by Quinn McHenry. The Conversation Follow the reactions below and share your own thoughts.Note: This posting was originally written based on MacOS See the Comments section for some updates since then.
That is: plop the build anywhere on your system and it must work. A key to making relocatable software work is relative paths. All references to files within the relocatable install image must be relative or at least start out relative and only made absolute dynamically at runtime. This includes any dependencies that binaries in the install image might have on dynamic libraries in the install image.
Better to construct the binaries correctly so that they can locate their dependencies without the need to alter the user's environment. I'm pretty familiar with dynamic libraries on Solaris and Linux. On those platforms you can embed an RPATH into a binary that is searched by the runtime linker to locate libraries.
Dynamic Libraries, RPATH, and Mac OS
But what about the Mac? That's new territory for me. Here is what I learned -- I welcome comments since I likely know just enough to be dangerous. On the Mac a dynamic library dylib has an "install name". The install name is a path baked into the dynamic library that says where to find the library at runtime.
When you link against the dylib this path is saved in your binary so that your binary can find the dylib at runtime. Seems a bit backwards to me -- but that's how it works. But notice that evil absolute path. That won't work in our "install anywhere" world. So how do we fix this?
Well, there isn't any. But there is something we can do instead. So when building wxPython on the Mac I first do a complete build. This results in the absolute paths being used as mentioned above.
And this changes the dependency in a binary to use a relative path to locate the library relative to the install location of the binary. It's also a bit more difficult to automate since you must determine the current install name in order to replace it with the new install name. But it does work. Note that for your project you may be able to simplify this.
For example, if you build your dynamic libraries with the correct install names first, then your binaries will pick up the correct install names at link time and you shouldn't need to change the dependencies post-build.
Actually Mac OS X does have the concept of rpath. Previous to With Which means if the rpath is set to. Vinay, thanks for the tip!
Currently we need to support Years later, this post still holds up well and helped me untangle a pile of dylib dependencies for the program I'm building. Thank you for writing it! Very useful and well written.Install OS X from the Internet - Replacing MacBook Pro Hard Drive Non-Retina - Part 2
I could have built it from source, but instead I decided to install MacPo