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: Tue, 24 Sep 2013 08:03:00 -0400

On Sep 23, 2013, at 11:36 PM, Anirudha Bose wrote:

> On Tue, Sep 24, 2013 at 1:49 AM, Ben Abbott <address@hidden> wrote:
> On Sep 23, 2013, at 12:03 PM, Anirudha Bose wrote:
> 
> > 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
> 
> Thanks.  All the dependencies now build.  Unfortunately, building octave 
> fails ...
> 
> [build]    octave
> 
> Failed to build package octave!
> ------------------------------------------------------------
> collect2: ld returned 1 exit status
> make[5]: *** [dldfcn/__magick_read__.la] Error 1
> make[4]: *** [install] Error 2
> make[3]: *** [install-recursive] Error 1
> make[2]: *** [install] Error 2
> make[1]: *** [build-only-octave] Error 2
> real    29m24.419s
> user    25m6.912s
> sys     2m24.569s
> ------------------------------------------------------------
> [log]      
> /Users/bpabbott/Development/mercurial/mxe-octave-anirudha/log/octave
> 
> The log ends with ...
> 
> Undefined symbols for architecture x86_64:
>   "_FT_Init_FreeType", referenced from:
>       _RenderFreetype in 
> libGraphicsMagick.a(magick_libGraphicsMagick_la-annotate.o)
>   "_FT_New_Face", referenced from:
>       _RenderFreetype in 
> libGraphicsMagick.a(magick_libGraphicsMagick_la-annotate.o)
>   "_FT_Done_FreeType", referenced from:
>       _RenderFreetype in 
> libGraphicsMagick.a(magick_libGraphicsMagick_la-annotate.o)
>   "_FT_Set_Charmap", referenced from:
>       _RenderFreetype in 
> libGraphicsMagick.a(magick_libGraphicsMagick_la-annotate.o)
>   "_FT_Select_Charmap", referenced from:
>       _RenderFreetype in 
> libGraphicsMagick.a(magick_libGraphicsMagick_la-annotate.o)
>   "_FT_Set_Char_Size", referenced from:
>       _RenderFreetype in 
> libGraphicsMagick.a(magick_libGraphicsMagick_la-annotate.o)
> <snip></snip>
>   "_TIFFIsCODECConfigured", referenced from:
>       _WriteTIFFImage in 
> libGraphicsMagick.a(magick_libGraphicsMagick_la-tiff.o)
>   "_TIFFWriteScanline", referenced from:
>       _WriteTIFFImage in 
> libGraphicsMagick.a(magick_libGraphicsMagick_la-tiff.o)
>   "_TIFFDefaultTileSize", referenced from:
>       _WriteTIFFImage in 
> libGraphicsMagick.a(magick_libGraphicsMagick_la-tiff.o)
> ld: symbol(s) not found for architecture x86_64
> collect2: ld returned 1 exit status
> make[5]: *** [dldfcn/__magick_read__.la] Error 1
> make[4]: *** [install] Error 2
> make[3]: *** [install-recursive] Error 1
> make[2]: *** [install] Error 2
> make[1]: *** [build-only-octave] Error 2
> 
> real    29m24.419s
> user    25m6.912s
> sys     2m24.569s
> 
> Ben
> 
> 
> Ben, is your copy of repo up to date? I had pushed a changeset to fix such 
> errors in graphicsmagick. Let me know if that works for you.
> 
> - Anirudha

The top of my log is ...

changeset:   3236:9d6566d9944e
tag:         tip
user:        Anirudha Bose <address@hidden>
date:        Tue Sep 24 16:13:01 2013 +0530
summary:     Added tag GSoC_end for changeset f53543bd5dd6

changeset:   3235:f53543bd5dd6
tag:         GSoC_end
user:        Anirudha Bose <address@hidden>
date:        Tue Sep 24 01:33:33 2013 +0530
summary:     [Darwin] Copy launch_octave.sh script inside the App Bundle

changeset:   3234:f9c5235c5688
user:        Anirudha Bose <address@hidden>
date:        Tue Sep 24 00:27:28 2013 +0530
summary:     [Darwin] Determine version of Octave

changeset:   3233:36f223faf601
user:        Anirudha Bose <address@hidden>
date:        Tue Sep 24 00:05:47 2013 +0530
summary:     [Darwin] Shell script to launch and quit Octave

changeset:   3232:acec083ac83b
user:        Anirudha Bose <address@hidden>
date:        Mon Sep 23 23:42:26 2013 +0530
summary:     Enable MPC compilation

changeset:   3231:3f87daaad087
user:        Anirudha Bose <address@hidden>
date:        Mon Sep 23 23:36:59 2013 +0530
summary:     [Darwin] Enable MPFR compilation

changeset:   3230:51095550ab46
user:        Anirudha Bose <address@hidden>
date:        Mon Sep 23 21:31:56 2013 +0530
summary:     [Darwin] Remove obsolete LDFLAG -rpath during Qt compilation

changeset:   3229:92fc1c2cb975
user:        Anirudha Bose <address@hidden>
date:        Mon Sep 23 21:12:07 2013 +0530
summary:     src/readline-2-darwin.patch: Small change in Readline patch

changeset:   3228:d037848bada2
user:        Anirudha Bose <address@hidden>
date:        Mon Sep 23 02:52:01 2013 +0530
summary:     [Darwin] Fix compiling of GraphicsMagick

changeset:   3227:e51083cf2f46
user:        Anirudha Bose <address@hidden>
date:        Mon Sep 23 01:03:47 2013 +0530
summary:     src/readline-2-darwin.patch: Fix incorrectly created Readline patch

I'll followup on the other email.

Ben

reply via email to

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