#1832: Build error
--------------------------+-------------------------------------------------
 Reporter:  JustinWyllie  |        Type:  bug   
   Status:  new           |    Priority:  normal
Milestone:                |   Component:  none  
  Version:  2.6.0         |    Severity:  medium
 Keywords:                |        Lang:        
    Patch:                |    Platform:  linux 
--------------------------+-------------------------------------------------

Comment(by doughera):

 Replying to [comment:10 JustinWyllie]:

 > nm /home/justvps1/parrot-2.8.0/blib/lib/libparrot.so | grep 't
 Parrot_confess'
 >
 > returns:
 >
 > 00063100 t Parrot_confess
 >

 That means the symbol is a local symbol, not a global one.  I think I see
 what's happening here.  I think the problem is the {{{ -fvisibility=hidden
 }}} option passed to gcc.  (See TT #1255 for what might be an earlier
 manifestation of this problem.)

 You are using gcc-3.4.6.  According to the gcc-3.4.6 docs on
 [http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/Option-Summary.html],
 gcc-3.4.6 does not accept the {{{ -fvisibility=hidden }}} option.
 However, your version appears to have been patched to accept it.  This
 confuses Parrot's configure system, which adds visibility attributes, but
 only if the gcc version is >= 4.0.

 The simplest workaround for you is probably to delete the line with {{{
 -fvisibility=hidden }}} in config/auto/warnings.pm and then re-run
 Configure.pl.

 Longer term, parrot should couple the tests for the command line option
 -fvisibility and the
 attribute((visibility("default")).

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1832#comment:11>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to