[MacPorts] #71304: xercesc3 @3.3.0: Ports using libxerces-c-3.3.dylib fail: symbol not found in flat namespace '_xercesc_messages_3_2_dat' (was: xalanc: build failure with xercesc3 at 3.3.0)

MacPorts noreply at macports.org
Thu Nov 14 01:37:49 UTC 2024


#71304: xercesc3 @3.3.0: Ports using libxerces-c-3.3.dylib fail: symbol not found
in flat namespace '_xercesc_messages_3_2_dat'
------------------------+--------------------
  Reporter:  matty0ung  |      Owner:  (none)
      Type:  defect     |     Status:  new
  Priority:  Normal     |  Milestone:
 Component:  ports      |    Version:  2.10.4
Resolution:             |   Keywords:
      Port:  xercesc3   |
------------------------+--------------------
Changes (by ryandesign):

 * version:   => 2.10.4
 * port:  xalanc => xercesc3


Comment:

 I am able to reproduce the xalanc build failure but I now think this is a
 bug in xercesc3 @3.3.0 because other ports fail with the same message. nco
 for example fails to configure; its config.log says:

 {{{
 configure:5274: checking whether we are cross compiling
 configure:5282: ccache /usr/bin/clang -o conftest -pipe -Os
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch
 x86_64 -I/opt/local/include -I/opt/local/include/udunits2
 -I/opt/local/include -DENABLE_NETCDF4
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
 -L/opt/local/lib -Wl,-headerpad_max_install_names -lxerces-c
 -Wl,-rpath,/opt/local/lib/libgcc
 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
 -arch x86_64 conftest.c  >&5
 configure:5286: $? = 0
 configure:5293: ./conftest
 dyld[5155]: symbol not found in flat namespace (_xercesc_messages_3_2_dat)
 ./configure: line 5295:  5155 Abort trap: 6
 ./conftest$ac_cv_exeext
 configure:5297: $? = 134
 configure:5304: error: in
 '/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_science_nco/nco/work/nco-5.2.9':
 configure:5306: error: cannot run C compiled programs.
 }}}

 enigma builds and installs but it fails to run:

 {{{
 % enigma
 dyld[17071]: symbol not found in flat namespace
 (_xercesc_messages_3_2_dat)
 zsh: abort      enigma
 }}}

 I believe the problem is in the file
 src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp which says:

 {{{#!c
 /*
  *  Resource Data Reference.
  *
  *  The data is packaged as a dll (or .so or whatever, depending on the
 platform) that exports a data symbol.
  *  The application (this *.cpp) references that symbol here, and will
 pass the data address to ICU, which
  *  will then  be able to fetch resources from the data.
  */
 #define ENTRY_POINT xercesc_messages_3_2_dat
 #define BUNDLE_NAME "xercesc_messages_3_2"
 }}}

 Surely for version 3.3.0 that should be `3_3` not `3_2`.

-- 
Ticket URL: <https://trac.macports.org/ticket/71304#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list