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 16:19:39 -0400

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




reply via email to

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