octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MXE Octave: "... has no symbols" warning under Mac OS X


From: Ben Abbott
Subject: Re: MXE Octave: "... has no symbols" warning under Mac OS X
Date: Sun, 22 Sep 2013 17:09:16 -0400

On Sep 22, 2013, at 4:21 PM, Anirudha Bose wrote:

> On Mon, Sep 23, 2013 at 1:31 AM, Ben Abbott <address@hidden> wrote:
> 
>> On Sep 22, 2013, at 1:45 PM, c. wrote:
>> 
>> >
>> > On 22 Sep 2013, at 18:48, Anirudha Bose <address@hidden> wrote:
>> >
>> >>
>> >> On Sun, Sep 22, 2013 at 7:14 PM, Ben Abbott <address@hidden> wrote:
>> >>
>> >> On Sep 22, 2013, at 2:05 AM, Anirudha Bose wrote:
>> >>
>> >>>
>> >>> On Sun, Sep 22, 2013 at 5:22 AM, Benjamin Abbott <address@hidden> wrote:
>> >>> On Sep 21, 2013, at 3:33 PM, Anirudha Bose <address@hidden> wrote:
>> >>>
>> >>>> On Sun, Sep 22, 2013 at 12:44 AM, Ben Abbott <address@hidden> wrote:
>> >>>> On Sep 21, 2013, at 3:21 AM, Anirudha Bose wrote:
>> >>>>
>> >>>>>> Can you attempt to try to apply install_name_tool manually and then 
>> >>>>>> check the result with otool?
>> >>>>>
>> >>>>> This will be a very long process. I can try it though. Or better if I 
>> >>>>> can find some tools to automate this job. For future use should I 
>> >>>>> include your scripts in my MXE repo, so that others can try reusing 
>> >>>>> your scripts?
>> >>>>
>> >>>> If you think my scripts are the correct approach, then go ahead and 
>> >>>> commit them. However, maybe before committing my scripts to your repo, 
>> >>>> maybe its a good idea to first determine the reason my scripts aren't 
>> >>>> working for you with the MXE approach?
>> >>>>
>> >>>> The good thing about mxe-octave is that it has grown very diverse and 
>> >>>> capable of doing many things. I am not familiar with m-scripting so I 
>> >>>> will have trouble debugging your scripts. But maybe someone else can 
>> >>>> reuse your scripts to make them work with MXE. I have come up with a 
>> >>>> temporary solution in Python and I have been able to produce a working 
>> >>>> application bundle of Octave for Mac OS X. I have committed all the 
>> >>>> scripts to my repo since it will be handy to have them all at one place.
>> >>>
>> >>> I'll pulled a copy of you repo.  I haven't used mxe before.  What 
>> >>> commands are needed to produce a MacOSX app?
>> >>>
>> >>> Hi Ben.
>> >>>
>> >>> Here are the steps for compiling Octave from MXE.
>> >>> 1. Check the requirements for Mac OS X in the file 
>> >>> mxe-octave-anirudha/index.html#requirements.
>> >>> 2. Build Octave with the command "sudo make octave".
>> >>> 3. Make sure you have Macports version of gfortran installed in your 
>> >>> machine. I will commit a change to add gfortran in the list of 
>> >>> requirements.
>> >>> 4. If you are able to get a successful build, then you can use my script 
>> >>> mxe-octave-anirudha/darwin_files/standalone.py to rewrite the Mach-O 
>> >>> headers. Make sure you have created octave.app in the "dist" directory 
>> >>> inside mxe-octave-anirudha. You can find information on how to use 
>> >>> standalone.py is present inside the file.
>> >>>
>> >>> Let me know if you face any problems.
>> >>>
>> >>> - Anirudha
>> >>
>> >> I think I'm in need of a bit more detail.  I've cloned your repo.  Does 
>> >> your repo include all the mxe stuff and your changes?  I see a 
>> >> configure.ac and Makefile.in.  Do I start with autoconf -> configure -> 
>> >> make?  To build a Darwin app are there any specific options needed?
>> >>
>> >> Oops! Sorry for missing that out. Do autoconf -> ./configure 
>> >> --enable-native-build --enable-shared --disable-static --target=darwin 
>> >> --build=darwin --host=darwin --enable-pic-flag --enable-64 -> sudo make 
>> >> octave
>> >>
>> >> - Anirudha
>> >
>> > Anirudha,
>> >
>> > as I would also like to try building Octave binaries using your set-up, I 
>> > recently started reading
>> > this thread and your blog.
>> >
>> > I just noticed these lines in a recent post:
>> >
>> > "On a Mac OS X system, there is no special need to compile LLVM separately 
>> > because it is the default compiler present. The llvm-config utility 
>> > happens to be installed in the path 
>> > /opt/local/libexec/llvm-3.3/bin/llvm-config. I added this path in the 
>> > environment variable LLVM_CONFIG and explicitly specified the --enable-jit 
>> > option in the configure and Octave successfully compiled with JIT. Here 
>> > are the configure details."
>> >
>> > this information is incorrect.
>> >
>> > No default system libraries are installed in "/opt/local/", that is the 
>> > place where MacPorts will usually install libraries. Are you going to 
>> > require MacPorts to be installed in order to make your binay package work?
>> >
>> > I'm sorry if this had been pointed out before, as I said I just started 
>> > reading about MXE and your binaty packaging scripts.
>> >
>> > c.
>> 
>> Anirudha, I recall this being discussed some weeks ago ... but is Macports 
>> just needed to satisfy the gfortran requirement, or are there other problems 
>> using Apple's tools?
>> 
> I basically used Macports to get gfortran in Mac OS X, and some deps like 
> GhostScript. I was wondering if it is possible to specify a "--prefix" during 
> Macports installation of a package. If yes, then we can include it in our 
> MXE. This will eliminate the need for the presence of Macports gfortran in 
> the target system in order to run Octave.
> 
> Carlo's mail suggested that I had used the LLVM installed through Macports 
> (thanks to him for pointing out), which is again a limitation. I have been 
> unable to get a working llvm-config from MXE which I can use to get JIT 
> support yet. The LLVM part can be dealt later once MXE becomes capable to 
> producing a basic build. I don't really intend to use Macports LLVM in MXE.
> 
> - Anirudha

Ah ... I forgot about the Ghostscript problem.  I'm not suggesting we do so now 
... but I expect ghostscript could be built along side Octave using mxe.  I 
notice that mxe already has gcc/gfortran & llvm packages.  Perhaps it possible 
to build those using the Xcode tools and then use the mxe package to build 
Octave's dependencies? Again, I'm thinking of future improvements.

Ben




reply via email to

[Prev in Thread] Current Thread [Next in Thread]