[MacPorts] #38630: kerberos5: Undefined symbols: __et_list

MacPorts noreply at macports.org
Tue Apr 9 15:28:40 PDT 2013


#38630: kerberos5: Undefined symbols: __et_list
---------------------------+----------------------
  Reporter:  ryandesign@…  |      Owner:  cal@…
      Type:  defect        |     Status:  assigned
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.1.3
Resolution:                |   Keywords:  lion
      Port:  kerberos5     |
---------------------------+----------------------

Comment (by jeremy.mcmillan@…):

 I can confirm on my Lion system it is trying to build

 {{{
 cd
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_kerberos5/kerberos5/work/krb5-krb5-da9dc1b/src"
 && /usr/bin/make -j16 -w all
 }}}

 with no -L to help it find any libcom_err.dylib, especially the
 /opt/local/lib/libcom_err.dylib which I confirmed implements the missing
 __et_list symbol.

 I took a peek at the Makefile, and found it sets an interesting ld option:
 -search_paths_first. So then I looked it up and "man ld" yields this
 possibly interesting news:
 {{{
     -search_paths_first
                  This is now the default (in Xcode4 tools).  When
 processing
                  -lx the linker now searches each directory in its library
                  search paths for `libx.dylib' then `libx.a' before the
 moving
                  on to the next path in the library search path.

      -search_dylibs_first
                  Changes the searching behavior for libraries.  The
 default is
                  that when processing -lx the linker searches each
 directory
                  in its library search paths for `libx.dylib' then
 `libx.a'.
                  This option changes the behavior to first search for a
 file
                  of the form `libx.dylib' in each directory in the library
                  search path, then a file of the form `libx.a' is searched
 for
                  in the library search paths.  This option restores the
 search
                  behavior of the linker prior to Xcode4.
 }}}

 Makefile contains:
 {{{LDFLAGS = -arch x86_64 -arch i386 -Wl,-search_paths_first}}}
 Maybe I misunderstand, but the new Xcode's default linker option (set
 explicitly in the Macport, presumably to make the old Xcode llvm ld behave
 as the new one) seems to be set for searching default library paths.
 Trouble: $prefix is not defined until later in the Makefile, so I'm not
 sure how $prefix/lib should be added to the -L linker options.

-- 
Ticket URL: <https://trac.macports.org/ticket/38630#comment:2>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list