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 21:33:16 +0530


On Mon, Sep 23, 2013 at 8:02 PM, Ben Abbott <address@hidden> wrote:

On Sep 23, 2013, at 9:37 AM, Ben Abbott wrote:

> On Sep 23, 2013, at 8:41 AM, Anirudha Bose wrote:
>
>> On Mon, Sep 23, 2013 at 5:50 PM, Ben Abbott <address@hidden> wrote:
>>
>> On Sep 22, 2013, at 11:12 PM, Anirudha Bose wrote:
>>
>>> On Mon, Sep 23, 2013 at 8:34 AM, Anirudha Bose <address@hidden> wrote:
>>>
>>> On Mon, Sep 23, 2013 at 4:11 AM, Ben Abbott <address@hidden> wrote:
>>>
>>> On Sep 22, 2013, at 5:18 PM, Anirudha Bose wrote:
>>>
>>>>
>>>> On Mon, Sep 23, 2013 at 2:41 AM, Ben Abbott <address@hidden> wrote:
>>>> On Sep 22, 2013, at 12:48 PM, Anirudha Bose 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
>>>>
>>>> I encountered an error when building bzip2. I've attached the log.  Is this something your encountered?
>>>>
>>>> Ben
>>>>
>>>> Failed to build package bzip2!
>>>> ------------------------------------------------------------
>>>> gcc -fpic -fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -c bzlib.c
>>>> gcc -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 blocksort.o huffman.o crctable.o randtable.o compress.o decompress.o bzlib.o
>>>> ld: unknown option: -soname
>>>> collect2: ld returned 1 exit status
>>>> make[2]: *** [all] Error 1
>>>> make[1]: *** [build-only-bzip2] Error 2
>>>> real    0m2.182s
>>>> user    0m1.660s
>>>> sys     0m0.336s
>>>> ------------------------------------------------------------
>>>> [log]      /Users/bpabbott/Development/mercurial/mxe-octave-anirudha/log/bzip2
>>>>
>>>>
>>>> I have pushed some patches which fix your problem. Just pull the recent changes in my repo. With the current snapshot you are using, compiling of readline, bzip2, and graphicsmagick is likely to fail.
>>>>
>>>> - Anirudha
>>>
>>> I pulled, and started fresh with "autoconf; ./configure ...", but am still encountering the same error.
>>>
>>> Failed to build package bzip2!
>>> ------------------------------------------------------------
>>> gcc -fpic -fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64 -c bzlib.c
>>> gcc -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 blocksort.o huffman.o crctable.o randtable.o compress.o decompress.o bzlib.o
>>> ld: unknown option: -soname
>>> collect2: ld returned 1 exit status
>>> make[2]: *** [all] Error 1
>>> make[1]: *** [build-only-bzip2] Error 2
>>> real    0m2.994s
>>> user    0m1.708s
>>> sys     0m0.366s
>>> ------------------------------------------------------------
>>> [log]      /Users/bpabbott/Development/mercurial/mxe-octave-anirudha/log/bzip2
>>>
>>> make: *** [/Users/bpabbott/Development/mercurial/mxe-octave-anirudha/installed-packages/bzip2] Error 1
>>>
>>> This should not happen. Can you send me the log of bzip2 in your current copy of repo? Did you use "--target=darwin" exactly while doing ./configure... ? On my system bzipp2 compiles fine.
>>
>> The commands I used were ...
>>
>> sudo make clean
>> autoconf
>> ./configure --enable-native-build --enable-shared --disable-static \
>>            --target=darwin --build=darwin --host=darwin \
>>            --enable-pic-flag --enable-64
>>
>> It seems --enable-64 doesn't work right now. It won't work until I write a patch to generate code with 8 byte signed integer value.
>>
>> sudo make octave
>>
>>> Just to be sure I'm current, my tip is below
>>>
>>> Bens-MacBook-Pro:mxe-octave-anirudha bpabbott$ hg tip
>>> changeset:   3228:d037848bada2
>>> tag:         tip
>>> user:        Anirudha Bose <address@hidden>
>>> date:        Mon Sep 23 02:52:01 2013 +0530
>>> summary:     [Darwin] Fix compiling of GraphicsMagick
>>>
>>> Ben
>>>
>>> What is the value of MXE_SYSTEM in your build? You can check that in mxe-octave-anirudha/Makefile.
>>
>> fgrep -in MXE_SYSTEM Makefile
>> 11:MXE_SYSTEM := darwin
>>
>> Iv'e attached the bzip2 log.
>>
>> Ben
>>
>> Ben, I don't find any reason why bzip2 doesn't compile on your system. I saw your logs and the only explanation I can give is that you might have forgotten to do "hg update" after doing "hg pull". Can you please check and let me know?
>
> Opps ... you deduced correctly.  bzip2 is now building fine.  However, I'm having trouble with qt4.  The download if failing.  "make" is trying to download qt-4.8.3, but I don't see it on the web site.  I do see 4.8.5
>
>       http://download.qt-project.org/official_releases/qt/4.8/
>
> Ben

I downloaded 4.8.3 from the qt archive (thanks to Michael for pointing the archive out to me).  I'm now getting the build error below.

g++ -Wl,-rpath-link,/Users/bpabbott/Development/mercurial/mxe-octave-anirudha/usr/x86_64-apple-darwin11.4.2/lib -L/Users/bpabbott/Development/mercurial/mxe-octave-anirudha/usr/x86_64-apple-darwin11.4.2/lib -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -Xarch_x86_64 -mmacosx-version-min=10.5 -o ../../../bin/moc release-shared/moc.o release-shared/preprocessor.o release-shared/generator.o release-shared/parser.o release-shared/token.o release-shared/main.o    -L/Users/bpabbott/Development/mercurial/mxe-octave-anirudha/usr/x86_64-apple-darwin11.4.2/lib -L/Users/bpabbott/Development/mercurial/mxe-octave-anirudha/tmp-qt/qt-everywhere-opensource-src-4.8.3/src/tools/bootstrap -lbootstrap -L/Users/bpabbott/Development/mercurial/mxe-octave-anirudha/usr/x86_64-apple-darwin11.4.2/lib -framework CoreServices -lz -lz
ld: unknown option: -rpath-link
collect2: ld returned 1 exit status
make[3]: *** [../../../bin/moc] Error 1
make[2]: *** [sub-moc-make_default-ordered] Error 2
make[1]: *** [build-only-qt] Error 2

 I have pushed a changeset. You should not get the above error now.

- Anirudha



reply via email to

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