[Tioga-users] Tioga problem with _Init_Font_Dictionary

Thomas Kjosmoen thomas.kjosmoen at uis.no
Fri Apr 4 05:30:47 EDT 2008


>   Hello,
>
> On Feb 19, 2008 3:48 PM, Bill Paxton <paxton at kitp.ucsb.edu> wrote:
> > I just this moment noticed that this message had been sent to me  
> rather than
> > the Tioga-Users.
>
>   (which you should have forwarded to, then ;-)...)
>
> > From: Jarimatti Valkonen <jarimatti at iki.fi>
> > Date: February 17, 2008 2:39:47 AM PST
> > To: paxton at kitp.ucsb.edu
> > Subject: Tioga problem with _Init_Font_Dictionary
> >
> >
> > Hi!
> >
> > Thanks a lot for Tioga, it really looks nice. And I'd much rather  
> make
> > pictures in Tioga than in MetaPost. However, I'm unable to run it  
> on my
> > computer (Intel MacBook, Mac OS 10.4.11). I've installed it from  
> Rubygems
> > and as far as I can tell the installation went fine. But when I'm  
> trying to
> > run tioga or ctioga I get the following error message:
> >
> > --SNIP--
> > jarimatti at hal [~]
> > (1) % tioga
> > dyld: NSLinkModule() error
> > dyld: Symbol not found: _Init_Font_Dictionary
> >   Referenced from:
> > /Users/jarimatti/Source/Ruby/gems/gems/tioga-1.7/lib/Tioga/ 
> FigureMaker.bundle
> >   Expected in: flat namespace
>
>   Ooops... We will need debugging information. Could you run
>
> ~ gdb --args =ruby =tioga
>
>   You should get a prompt there. Send us the output of the command bt
> in that prompt (along with the rest).
>
>   Could you try replacing
>
> # define INTERN __private_extern__
>
>   by
>
> # define INTERN __attribute__ ((visibility ("hidden")))
>
>   in the split/namespace.h file and recompile ? (I'm afraid I don't
> really know how to do it with Rubygems -- I could provide you with a
> modified .gem file if you prefer).
>
>   Cheers,
>
>       Vincent, who thought that these problems had definitely gone...

Since there haven't been any news on this, I'll try to follow up. I'm  
having the same problems when trying to use Tioga (r484) or 1.7 on OS  
X 10.5.2 (Leopard). Here's the whole gdb session:

--->8--->8--->8--->8--->8--->8--->8--->8--->8--->8--->8--->8--->8--- 
 >8--->8---
$>gdb --args =ruby =tioga
GNU gdb 6.3.50-20050815 (Apple version gdb-768) (Tue Oct  2 04:07:49  
UTC 2007)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and  
you are
welcome to change it and/or distribute copies of it under certain  
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for  
details.
This GDB was configured as "i386-apple-darwin"...Reading symbols for  
shared libraries .... done

(gdb) run
Starting program: /usr/bin/ruby /usr/bin/tioga
Reading symbols for shared libraries +++. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries .. done
dyld: lazy symbol binding failed: Symbol not found:  
_Init_Font_Dictionary
   Referenced from: /Library/Ruby/Gems/1.8/gems/tioga-1.7/lib/Tioga/ 
FigureMaker.bundle
   Expected in: dynamic lookup

dyld: Symbol not found: _Init_Font_Dictionary
   Referenced from: /Library/Ruby/Gems/1.8/gems/tioga-1.7/lib/Tioga/ 
FigureMaker.bundle
   Expected in: dynamic lookup


Program received signal SIGTRAP, Trace/breakpoint trap.
0x8fe01045 in __dyld_dyld_fatal_error ()
(gdb) bt
#0  0x8fe01045 in __dyld_dyld_fatal_error ()
#1  0x8fe06fa7 in __dyld__ZN4dyld14bindLazySymbolEPK11mach_headerPm ()
#2  0x8fe18b6f in __dyld_stub_binding_helper_interface2 ()
#3  0x001839bc in Init_FigureMaker ()
#4  0x000cc808 in dln_load ()
#5  0x000e6de1 in rb_require_safe ()
#6  0x000da18c in rb_eval_string_wrap ()
#7  0x000dad6a in rb_eval_string_wrap ()
#8  0x000d80da in rb_eval_string_wrap ()
#9  0x000d7541 in rb_eval_string_wrap ()
#10 0x000da95f in rb_eval_string_wrap ()
#11 0x000dad6a in rb_eval_string_wrap ()
#12 0x000d80da in rb_eval_string_wrap ()
#13 0x000e672d in rb_load ()
#14 0x000e6d8e in rb_require_safe ()
#15 0x000da18c in rb_eval_string_wrap ()
#16 0x000dad6a in rb_eval_string_wrap ()
#17 0x000d80da in rb_eval_string_wrap ()
#18 0x000d7541 in rb_eval_string_wrap ()
#19 0x000da95f in rb_eval_string_wrap ()
#20 0x000dad6a in rb_eval_string_wrap ()
#21 0x000d80da in rb_eval_string_wrap ()
#22 0x000e672d in rb_load ()
#23 0x000e6d8e in rb_require_safe ()
#24 0x000da18c in rb_eval_string_wrap ()
#25 0x000dad6a in rb_eval_string_wrap ()
#26 0x000d80da in rb_eval_string_wrap ()
#27 0x000d7541 in rb_eval_string_wrap ()
#28 0x000da95f in rb_eval_string_wrap ()
#29 0x000dad6a in rb_eval_string_wrap ()
#30 0x000d80da in rb_eval_string_wrap ()
#31 0x000e672d in rb_load ()
#32 0x000e6d8e in rb_require_safe ()
#33 0x000da18c in rb_eval_string_wrap ()
#34 0x000dad6a in rb_eval_string_wrap ()
#35 0x000d80da in rb_eval_string_wrap ()
#36 0x000d7541 in rb_eval_string_wrap ()
#37 0x000da95f in rb_eval_string_wrap ()
#38 0x000dad6a in rb_eval_string_wrap ()
#39 0x000d80da in rb_eval_string_wrap ()
#40 0x000e672d in rb_load ()
#41 0x000e6926 in rb_load ()
#42 0x000d1057 in rb_with_disable_interrupt ()
#43 0x000da18c in rb_eval_string_wrap ()
#44 0x000dad6a in rb_eval_string_wrap ()
#45 0x000d80da in rb_eval_string_wrap ()
#46 0x000e706e in rb_load_protect ()
#47 0x000e709f in ruby_exec ()
#48 0x000e70cb in ruby_run ()
#49 0x00001fff in main ()
---8 
< 
---8 
<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---

When trying to make your change to the namespace.h file, gem install  
fails with the following message:

--->8--->8--->8--->8--->8--->8--->8--->8--->8--->8--->8--->8--->8--- 
 >8--->8---
$> gem install tioga-1.7.gem
Building native extensions.  This could take a while...
ERROR:  Error installing tioga-1.7.gem:
	ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby  
extconf.rb install tioga-1.7.gem
creating Makefile

make
Makefile:219: warning: overriding commands for target `/Library/Ruby/ 
Gems/1.8/gems/tioga-1.7/lib/Tioga'
Makefile:217: warning: ignoring old commands for target `/Library/Ruby/ 
Gems/1.8/gems/tioga-1.7/lib/Tioga'
gcc -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/ 
lib/ruby/1.8/universal-darwin9.0 -I/System/Library/Frameworks/ 
Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I.  - 
fno-common -arch ppc -arch i386 -Os -pipe -fno-common  -c figures.c
gcc -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/ 
lib/ruby/1.8/universal-darwin9.0 -I/System/Library/Frameworks/ 
Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I.  - 
fno-common -arch ppc -arch i386 -Os -pipe -fno-common  -c generic.c
gcc -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/ 
lib/ruby/1.8/universal-darwin9.0 -I/System/Library/Frameworks/ 
Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I.  - 
fno-common -arch ppc -arch i386 -Os -pipe -fno-common  -c init.c
gcc -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/ 
lib/ruby/1.8/universal-darwin9.0 -I/System/Library/Frameworks/ 
Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I.  - 
fno-common -arch ppc -arch i386 -Os -pipe -fno-common  -c wrappers.c
cc -arch ppc -arch i386 -pipe -bundle -undefined dynamic_lookup -o  
FigureMaker.bundle figures.o generic.o init.o wrappers.o -L"." -L"/ 
System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib" -L. - 
arch ppc -arch i386    -lruby  -lpthread -ldl -lm
ld: duplicate symbol _Dvector_Data_for_Read in generic.o and figures.o
  for architecture i386
collect2: ld returned 1 exit status
ld: duplicate symbol _Dvector_Data_for_Read in generic.o and figures.o
  for architecture ppc
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//cc6LoMaF.out (No such file or  
directory)
make: *** [FigureMaker.bundle] Error 1


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/ 
tioga-1.7 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/tioga-1.7/split/Tioga/ 
gem_make.out
---8 
< 
---8 
<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---

I hope this has been useful and that you can find a solution. I  
really, really want to use Tioga ;-)

--Thomas


More information about the Tioga-users mailing list