bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: missing dependencies?


From: John W. Eaton
Subject: Re: missing dependencies?
Date: Mon, 8 Feb 2010 17:57:24 -0500

On  7-Feb-2010, Bruno Haible wrote:

| John W. Eaton wrote:
| > and I've received reports about the following undefined references
| > when linking:
| > 
| >   .libs/liboctave_la-lo-cutils.o:lo-cutils.c:(.text+0x4f): undefined 
reference to
| >   address@hidden'
| 
| You requested module 'gethostname', therefore GNULIB_GETHOSTNAME should have
| expanded to 1 in the generated unistd.h. Can you investigate?

Sorry, you are right.  I added the gethostname module after receiving
this problem report, so this is no longer an issue.

| >   ../libgnu/.libs/libgnu.a(error.o):error.c:(.text+0x181): undefined 
reference to `program_name'
| >   ../libgnu/.libs/libgnu.a(error.o):error.c:(.text+0x1e5): undefined 
reference to `program_name'
| 
| See the documentation:
|   
http://www.gnu.org/software/gnulib/manual/html_node/error-and-progname.html#error-and-progname
| You need to request the 'program_name' module and add a call to
| set_program_name at the beginning of the main() function of each
| program.

OK, thanks.

| >   ../libgnu/.libs/libgnu.a(fcntl.o):fcntl.c:(.text+0x53): undefined 
reference to `getdtablesize
| 
| This looks like a bug, introduced on 2009-12-16. This is a proposed fix (which
| I cannot commit right now, since something's wrong with git.savannah.gnu.org):
| 
| *** modules/fcntl.orig  Sun Feb  7 13:58:31 2010
| --- modules/fcntl       Sun Feb  7 13:56:59 2010
| ***************
| *** 8,13 ****
| --- 8,14 ----
|   Depends-on:
|   dup2
|   fcntl-h
| + getdtablesize
|   extensions
|   
|   configure.ac:

I see that this change is checked in now.  Thanks.

| > Is there a reasonably
| > easy way to track down which modules are missing these dependencies?
| 
| Yes: The linker gave you the file names. For example, in order to know to 
which
| module 'fcntl.c' belongs, you do
| 
|   $ grep -r '^lib/fcntl\.c$' modules
|   modules/fcntl:lib/fcntl.c

OK.

Thanks,

jwe




reply via email to

[Prev in Thread] Current Thread [Next in Thread]