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: Mon, 23 Sep 2013 10:32:54 -0400

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

Ben






reply via email to

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