Обсуждение: ranlib bleating about dirmod.o being empty
I'm getting rather tired of reading these warning messages in OS X builds:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file:
libpgport.a(dirmod.o)has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file:
libpgport_srv.a(dirmod_srv.o)has no symbols
The reason for this warning is that dirmod.o contains no functions that
aren't Windows-specific. As such, it seems like putting it into the
list of "always compiled" port modules is really a mistake. Any
objections to switching it to be built only on Windows?
regards, tom lane
On Sun, Mar 15, 2015 at 1:58 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > I'm getting rather tired of reading these warning messages in OS X builds: > > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libpgport.a(dirmod.o)has no symbols > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libpgport_srv.a(dirmod_srv.o)has no symbols > > The reason for this warning is that dirmod.o contains no functions that > aren't Windows-specific. As such, it seems like putting it into the > list of "always compiled" port modules is really a mistake. Any > objections to switching it to be built only on Windows? +1. Thanks for changing that. -- Michael
On 3/14/15 12:58 PM, Tom Lane wrote: > I'm getting rather tired of reading these warning messages in OS X builds: > > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libpgport.a(dirmod.o)has no symbols > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libpgport_srv.a(dirmod_srv.o)has no symbols > > The reason for this warning is that dirmod.o contains no functions that > aren't Windows-specific. As such, it seems like putting it into the > list of "always compiled" port modules is really a mistake. Any > objections to switching it to be built only on Windows? It looks like ar isn't even the preferred method to build static libraries on OS X anymore. Instead, one should use libtool (not GNU libtool), which has a -no_warning_for_no_symbols option.
Peter Eisentraut <peter_e@gmx.net> writes:
> It looks like ar isn't even the preferred method to build static
> libraries on OS X anymore. Instead, one should use libtool (not GNU
> libtool), which has a -no_warning_for_no_symbols option.
I looked into this a little bit, but that option seems to be a somewhat
recent innovation; at least the libtool on my 10.6 (Snow Leopard)
buildfarm critter doesn't recognize it. We might be able to adopt it
in a couple more years when nobody cares about such old OS X releases.
In the meantime, though, reclassifying dirmod.o solves the problem
so I don't feel a need to have an argument about dropping support for
old releases.
regards, tom lane
On 3/17/15 12:51 PM, Tom Lane wrote: > Peter Eisentraut <peter_e@gmx.net> writes: >> It looks like ar isn't even the preferred method to build static >> libraries on OS X anymore. Instead, one should use libtool (not GNU >> libtool), which has a -no_warning_for_no_symbols option. > > I looked into this a little bit, but that option seems to be a somewhat > recent innovation; at least the libtool on my 10.6 (Snow Leopard) > buildfarm critter doesn't recognize it. Yeah, that's what I was unsure about.