Re: Cross-compiling hosted on Linux
Erm, no. Go to pipmak.sourceforge.net to see what the program I had in mind is. It's supported on Mac OS X, Linux, and Winblows, so what I was trying to to was use it's Xcode project file (or whatever it's called) to compile it on Linux for Mac OS X. I don't need to do this anyway, because it turns out that I can get it precompiled WITH the libraries, from the project site. So, never mind. Thanks, Aidan Brett Davidson wrote: Actually Aidan, you might want to reconsider your question. If I understand correctly, what you want to do is get a program you know that runs on Linux to run on MacOSX. ;-) What you might want to consider is whether the FreeBSD (what Mac's Darwin is based on) ports tree has the program you want in it already. Use the command line on the Mac to grab down the ports tree and then see if you can run make on it. (You'll need to install compilation software on the MAC but then you'll need to do that anyway with your original idea). Hey presto - new app installed correctly with no fluffing about with cross-compiling! If you want further help, email me off list. Brat. Aidan Gauland wrote: I've found NOTHING helpful on the Internet, so I think I'm going have to give this one up. An idea that never even got off the ground. It exploded in the hangar. Apple can be as stupid as Microsoft in some ways. -Aidan Delio Brignoli wrote: Hi, Even though what you are trying to do is theoretically possible by wasting countless hours chasing up a version of gcc's source with apple patches and then making it work, breaking some licenses by installing their SDK libs on a different platform and then rewriting a number of utilities used by the build process I do not recommend you try. Sadly, Apple does not support compiling for OSX on any platform other than... (drum roll) OSX. Also Apple does not allow you to run their OS in a virtual machine. So I believe you will not be able to compile an executable targeted to OSX from your linux machine :( Xcode is downloadable as an *huge* (a little more than 1GB) disk image from Apple. It is made up of an IDE, gcc, Apple's substitute for "make", SDK libraries for various versions of their OS and a thousands other development related utilities. Xcode will be easy to use if all you need to do is build: open project file, hit build&run icon. HTH (at least to avoid hours of fruitless attempts) -- Delio On 9/02/2008, at 4:06 PM, Aidan Gauland wrote: If I was just trying to compile some command line program (like lynx), this would be a dawdle (probably). But this program's build environment for Mac OS X uses Xcode, AND it makes a .app directory, for the Finder (if you don't know what the I'm talking about.sorry, I just looked, and couldn't find anything explanatory on the netit's just some weird way of organising files and folders in a directory named "foo.app", so it shows up to the Finder as a single file. Lets not start an OS API flame war now though.) So that complicates this problem a bit, and is what I need help with. -Aidan Volker Kuhlmann wrote: On Fri 08 Feb 2008 19:12:24 NZDT +1300, A Thomas wrote: Long version: I use Linux at home (duh), and the school I go to uses Mac OS X (some Intel, some PPC), and I want to be able to use this program at the school, but it would be a pain to compile it on the school computers (mainly because I would have to puzzle out Xcode), also if I need a new feature or bug fix in a new version, I would have to go through this all again. So if I could compile this program for Mac, from Linux, that would save a lot of time. What did your googling come up with? I put in "gcc macosx crosscompile linux" and the top link to ubuntuforums is right on topic, but not all that helpful - people who heard "gcc" and "cross-copile" in the same sentence answering that gcc can do it, but otherwise not much clue to the how (pretty much my experience with ubuntuforums in general - all question, not much answer). You're dealing with a complex issue and need to look at it one step at a time. What gcc calls cross-compile is generating code for one processsor on another one. Yes gcc can do that. You'll have to recompile gcc for that as AFAIK no Linux distributor ships a gcc which is compiled for more than the architecture it's running on. Keep in mind that gcc compiles for processors only - it's what it calls hosts or architectures, it does not really compile for operating systems. For Apples you're looking at PPC and x86. If you want to make the code actually run on another OS, you'll have to get a linker which can all of a) create executable code for that OS, b) link against the standard runtime environment of that OS, c) link against any other libraries that the OS or your application uses. At least b) needs substantial information about "macosx" on your Linux machine - you guessed it, it's not there. You get to put it there first. As pointed out by others,
Re: Cross-compiling hosted on Linux
hmmm, however the requirements are: "Please note that in order to install and run MacPorts on Mac OS X, your system must have installations of the following components: 1. Apple's Xcode 3.0 Developer Tools for the Leopard platform or 2.4.1 for Tiger, found at the Apple Developer Connection site or on your Mac OS X installation CDs/DVD. [plus some others]" So as the OP was hoping to avoid Xcode, we are back to square 1. On Mon, February 11, 2008 11:58 am, Brett Davidson wrote: > Even better! :-) > > Nick Rout wrote: >> Actually the Mac has its own ports system which would be a far better >> way >> to go. >> >> http://www.macports.org/ >> >> -- Nick Rout
Re: Cross-compiling hosted on Linux
Even better! :-) Nick Rout wrote: Actually the Mac has its own ports system which would be a far better way to go. http://www.macports.org/ On Mon, February 11, 2008 10:14 am, Brett Davidson wrote: Actually Aidan, you might want to reconsider your question. If I understand correctly, what you want to do is get a program you know that runs on Linux to run on MacOSX. ;-) What you might want to consider is whether the FreeBSD (what Mac's Darwin is based on) ports tree has the program you want in it already. Use the command line on the Mac to grab down the ports tree and then see if you can run make on it. (You'll need to install compilation software on the MAC but then you'll need to do that anyway with your original idea). Hey presto - new app installed correctly with no fluffing about with cross-compiling! If you want further help, email me off list. Brat. -- Brett Davidson Systems Engineer -- Net24 Limited Web: www.net24.co.nz Phone: 0800 5000 24 | DDI: +64 3 962 9518 -- // web hosting / email hosting / data backup // our reputation for reliability precedes us This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please delete it and notify the sender.
Re: Cross-compiling hosted on Linux
Actually the Mac has its own ports system which would be a far better way to go. http://www.macports.org/ On Mon, February 11, 2008 10:14 am, Brett Davidson wrote: > Actually Aidan, you might want to reconsider your question. > If I understand correctly, what you want to do is get a program you know > that runs on Linux to run on MacOSX. ;-) > > What you might want to consider is whether the FreeBSD (what Mac's > Darwin is based on) ports tree has the program you want in it already. > Use the command line on the Mac to grab down the ports tree and then see > if you can run make on it. (You'll need to install compilation software > on the MAC but then you'll need to do that anyway with your original > idea). > > Hey presto - new app installed correctly with no fluffing about with > cross-compiling! > > If you want further help, email me off list. > > Brat. > > -- Nick Rout
Re: Cross-compiling hosted on Linux
Actually Aidan, you might want to reconsider your question. If I understand correctly, what you want to do is get a program you know that runs on Linux to run on MacOSX. ;-) What you might want to consider is whether the FreeBSD (what Mac's Darwin is based on) ports tree has the program you want in it already. Use the command line on the Mac to grab down the ports tree and then see if you can run make on it. (You'll need to install compilation software on the MAC but then you'll need to do that anyway with your original idea). Hey presto - new app installed correctly with no fluffing about with cross-compiling! If you want further help, email me off list. Brat. Aidan Gauland wrote: I've found NOTHING helpful on the Internet, so I think I'm going have to give this one up. An idea that never even got off the ground. It exploded in the hangar. Apple can be as stupid as Microsoft in some ways. -Aidan Delio Brignoli wrote: Hi, Even though what you are trying to do is theoretically possible by wasting countless hours chasing up a version of gcc's source with apple patches and then making it work, breaking some licenses by installing their SDK libs on a different platform and then rewriting a number of utilities used by the build process I do not recommend you try. Sadly, Apple does not support compiling for OSX on any platform other than... (drum roll) OSX. Also Apple does not allow you to run their OS in a virtual machine. So I believe you will not be able to compile an executable targeted to OSX from your linux machine :( Xcode is downloadable as an *huge* (a little more than 1GB) disk image from Apple. It is made up of an IDE, gcc, Apple's substitute for "make", SDK libraries for various versions of their OS and a thousands other development related utilities. Xcode will be easy to use if all you need to do is build: open project file, hit build&run icon. HTH (at least to avoid hours of fruitless attempts) -- Delio On 9/02/2008, at 4:06 PM, Aidan Gauland wrote: If I was just trying to compile some command line program (like lynx), this would be a dawdle (probably). But this program's build environment for Mac OS X uses Xcode, AND it makes a .app directory, for the Finder (if you don't know what the I'm talking about.sorry, I just looked, and couldn't find anything explanatory on the netit's just some weird way of organising files and folders in a directory named "foo.app", so it shows up to the Finder as a single file. Lets not start an OS API flame war now though.) So that complicates this problem a bit, and is what I need help with. -Aidan Volker Kuhlmann wrote: On Fri 08 Feb 2008 19:12:24 NZDT +1300, A Thomas wrote: Long version: I use Linux at home (duh), and the school I go to uses Mac OS X (some Intel, some PPC), and I want to be able to use this program at the school, but it would be a pain to compile it on the school computers (mainly because I would have to puzzle out Xcode), also if I need a new feature or bug fix in a new version, I would have to go through this all again. So if I could compile this program for Mac, from Linux, that would save a lot of time. What did your googling come up with? I put in "gcc macosx crosscompile linux" and the top link to ubuntuforums is right on topic, but not all that helpful - people who heard "gcc" and "cross-copile" in the same sentence answering that gcc can do it, but otherwise not much clue to the how (pretty much my experience with ubuntuforums in general - all question, not much answer). You're dealing with a complex issue and need to look at it one step at a time. What gcc calls cross-compile is generating code for one processsor on another one. Yes gcc can do that. You'll have to recompile gcc for that as AFAIK no Linux distributor ships a gcc which is compiled for more than the architecture it's running on. Keep in mind that gcc compiles for processors only - it's what it calls hosts or architectures, it does not really compile for operating systems. For Apples you're looking at PPC and x86. If you want to make the code actually run on another OS, you'll have to get a linker which can all of a) create executable code for that OS, b) link against the standard runtime environment of that OS, c) link against any other libraries that the OS or your application uses. At least b) needs substantial information about "macosx" on your Linux machine - you guessed it, it's not there. You get to put it there first. As pointed out by others, you'll need that xcode, it's unclear to me whether it is available on Linux. Also, comments like "on mac osx we use a specially doctored gcc made by apple" don't suggest to me that develop-on-Linux-run-on-Macosx is that far advanced. So this is what you need to sort out. If you make it, let us all know and write it up somewhere. My guess is that only someone proficient in developing on both Linux and Macosx independently will be able t
Re: Cross-compiling hosted on Linux
On Sat 09 Feb 2008 22:21:26 NZDT +1300, Aidan Gauland wrote: > Apple can be as stupid as Microsoft in some ways. Much worse. Microsoft doesn't come sue your pants off if you use their OS in an emulator or talk about their new products before they're released. Volker -- Volker Kuhlmann is list0570 with the domain in header http://volker.dnsalias.net/ Please do not CC list postings to me.
Re: Cross-compiling hosted on Linux
Thanks for the offer, but I can just compile it at school. I thought if I could compile it myself at home, it would save some time on Monday. Thanks, Aidan Delio Brignoli wrote: Aidan, I can try to compile it for you (UniversalBinary for 10.4 Tiger or 10.5 Leopard). Send me (off list) the URL of the program's source. I will give it a shot. -- Delio On 9/02/2008, at 10:28 PM, Jim Cheetham wrote: On Feb 9, 2008 10:21 PM, Aidan Gauland <[EMAIL PROTECTED]> wrote: I've found NOTHING helpful on the Internet, so I think I'm going have to give this one up. An idea that never even got off the ground. It exploded in the hangar. Apple can be as stupid as Microsoft in some ways. Well, you could always approach someone who has a Mac with XCode installed to do the compilation for you ... Try joining the email lists of http://appleusers.co.nz, the Apple Users Group of Canterbury. -jim
Re: Cross-compiling hosted on Linux
Aidan, I can try to compile it for you (UniversalBinary for 10.4 Tiger or 10.5 Leopard). Send me (off list) the URL of the program's source. I will give it a shot. -- Delio On 9/02/2008, at 10:28 PM, Jim Cheetham wrote: On Feb 9, 2008 10:21 PM, Aidan Gauland <[EMAIL PROTECTED]> wrote: I've found NOTHING helpful on the Internet, so I think I'm going have to give this one up. An idea that never even got off the ground. It exploded in the hangar. Apple can be as stupid as Microsoft in some ways. Well, you could always approach someone who has a Mac with XCode installed to do the compilation for you ... Try joining the email lists of http://appleusers.co.nz, the Apple Users Group of Canterbury. -jim
Re: Cross-compiling hosted on Linux
On Feb 9, 2008 10:21 PM, Aidan Gauland <[EMAIL PROTECTED]> wrote: > I've found NOTHING helpful on the Internet, so I think I'm going have > to give this one up. An idea that never even got off the ground. It > exploded in the hangar. Apple can be as stupid as Microsoft in some ways. Well, you could always approach someone who has a Mac with XCode installed to do the compilation for you ... Try joining the email lists of http://appleusers.co.nz, the Apple Users Group of Canterbury. -jim
Re: Cross-compiling hosted on Linux
I've found NOTHING helpful on the Internet, so I think I'm going have to give this one up. An idea that never even got off the ground. It exploded in the hangar. Apple can be as stupid as Microsoft in some ways. -Aidan Delio Brignoli wrote: Hi, Even though what you are trying to do is theoretically possible by wasting countless hours chasing up a version of gcc's source with apple patches and then making it work, breaking some licenses by installing their SDK libs on a different platform and then rewriting a number of utilities used by the build process I do not recommend you try. Sadly, Apple does not support compiling for OSX on any platform other than... (drum roll) OSX. Also Apple does not allow you to run their OS in a virtual machine. So I believe you will not be able to compile an executable targeted to OSX from your linux machine :( Xcode is downloadable as an *huge* (a little more than 1GB) disk image from Apple. It is made up of an IDE, gcc, Apple's substitute for "make", SDK libraries for various versions of their OS and a thousands other development related utilities. Xcode will be easy to use if all you need to do is build: open project file, hit build&run icon. HTH (at least to avoid hours of fruitless attempts) -- Delio On 9/02/2008, at 4:06 PM, Aidan Gauland wrote: If I was just trying to compile some command line program (like lynx), this would be a dawdle (probably). But this program's build environment for Mac OS X uses Xcode, AND it makes a .app directory, for the Finder (if you don't know what the I'm talking about.sorry, I just looked, and couldn't find anything explanatory on the netit's just some weird way of organising files and folders in a directory named "foo.app", so it shows up to the Finder as a single file. Lets not start an OS API flame war now though.) So that complicates this problem a bit, and is what I need help with. -Aidan Volker Kuhlmann wrote: On Fri 08 Feb 2008 19:12:24 NZDT +1300, A Thomas wrote: Long version: I use Linux at home (duh), and the school I go to uses Mac OS X (some Intel, some PPC), and I want to be able to use this program at the school, but it would be a pain to compile it on the school computers (mainly because I would have to puzzle out Xcode), also if I need a new feature or bug fix in a new version, I would have to go through this all again. So if I could compile this program for Mac, from Linux, that would save a lot of time. What did your googling come up with? I put in "gcc macosx crosscompile linux" and the top link to ubuntuforums is right on topic, but not all that helpful - people who heard "gcc" and "cross-copile" in the same sentence answering that gcc can do it, but otherwise not much clue to the how (pretty much my experience with ubuntuforums in general - all question, not much answer). You're dealing with a complex issue and need to look at it one step at a time. What gcc calls cross-compile is generating code for one processsor on another one. Yes gcc can do that. You'll have to recompile gcc for that as AFAIK no Linux distributor ships a gcc which is compiled for more than the architecture it's running on. Keep in mind that gcc compiles for processors only - it's what it calls hosts or architectures, it does not really compile for operating systems. For Apples you're looking at PPC and x86. If you want to make the code actually run on another OS, you'll have to get a linker which can all of a) create executable code for that OS, b) link against the standard runtime environment of that OS, c) link against any other libraries that the OS or your application uses. At least b) needs substantial information about "macosx" on your Linux machine - you guessed it, it's not there. You get to put it there first. As pointed out by others, you'll need that xcode, it's unclear to me whether it is available on Linux. Also, comments like "on mac osx we use a specially doctored gcc made by apple" don't suggest to me that develop-on-Linux-run-on-Macosx is that far advanced. So this is what you need to sort out. If you make it, let us all know and write it up somewhere. My guess is that only someone proficient in developing on both Linux and Macosx independently will be able to put something like this together, esp as all the parts might not yet be available. Volker
Re: Cross-compiling hosted on Linux
Hi, Even though what you are trying to do is theoretically possible by wasting countless hours chasing up a version of gcc's source with apple patches and then making it work, breaking some licenses by installing their SDK libs on a different platform and then rewriting a number of utilities used by the build process I do not recommend you try. Sadly, Apple does not support compiling for OSX on any platform other than... (drum roll) OSX. Also Apple does not allow you to run their OS in a virtual machine. So I believe you will not be able to compile an executable targeted to OSX from your linux machine :( Xcode is downloadable as an *huge* (a little more than 1GB) disk image from Apple. It is made up of an IDE, gcc, Apple's substitute for "make", SDK libraries for various versions of their OS and a thousands other development related utilities. Xcode will be easy to use if all you need to do is build: open project file, hit build&run icon. HTH (at least to avoid hours of fruitless attempts) -- Delio On 9/02/2008, at 4:06 PM, Aidan Gauland wrote: If I was just trying to compile some command line program (like lynx), this would be a dawdle (probably). But this program's build environment for Mac OS X uses Xcode, AND it makes a .app directory, for the Finder (if you don't know what the I'm talking about.sorry, I just looked, and couldn't find anything explanatory on the netit's just some weird way of organising files and folders in a directory named "foo.app", so it shows up to the Finder as a single file. Lets not start an OS API flame war now though.) So that complicates this problem a bit, and is what I need help with. -Aidan Volker Kuhlmann wrote: On Fri 08 Feb 2008 19:12:24 NZDT +1300, A Thomas wrote: Long version: I use Linux at home (duh), and the school I go to uses Mac OS X (some Intel, some PPC), and I want to be able to use this program at the school, but it would be a pain to compile it on the school computers (mainly because I would have to puzzle out Xcode), also if I need a new feature or bug fix in a new version, I would have to go through this all again. So if I could compile this program for Mac, from Linux, that would save a lot of time. What did your googling come up with? I put in "gcc macosx crosscompile linux" and the top link to ubuntuforums is right on topic, but not all that helpful - people who heard "gcc" and "cross-copile" in the same sentence answering that gcc can do it, but otherwise not much clue to the how (pretty much my experience with ubuntuforums in general - all question, not much answer). You're dealing with a complex issue and need to look at it one step at a time. What gcc calls cross-compile is generating code for one processsor on another one. Yes gcc can do that. You'll have to recompile gcc for that as AFAIK no Linux distributor ships a gcc which is compiled for more than the architecture it's running on. Keep in mind that gcc compiles for processors only - it's what it calls hosts or architectures, it does not really compile for operating systems. For Apples you're looking at PPC and x86. If you want to make the code actually run on another OS, you'll have to get a linker which can all of a) create executable code for that OS, b) link against the standard runtime environment of that OS, c) link against any other libraries that the OS or your application uses. At least b) needs substantial information about "macosx" on your Linux machine - you guessed it, it's not there. You get to put it there first. As pointed out by others, you'll need that xcode, it's unclear to me whether it is available on Linux. Also, comments like "on mac osx we use a specially doctored gcc made by apple" don't suggest to me that develop-on-Linux-run-on-Macosx is that far advanced. So this is what you need to sort out. If you make it, let us all know and write it up somewhere. My guess is that only someone proficient in developing on both Linux and Macosx independently will be able to put something like this together, esp as all the parts might not yet be available. Volker
Re: Cross-compiling hosted on Linux
If I was just trying to compile some command line program (like lynx), this would be a dawdle (probably). But this program's build environment for Mac OS X uses Xcode, AND it makes a .app directory, for the Finder (if you don't know what the I'm talking about.sorry, I just looked, and couldn't find anything explanatory on the netit's just some weird way of organising files and folders in a directory named "foo.app", so it shows up to the Finder as a single file. Lets not start an OS API flame war now though.) So that complicates this problem a bit, and is what I need help with. -Aidan Volker Kuhlmann wrote: On Fri 08 Feb 2008 19:12:24 NZDT +1300, A Thomas wrote: Long version: I use Linux at home (duh), and the school I go to uses Mac OS X (some Intel, some PPC), and I want to be able to use this program at the school, but it would be a pain to compile it on the school computers (mainly because I would have to puzzle out Xcode), also if I need a new feature or bug fix in a new version, I would have to go through this all again. So if I could compile this program for Mac, from Linux, that would save a lot of time. What did your googling come up with? I put in "gcc macosx crosscompile linux" and the top link to ubuntuforums is right on topic, but not all that helpful - people who heard "gcc" and "cross-copile" in the same sentence answering that gcc can do it, but otherwise not much clue to the how (pretty much my experience with ubuntuforums in general - all question, not much answer). You're dealing with a complex issue and need to look at it one step at a time. What gcc calls cross-compile is generating code for one processsor on another one. Yes gcc can do that. You'll have to recompile gcc for that as AFAIK no Linux distributor ships a gcc which is compiled for more than the architecture it's running on. Keep in mind that gcc compiles for processors only - it's what it calls hosts or architectures, it does not really compile for operating systems. For Apples you're looking at PPC and x86. If you want to make the code actually run on another OS, you'll have to get a linker which can all of a) create executable code for that OS, b) link against the standard runtime environment of that OS, c) link against any other libraries that the OS or your application uses. At least b) needs substantial information about "macosx" on your Linux machine - you guessed it, it's not there. You get to put it there first. As pointed out by others, you'll need that xcode, it's unclear to me whether it is available on Linux. Also, comments like "on mac osx we use a specially doctored gcc made by apple" don't suggest to me that develop-on-Linux-run-on-Macosx is that far advanced. So this is what you need to sort out. If you make it, let us all know and write it up somewhere. My guess is that only someone proficient in developing on both Linux and Macosx independently will be able to put something like this together, esp as all the parts might not yet be available. Volker
Re: Cross-compiling hosted on Linux
The short of it is it is possible to cross-compile on linux using gcc, though it depends on whether or not the gcc on your Linux is compiled to permit cross-compiling. The long of it is I don't know anything about MacOSX's development environment, nor about how well gcc is integrated into it. And I don't know if MacOSX is one of the supported targets in gcc, though I suspect it is. The non-X Window System environment I am passingly familiar with - Win32 - requires its own libraries and headers, and I use the version known as MinGW instead of Cygwin; I assume there is something comparable for MacOSX? Eg, libraries for the various Macintosh operating system environments, Cocoa, etc? I do know gcc includes Objective C - *.m files - but I have never used gcc's Objective C myself, and would not know about its support for MacOSX. Likewise I don't know if Apple has made available a MacOSX cross-compiling development environment for Linux. Just my 0.02c Wesley Parish On Friday 08 February 2008 19:12, A Thomas wrote: > Hello, > > Short version: I have the source for a cross-platform program. It > comes with a make file for Linux, and the files for Xcode, (for > compiling on Mac and Linux respectively). I want to compile the > program for Mac OS X, from Linux. Is this possible? I need a .app > file, not just an executable. > > Long version: I use Linux at home (duh), and the school I go to uses > Mac OS X (some Intel, some PPC), and I want to be able to use this > program at the school, but it would be a pain to compile it on the > school computers (mainly because I would have to puzzle out Xcode), > also if I need a new feature or bug fix in a new version, I would have > to go through this all again. So if I could compile this program for > Mac, from Linux, that would save a lot of time. > > Thanks, > Aidan -- Clinersterton beademung, with all of love - RIP James Blish - Gaul is quartered into three halves. Things which are impossible are equal to each other. Guerrilla warfare means up to their monkey tricks. Extracts from "Schoolboy Howlers" - the collective wisdom of the foolish. - Mau e ki, he aha te mea nui? You ask, what is the most important thing? Maku e ki, he tangata, he tangata, he tangata. I reply, it is people, it is people, it is people.