public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory
@ 2010-11-17  7:04 Joost.VandeVondele at pci dot uzh.ch
  2010-11-17  7:23 ` [Bug driver/46516] " Joost.VandeVondele at pci dot uzh.ch
                   ` (18 more replies)
  0 siblings, 19 replies; 20+ messages in thread
From: Joost.VandeVondele at pci dot uzh.ch @ 2010-11-17  7:04 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

           Summary: gfortran-trunk: error: libgfortran.spec: No such file
                    or directory
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: driver
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: Joost.VandeVondele@pci.uzh.ch


For my build, new trunk fails to compile anything like this:

> gfortran-trunk -v t.f90
Driving: gfortran-trunk -v t.f90 -l gfortran -l m -shared-libgcc
-specs=libgfortran.spec
Using built-in specs.
Reading specs from libgfortran.spec
gfortran-trunk: error: libgfortran.spec: No such file or directory

The spec file, however is installed as part of the build:

/data/vondele/gcc_bench/gcc_trunk/build/lib64/libgfortran.spec

and that directory is also in the path, if it matters.

> echo $LD_LIBRARY_PATH
/data/vondele/gcc_bench/libs/:/data/vondele/gcc_bench/mkl:/data/vondele/gcc_bench/gcc_trunk/build/lib64:/data/vondele/gcc_bench/gcc_trunk/build/lib:/usr/lib64/mpi/gcc/openmpi/lib64


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] gfortran-trunk: error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
@ 2010-11-17  7:23 ` Joost.VandeVondele at pci dot uzh.ch
  2010-11-17  7:25 ` burnus at gcc dot gnu.org
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Joost.VandeVondele at pci dot uzh.ch @ 2010-11-17  7:23 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #1 from Joost VandeVondele <Joost.VandeVondele at pci dot uzh.ch> 2010-11-17 07:03:53 UTC ---
just for reference, this is the configure line

/data/vondele/gcc_bench/gcc_trunk/gcc/configure
--prefix=/data/vondele/gcc_bench/gcc_trunk/build
--enable-languages=c,c++,fortran --program-suffix=-trunk --disable-multilib
--disable-bootstrap --with-gmp=/data/vondele/gcc_bench/libs/
--with-mpfr=/data/vondele/gcc_bench/libs/
--with-mpc=/data/vondele/gcc_bench/libs/


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] gfortran-trunk: error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
  2010-11-17  7:23 ` [Bug driver/46516] " Joost.VandeVondele at pci dot uzh.ch
@ 2010-11-17  7:25 ` burnus at gcc dot gnu.org
  2010-11-17  7:39 ` burnus at gcc dot gnu.org
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-17  7:25 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fxcoudert at gcc dot
                   |                            |gnu.org

--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-17 07:22:40 UTC ---
As work around, you can add
  -L /data/vondele/gcc_bench/gcc_trunk/build/lib64
to the compilation.

The question is: Why doesn't it work for you but for others?

Can you do some debugging? The file is searched for in passed "-L" via
gcc/fortran/gfortranspec.c's find_spec_file which is called by
lang_specific_driver.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] gfortran-trunk: error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
  2010-11-17  7:23 ` [Bug driver/46516] " Joost.VandeVondele at pci dot uzh.ch
  2010-11-17  7:25 ` burnus at gcc dot gnu.org
@ 2010-11-17  7:39 ` burnus at gcc dot gnu.org
  2010-11-17  8:03 ` fxcoudert at gcc dot gnu.org
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-17  7:39 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-17 07:25:33 UTC ---
(In reply to comment #2)
> Can you do some debugging? The file is searched for in passed "-L" via
> gcc/fortran/gfortranspec.c's find_spec_file which is called by
> lang_specific_driver.

(The following got lost:) ... and the actual loading - also if no explicit
"-L<path>" has been passed - happens in gcc/gcc.c's read_specs


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] gfortran-trunk: error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (2 preceding siblings ...)
  2010-11-17  7:39 ` burnus at gcc dot gnu.org
@ 2010-11-17  8:03 ` fxcoudert at gcc dot gnu.org
  2010-11-17  8:20 ` Joost.VandeVondele at pci dot uzh.ch
                   ` (14 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: fxcoudert at gcc dot gnu.org @ 2010-11-17  8:03 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #4 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> 2010-11-17 07:44:00 UTC ---
I suppose it's the --disable-multilib, but I don't know why.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] gfortran-trunk: error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (3 preceding siblings ...)
  2010-11-17  8:03 ` fxcoudert at gcc dot gnu.org
@ 2010-11-17  8:20 ` Joost.VandeVondele at pci dot uzh.ch
  2010-11-17  8:23 ` burnus at gcc dot gnu.org
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Joost.VandeVondele at pci dot uzh.ch @ 2010-11-17  8:20 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #5 from Joost VandeVondele <Joost.VandeVondele at pci dot uzh.ch> 2010-11-17 08:02:53 UTC ---
(In reply to comment #4)
> I suppose it's the --disable-multilib, but I don't know why.

Yes, it is certainly this. The driver seems to search only in the lib directory
and not in the lib64 directory. If I copy the spec file from lib64 to lib it
works.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] gfortran-trunk: error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (4 preceding siblings ...)
  2010-11-17  8:20 ` Joost.VandeVondele at pci dot uzh.ch
@ 2010-11-17  8:23 ` burnus at gcc dot gnu.org
  2010-11-17  8:31 ` [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran " burnus at gcc dot gnu.org
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-17  8:23 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-17 08:20:07 UTC ---
(In reply to comment #5)
> (In reply to comment #4)
> > I suppose it's the --disable-multilib, but I don't know why.
> 
> Yes, it is certainly this. The driver seems to search only in the lib directory
> and not in the lib64 directory. If I copy the spec file from lib64 to lib it
> works.

What's the content of the $BUILD/gcc/multilib.h file? In particular the
multilib_raw one? Here, it is (x86-64-linux with multilib):

static const char *const multilib_raw[] = {
". !m64 !m32;",
"64:../lib64 m64 !m32;",
"32:../lib !m64 m32;",
NULL
};


I fear that the current multilib support assumes that the path only has a
suffix if one has multilib enabled; cf. gcc.c's for_each_path which is called
by find_a_file. It seems to search without multilib in, e.g.
 /usr/lib
and with multilib in
 /usr/lib/../lib64  for -m64
 /usr/lib/../lib    for -m32
 /usr/lib/.         for neither -m32 nor -m64 (does this ever happen?)

I think that was a good assumption before the 64bit support on x86-64 was
added; there, old programs (with /usr/lib) should continue to work thus the
64bit libs where placed at a non-default directory: /usr/lib64.
(For all above: Analogously for "/usr/local/lib" and $PREFIX/lib etc.)

Hence, I am interested how a --disable-multilib $BUILD/gcc/multilib.h looks
like.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (5 preceding siblings ...)
  2010-11-17  8:23 ` burnus at gcc dot gnu.org
@ 2010-11-17  8:31 ` burnus at gcc dot gnu.org
  2010-11-17  8:46 ` burnus at gcc dot gnu.org
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-17  8:31 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |x86_64-unknown-linux-gnu
               Host|                            |x86_64-unknown-linux-gnu
   Target Milestone|---                         |4.6.0
            Summary|gfortran-trunk: error:      |Non-multilib search problem
                   |libgfortran.spec: No such   |in gcc.c / gfortran error:
                   |file or directory           |libgfortran.spec: No such
                   |                            |file or directory
              Build|                            |x86_64-unknown-linux-gnu


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (6 preceding siblings ...)
  2010-11-17  8:31 ` [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran " burnus at gcc dot gnu.org
@ 2010-11-17  8:46 ` burnus at gcc dot gnu.org
  2010-11-17  8:50 ` Joost.VandeVondele at pci dot uzh.ch
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-17  8:46 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |joseph at codesourcery dot
                   |                            |com

--- Comment #7 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-17 08:31:06 UTC ---
CC Joseph, who - after Alan Modra in 2005 (for PR 20425) - seems to be the only
one who has ever touched gcc.c's multilib.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (7 preceding siblings ...)
  2010-11-17  8:46 ` burnus at gcc dot gnu.org
@ 2010-11-17  8:50 ` Joost.VandeVondele at pci dot uzh.ch
  2010-11-17  9:27 ` Joost.VandeVondele at pci dot uzh.ch
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Joost.VandeVondele at pci dot uzh.ch @ 2010-11-17  8:50 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #8 from Joost VandeVondele <Joost.VandeVondele at pci dot uzh.ch> 2010-11-17 08:46:11 UTC ---
mine look like:

static const char *const multilib_raw[] = {
". !m64 !m32;",
".:../lib64 m64 !m32;",
".:../lib !m64 m32;",
NULL
};

however, I just observe that the libgomp.spec are causing no problems in my
build.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (8 preceding siblings ...)
  2010-11-17  8:50 ` Joost.VandeVondele at pci dot uzh.ch
@ 2010-11-17  9:27 ` Joost.VandeVondele at pci dot uzh.ch
  2010-11-17  9:33 ` burnus at gcc dot gnu.org
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: Joost.VandeVondele at pci dot uzh.ch @ 2010-11-17  9:27 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #9 from Joost VandeVondele <Joost.VandeVondele at pci dot uzh.ch> 2010-11-17 08:50:06 UTC ---
FYI, with strace I see following things being searched for the specs:

access("/data/vondele/gcc_bench/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/",
X_OK) = 0
access("/data/vondele/gcc_bench/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/",
X_OK) = 0
access("/data/vondele/gcc_bench/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/specs",
R_OK) = -1 E
NOENT (No such file or directory)
access("/data/vondele/gcc_bench/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-u
nknown-linux-gnu/lib/x86_64-unknown-linux-gnu/4.6.0/specs", R_OK) = -1 ENOENT
(No such file or directory)
access("/data/vondele/gcc_bench/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-u
nknown-linux-gnu/lib/specs", R_OK) = -1 ENOENT (No such file or directory)
access("/data/vondele/gcc_bench/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/specs",
R_OK) = -1 ENOENT                                                             
(No such file or directory)
access("/data/vondele/gcc_bench/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/",
X_OK) = 0
access("/data/vondele/gcc_bench/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/libgfortran.spec",
R                                                             _OK) = -1 ENOENT
(No such file or directory)
access("/data/vondele/gcc_bench/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-u
                                                           
nknown-linux-gnu/lib/x86_64-unknown-linux-gnu/4.6.0/libgfortran.spec", R_OK) =
-1 ENOENT (No such file or d                                                   
         irectory)
access("/data/vondele/gcc_bench/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-u
                                                           
nknown-linux-gnu/lib/libgfortran.spec", R_OK) = -1 ENOENT (No such file or
directory)
access("/data/vondele/gcc_bench/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../x86_64-unkn
                                                           
own-linux-gnu/4.6.0/libgfortran.spec", R_OK) = -1 ENOENT (No such file or
directory)
access("/data/vondele/gcc_bench/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../libgfortran
                                                            .spec", R_OK) = -1
ENOENT (No such file or directory)
access("/lib/x86_64-unknown-linux-gnu/4.6.0/libgfortran.spec", R_OK) = -1
ENOENT (No such file or directory                                              
              )
access("/lib/libgfortran.spec", R_OK)   = -1 ENOENT (No such file or directory)
access("/usr/lib/x86_64-unknown-linux-gnu/4.6.0/libgfortran.spec", R_OK) = -1
ENOENT (No such file or direc                                                  
          tory)
access("/usr/lib/libgfortran.spec", R_OK) = -1 ENOENT (No such file or
directory)
open("libgfortran.spec", O_RDONLY)      = -1 ENOENT (No such file or directory)


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (9 preceding siblings ...)
  2010-11-17  9:27 ` Joost.VandeVondele at pci dot uzh.ch
@ 2010-11-17  9:33 ` burnus at gcc dot gnu.org
  2010-11-17  9:45 ` burnus at gcc dot gnu.org
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-17  9:33 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #10 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-17 09:27:21 UTC ---
(In reply to comment #8)
> however, I just observe that the libgomp.spec are causing no problems in my
> build.

Are they actually read? Even here, where I use multilib and the gfortran.spec
is found, I do not see that the libgomp.spec is read - at least I do not see a
line like:
  Reading specs from ... libgomp.spec
unless I explicitly pass '-specs=libgomp.spec' to the driver.

My impression is that libgomp.spec should be read if found, otherwise the
defaults are used. But seemingly, it is never read - also strace does not show
anything.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (10 preceding siblings ...)
  2010-11-17  9:33 ` burnus at gcc dot gnu.org
@ 2010-11-17  9:45 ` burnus at gcc dot gnu.org
  2010-11-17 11:57 ` joseph at codesourcery dot com
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-17  9:45 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #11 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-17 09:40:52 UTC ---
(In reply to comment #10)
> Are they actually read?

Sorry, I tested wrongly. One needs to have both -fopenmp *and* one needs to
link. Then I also sees "Read specs" + strace for libgomp.spec.

I think I just will bootstrap with --disable-multilib and keep silent until I
have debugged this.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (11 preceding siblings ...)
  2010-11-17  9:45 ` burnus at gcc dot gnu.org
@ 2010-11-17 11:57 ` joseph at codesourcery dot com
  2010-11-17 15:33 ` burnus at gcc dot gnu.org
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: joseph at codesourcery dot com @ 2010-11-17 11:57 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #12 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2010-11-17 11:55:29 UTC ---
In <http://gcc.gnu.org/ml/gcc-patches/2009-09/msg00826.html> I discussed 
issues relating to finding specs in the presence of multilib paths.  I 
hope this - and Nathan Froyd's patch linked from there in particular, 
which solved the libgomp.spec issue - helps provide a roadmap for 
resolving the present issue.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (12 preceding siblings ...)
  2010-11-17 11:57 ` joseph at codesourcery dot com
@ 2010-11-17 15:33 ` burnus at gcc dot gnu.org
  2010-11-17 16:26 ` burnus at gcc dot gnu.org
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-17 15:33 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #13 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-17 15:32:34 UTC ---
Some debugging: While for libgfortran.spec and libgomp.spec the call to gcc.c's
find_a_file and thus to for_each_path is the same, the global variable
multilib_os_dir is NULL for libgfortran.spec and only later for libgomp.spec
(and thus too late) it is "../lib64"



It is set in set_multilib_dir, which is too late:

main (int argc, char **argv)
{
  ...
// Get default setting, OK so far:
  specs_file = find_a_file (&startfile_prefixes, "specs", R_OK, true);


// This reads the file we want:
    /* Process DRIVER_SELF_SPECS, adding any new options to the end
     of the command line.  */
  for (i = 0; i < ARRAY_SIZE (driver_self_specs); i++)
    do_self_spec (driver_self_specs[i]);


// but ../lib64 is only set at:
  /* Now that we have the switches and the specs, set
     the subdirectory based on the options.  */
  set_multilib_dir ();


Frankly, I have no idea how to solve this interdependence.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (13 preceding siblings ...)
  2010-11-17 15:33 ` burnus at gcc dot gnu.org
@ 2010-11-17 16:26 ` burnus at gcc dot gnu.org
  2010-11-18 10:24 ` burnus at gcc dot gnu.org
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-17 16:26 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #14 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-17 16:25:56 UTC ---
Suggested solution from Joseph on #gcc:

- get rid of the spec file (hooray!)
- Add a configure test. One needs to make sure that both the compiler supports
__float128 and the libgcc library support it.

If I read the files correctly, the latter is set via
  libgcc/config.host
There is also the adjunct file
  gcc/config.gcc

I am not 100% sure whether I understood the syntax; however, there is
"t-softfp" in libgcc and soft-fp/t-softfp in gcc; I do not yet quite understand
how they relate and whether that's the correct information; in any case, it is
not sufficient as "t-softfp" is also present for PowerPC, which has a hardware
128-bit FP type.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (14 preceding siblings ...)
  2010-11-17 16:26 ` burnus at gcc dot gnu.org
@ 2010-11-18 10:24 ` burnus at gcc dot gnu.org
  2010-11-18 14:40 ` burnus at gcc dot gnu.org
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-18 10:24 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2010.11.18 10:24:17
         AssignedTo|unassigned at gcc dot       |burnus at gcc dot gnu.org
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #15 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-18 10:24:17 UTC ---
Patch which gets rid of the spec file:
http://gcc.gnu.org/ml/fortran/2010-11/msg00274.html


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (15 preceding siblings ...)
  2010-11-18 10:24 ` burnus at gcc dot gnu.org
@ 2010-11-18 14:40 ` burnus at gcc dot gnu.org
  2010-11-21  8:01 ` burnus at gcc dot gnu.org
  2010-11-21  8:06 ` burnus at gcc dot gnu.org
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-18 14:40 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |NEW

--- Comment #16 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-18 14:36:00 UTC ---
We (for another group of "we") agreed that that's the wrong approach.

Current suggestion my Matz:

15:20 < richi> I wonder why/how it works for libgomp
15:21 < matz> That is included via %:include in the linker_command_spec.  That
comes after the multilib paths are ready.
15:21 < matz> But there's (currently) no hook for frontends to include anything
into link_command_spec.
[...]
15:29 < matz> Add a new (frontend-driver) macro: LANG_LINK_LIBS (or something).
 In gcc.c handle it similar to STACK_SPLIT_SPEC.  (#ifndef -> then empty).  In
fortran frontend header #define it to
'%:include(libgfortran.spec)%lib_gfortran)'.  in libgfortran.spec don't define
'lib:' but 'lib_gfortran:' (look at libgomp.spec).
15:30 < matz> Similar to STACK_SPLIT_SPEC includes adding it to
LINK_COMMAND_SPEC.
15:31 < matz> And then hack long enough until everything works.  But at least
that way libgfortran.spec will be found in the multilib dirs.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (16 preceding siblings ...)
  2010-11-18 14:40 ` burnus at gcc dot gnu.org
@ 2010-11-21  8:01 ` burnus at gcc dot gnu.org
  2010-11-21  8:06 ` burnus at gcc dot gnu.org
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-21  8:01 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

--- Comment #17 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-21 07:56:15 UTC ---
Author: burnus
Date: Sun Nov 21 07:56:12 2010
New Revision: 166998

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166998
Log:
2010-11-21  Michael Matz  <matz@suse.de>
            Tobias Burnus  <burnus@net-b.de>

        PR driver/46516
        * gfortranspec.c (lang_specific_driver,
        lang_specific_pre_link): Load libgfortran.spec in
        lang_specific_pre_link unless found in the -L path.


Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/gfortranspec.c


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran error: libgfortran.spec: No such file or directory
  2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
                   ` (17 preceding siblings ...)
  2010-11-21  8:01 ` burnus at gcc dot gnu.org
@ 2010-11-21  8:06 ` burnus at gcc dot gnu.org
  18 siblings, 0 replies; 20+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-21  8:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46516

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #18 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-21 08:02:53 UTC ---
FIXED on the trunk (4.6), hopefully.

Thanks for the report.


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2010-11-21  8:03 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-17  7:04 [Bug driver/46516] New: gfortran-trunk: error: libgfortran.spec: No such file or directory Joost.VandeVondele at pci dot uzh.ch
2010-11-17  7:23 ` [Bug driver/46516] " Joost.VandeVondele at pci dot uzh.ch
2010-11-17  7:25 ` burnus at gcc dot gnu.org
2010-11-17  7:39 ` burnus at gcc dot gnu.org
2010-11-17  8:03 ` fxcoudert at gcc dot gnu.org
2010-11-17  8:20 ` Joost.VandeVondele at pci dot uzh.ch
2010-11-17  8:23 ` burnus at gcc dot gnu.org
2010-11-17  8:31 ` [Bug driver/46516] Non-multilib search problem in gcc.c / gfortran " burnus at gcc dot gnu.org
2010-11-17  8:46 ` burnus at gcc dot gnu.org
2010-11-17  8:50 ` Joost.VandeVondele at pci dot uzh.ch
2010-11-17  9:27 ` Joost.VandeVondele at pci dot uzh.ch
2010-11-17  9:33 ` burnus at gcc dot gnu.org
2010-11-17  9:45 ` burnus at gcc dot gnu.org
2010-11-17 11:57 ` joseph at codesourcery dot com
2010-11-17 15:33 ` burnus at gcc dot gnu.org
2010-11-17 16:26 ` burnus at gcc dot gnu.org
2010-11-18 10:24 ` burnus at gcc dot gnu.org
2010-11-18 14:40 ` burnus at gcc dot gnu.org
2010-11-21  8:01 ` burnus at gcc dot gnu.org
2010-11-21  8:06 ` burnus at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).