Ticket #805 (closed bug: fixed)

Opened 13 years ago

Last modified 13 years ago

Undefined reference error upon building on Windows

Reported by: MoC Owned by: fperrad
Priority: major Milestone:
Component: configure Version: trunk
Severity: medium Keywords:
Cc: Language:
Patch status: Platform: win32


When I try to build Parrot on Windows XP with MinGW GCC 4.4 + latest binutils, etc. and Perl 5.10, mingw32-make exits with undefined reference errors as stated in the attached error log.

After running Configure.pl include/parrot/config.h includes the following directives:

#if defined(__cplusplus)
#define PARROT_DYNEXT_EXPORT extern "C" __attribute__ ((visibility("default")))
#define PARROT_DYNEXT_EXPORT __attribute__ ((visibility("default")))

If I replace __attribute__ ((visibility("default"))) with __declspec(dllexport) it will compile just fine. mingw32-make smoke gives the following results:  http://smolder.plusthree.com/app/public_projects/report_details/24420. ( http://gcc.gnu.org/wiki/Visibility provides more information about this issue, though I'm still confused as it looks like those two statements should be equivalent?)

Since I'm almost a complete Parrot newbie I can't exactly tell if the 3 failures are related to my change as I don't know (yet) if the tests make use of any routines defined within dynlexpad.c. If I should provide more information please let me know, as said before I don't really comprehend Parrots structure yet and don't know wether there is a way to get more sufficient logs.


ErrorLog.txt Download (1.1 KB) - added by MoC 13 years ago.
Errors during mingw32-make

Change History

Changed 13 years ago by MoC

Errors during mingw32-make

Changed 13 years ago by fperrad

  • status changed from new to assigned
  • owner set to fperrad

Changed 13 years ago by jkeenan

Point of information: There was some discussion of __attribute__ ((visibility("default"))) in  as-yet-unresolved RT #62010.

Changed 13 years ago by fperrad

fixed in r39870

Changed 13 years ago by fperrad

  • status changed from assigned to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.