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: Anirudha Bose
Subject: Re: MXE Octave: "... has no symbols" warning under Mac OS X
Date: Mon, 23 Sep 2013 01:51:48 +0530


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

reply via email to

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