Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
Is it possible to run .pkg files in Ubuntu or Fedora. If so, how do I start with it?
What's .pkg file? It's a file format used in Mac systems(Apple Inc.)
Is there any alternatives which can run .pkg files in Linux distros? ( specifically Ubuntu or Fedora, I'm using latest version in both distros).
You can unpack the Xar format using the xar archiver; perhaps the ark archive front-end can also handle the Xar format, as it links against libarchive12, which provides read-only support for the Xar format.
OS X uses the Mach-O executable format, while Linux uses ELF. (Okay, Linux can also read some archaic a.out formatted files too, but this format is effectively dead on modern Linux systems.) There is an experimental Mach-O loader for Linux, but it sure sounds like a toy at this point. (You'd also need the libraries that applications use in order to actually run programs -- that'd be another complication.)
So: Yes, you can unpack them. No, you cannot simply run OS X applications on Linux.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
So the question is pretty straightforward. My idea is pretty simple, just copy the executable under /usr, then add the path into the environment path variable.
Is that all? Or do I miss something?
Sorry if this question is dumb, I'm not a noob to Linux but I am not sure about this question.
I mean it's pretty much gonna work but I don't know if it's the "standard" way to do it.
Don't write an install script at all.
Package it for the popular package managers or have someone package it for you.
The most popular are
dpkg/apt used by Debian, Ubuntu, Linux Mint and friends
rpm/yum used by RedHat Linux, openSUSE and fiends
pacman used by ArchLinux and fiends
emerge used by Gentoo and fiends
Yep, all you need to do is copy the executable (as long as you have no dependencies). If you put it in /usr/bin, you don't need to modify the path, as it's in there by default.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
It may be a trivial question but I have hard time to explain to my little brother that a Windows binary will not run in another different OS like Linux even when both the OS are running in the same machine. If the binaries (opcodes) have to be same to execute in the same underlying architecture ( say Intel 32-bit), what are the differences between the binaries of Windows and Linux ( or even Ubuntu and RadHat Linux)? Are there any runtime modification of the binaries at instruction level before execution by the processor? How do I explain in lay man /simple terms that he can understand.
The different operating systems have different ABIs which require different loaders to use. If the loader for the other OS is available (via, say, Wine) then it is possible to load the executable, at which point the API becomes important.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I am developing command line interface executables for both osx and linux using c/c++. The project will link against opencv. Should I use libc++ or libstdc++?
I would use the native library for each OS i.e. libstdc++ on GNU/Linux and libc++ on Mac OS X.
libc++ is not 100% complete on GNU/Linux, and there's no real advantage to using it when libstdc++ is more complete. Also, if you want to link to any other libraries written in C++ they will almost certainly have been built with libstdc++ so you'll need to link with that too to use them.
More info here about the completeness of libc++ on various platforms.
Major Linux distributions do not provide LLVM libc++, because:
Unlike Apple and FreeBSD, the GPL+3 is not an issue, so no need to
implement another stack here.
Linux components have been developed around GNU libstd++ for ages. Some of them
do not build on anything else.
While libc++ is strong in new features, it has some problems with legacy code.
If eventually libc++ became part of distributions, it will be as an optional component. linking against it will probably require extra options.
Like Jonathan said, you should use whatever tool is included by default. Clang is safe in Linux to use since is configured as a GCC replacement, so in that aspect you don't have to worry about 2 compilers. Also since you are targeting two platforms, you should take a look to cmake.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
We have a number of machines with the Oracle JRE and JDK installed from RPM on our RHEL 5.x system (e.g. java-1.6.0-sun-devel-1.6.0.26-1jpp.1.el5.x86_64 and java-1.6.0-sun-1.6.0.26-1jpp.1.el5.x86_64 ). I mounted the JVM directory and compared them from Beyond Compare and found a consistent pattern of differences. In, say, the keytool on one machine there is a binary sequence that shows up in several locations in the file. In that same file in the same location on another machine, there is a different binary sequence. Each machine has it's own unique sequence in those locations. The unique binary sequence shows up in all the binary files that differ on a machine.
Is this some sort of watermark or signature? Is this common in ELF binaries installed from an RPM?
This just seemed weird to me, but it is probably just a curiosity. Thanks if you know what's up.
found a consistent pattern of differences
The RPM post-install script must be doing something; possibly embedding a watermark.
Is this common in ELF binaries installed from an RPM?
No.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I am running sles10sp3 on two different vm's. I am trying to find the same rpm's as are installed on one of the vm's, so that I can install the same rpm's on the other vm. Is there any way to simply copy them from one vm to another (or in general copy all the .rpm's off SLES)? This has started with me trying to find a ruby 1.8.4 rpm and not having any luck, but there are a bunch of other rpm's I need to find as well.
Once a RPM package is installed, there is not enough information left on the system to reconstruct the RPM.
You can use "rpm -qa" to list all of the packages (and their versions) on each system, and you can "diff" those lists. But to actually install a specific version of a specific package, you will have to find (or search for) an actual copy of the actual RPM.
You can also use "rpm -ql " to enumerate the files associated with the RPM. But RPMs can also have pre-installation and post-installation scripts, so you cannot simply "tar up" the files and move them over.
In short I do not think there is any way to do what you want to do.
Also this is off-topic for StackOverflow. :-)