[Bug modula2/107612] New: plugin/m2rte doesn't build on Mac OS X 10.7

ro at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Nov 10 12:48:38 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107612

            Bug ID: 107612
           Summary: plugin/m2rte doesn't build on Mac OS X 10.7
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: modula2
          Assignee: gaius at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-apple-darwin11.4.2
            Target: x86_64-apple-darwin11.4.2
             Build: x86_64-apple-darwin11.4.2

Building the current devel/modula-2 branch on Mac OS X 10.7 fails building
the m2rte plugin:

* First, compilation fails

In file included from
/vol/gcc/src/hg/master/modula-2/gcc/m2/plugin/m2rte.cc:31:
/vol/gcc/src/hg/master/modula-2/gcc/intl.h:30:10: fatal error: libintl.h: No
such file or directory
   30 | #include <libintl.h>
      |          ^~~~~~~~~~~

  There's no system libintl, but the compile command lacks $(INCINTL).

  To fix this, gcc/Makefile.in needs

  INCINTL = @INCINTL@

  so $(INCINTL) can be used in gcc/m2/Make-lang.in.  Then, the current
  instances of @INCINTL@ in gcc/Makefile.in can also be replaced by $(INCINTL).

* This (done manually for now) lets the compilation succeed, but the link still
  fails:

Undefined symbols for architecture x86_64:
  "__Z13integer_zeropPK9tree_node", referenced from:
      __ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function in
m2rte.o
  "__Z13rtegraph_initv", referenced from:
      _plugin_init in m2rte.o
  "__Z15rtegraph_finishv", referenced from:
      __ZN12_GLOBAL__N_113analyse_graphEPvS0_ in m2rte.o
  "__Z15rtegraph_lookupP6gimpleP9tree_nodeb", referenced from:
      __ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function in
m2rte.o
  "__Z17rtegraph_discoverv", referenced from:
      __ZN12_GLOBAL__N_113analyse_graphEPvS0_ in m2rte.o
  "__Z17rtegraph_get_funcP7rtenode", referenced from:
      __ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function in
m2rte.o
  "__Z17tree_check_failedPK9tree_nodePKciS3_z", referenced from:
     
__ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function.cold in
m2rte.o
  "__Z23tree_class_check_failedPK9tree_node15tree_code_classPKciS4_",
referenced from:
     
__ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function.cold in
m2rte.o
  "__Z24rtegraph_externs_includeP7rtenode", referenced from:
      __ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function in
m2rte.o
  "__Z24rtegraph_include_rtscallP7rtenode", referenced from:
      __ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function in
m2rte.o
  "__Z25tree_operand_check_failediPK9tree_nodePKciS3_", referenced from:
     
__ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function.cold in
m2rte.o
  "__Z27rtegraph_candidates_includeP7rtenode", referenced from:
      __ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function in
m2rte.o
  "__Z29rtegraph_constructors_includeP7rtenode", referenced from:
      __ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function in
m2rte.o
  "__Z29rtegraph_set_current_functionP7rtenode", referenced from:
      __ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function in
m2rte.o
  "__Z29tree_int_cst_elt_check_failediiPKciS0_", referenced from:
     
__ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function.cold in
m2rte.o
  "__Z30rtegraph_include_function_callP7rtenode", referenced from:
      __ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function in
m2rte.o
 
"__Z33tree_contains_struct_check_failedPK9tree_node24tree_node_structure_enumPKciS4_",
referenced from:
     
__ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function.cold in
m2rte.o
  "__ZN8opt_pass14set_pass_paramEjb", referenced from:
      __ZTVN12_GLOBAL__N_130pass_warn_exception_inevitableE in m2rte.o
  "__ZN8opt_pass4gateEP8function", referenced from:
      __ZTVN12_GLOBAL__N_130pass_warn_exception_inevitableE in m2rte.o
  "__ZN8opt_pass5cloneEv", referenced from:
      __ZTVN12_GLOBAL__N_130pass_warn_exception_inevitableE in m2rte.o
  "__ZN8opt_passC2ERK9pass_dataPN3gcc7contextE", referenced from:
      _plugin_init in m2rte.o
  "_g", referenced from:
      _plugin_init in m2rte.o
  "_plugin_default_version_check", referenced from:
      _plugin_init in m2rte.o
  "_register_callback", referenced from:
      _plugin_init in m2rte.o
  "_tree_code_length", referenced from:
      __ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function in
m2rte.o
  "_tree_code_type", referenced from:
      __ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function in
m2rte.o
  "_tree_contains_struct", referenced from:
      __ZN12_GLOBAL__N_130pass_warn_exception_inevitable7executeEP8function in
m2rte.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make: *** [plugin/m2rte.so] Error 1

  For one, the plugin may need to be linked with $(LIBINTL) (or not, don't
  know for certain).  Besides, according to
gcc/testsuite/lib/plugin-support.exp,
  the link needs to add -undefined dynamic_lookup


More information about the Gcc-bugs mailing list