you are probably right, the code in io_ompio was copied from fs_lustre (and was there for a long time), but if the solaris system does not support Lustre, it would not have shown up. The generic ufs component actually does not have that sequence. I will prepare a patch, just not sure how to test it since I do not have access to a solaris system.

Thanks
Edgar

On 1/26/2016 8:39 AM, Gilles Gouaillardet wrote:
Paul Hargrove builds all rc versions on various platforms that do include solaris.
the faulty lines were committed about 10 days ago
(use romio instead of ompio with lustre) and are not fs specific.
I can only guess several filesytems are not available on solaris, so using a Linux statfs never caused any issue.

I was just pointing to opal/util/proc.c as an example of how statfs can be replaced on Solaris. that being said, that part could be refactored so it can be simply used by ompio.

Cheers,

Gilles

On Tuesday, January 26, 2016, Edgar Gabriel <egabr...@central.uh.edu <mailto:egabr...@central.uh.edu>> wrote:

    I can look into that, but just as a note, that code is now for
    roughly 5 years in master in *all* fs components, so its not
    necessarily new (it just shows how often we compile with solaris).
    Based on what I see in the opal/util/path.c the function
    opal_path_nfs does something very similar, but I would have to
    extend on that, since I need to know *what* file system it is, not
    just *whether* it is one of the known file systems. Its however a
    hange affecting io/ompio and all fs components.

    Edgar

    On 01/26/2016 06:27 AM, Gilles Gouaillardet wrote:
    Thanks Siegmar,

    recent updates cannot work on Solaris.

    Edgar,

    you can have a look at opal/util/path.c,
    statfs "oddities" are handled here

    Cheers,

    Gilles

    On Tuesday, January 26, 2016, Siegmar Gross
    <siegmar.gr...@informatik.hs-fulda.de
    <javascript:_e(%7B%7D,'cvml','siegmar.gr...@informatik.hs-fulda.de');>>
    wrote:

        Hi,

        yesterday I tried to build openmpi-v2.x-dev-1020-ge2a53b3 on my
        machines (Solaris 10 Sparc, Solaris 10 x86_64, and openSUSE Linux
        12.1 x86_64) with gcc-5.1.0 and Sun C 5.13. I was successful on
        my Linux machine, but I got the following errors on both Solaris
        platforms.



        tyr openmpi-v2.x-dev-1020-ge2a53b3-SunOS.sparc.64_cc 33 tail
        -15 log.make.SunOS.sparc.64_cc
          CCLD mca_fs_ufs.la <http://mca_fs_ufs.la>
        make[2]: Leaving directory
        
`/export2/src/openmpi-2.0.0/openmpi-v2.x-dev-1020-ge2a53b3-SunOS.sparc.64_cc/ompi/mca/fs/ufs'
        Making all in mca/io/ompio
        make[2]: Entering directory
        
`/export2/src/openmpi-2.0.0/openmpi-v2.x-dev-1020-ge2a53b3-SunOS.sparc.64_cc/ompi/mca/io/ompio'
          CC       io_ompio.lo
          CC       io_ompio_component.lo
        
"../../../../../openmpi-v2.x-dev-1020-ge2a53b3/ompi/mca/io/ompio/io_ompio_component.c",
        line 285: prototype mismatch: 2 args passed, 4 expected
        
"../../../../../openmpi-v2.x-dev-1020-ge2a53b3/ompi/mca/io/ompio/io_ompio_component.c",
        line 290: prototype mismatch: 2 args passed, 4 expected
        
"../../../../../openmpi-v2.x-dev-1020-ge2a53b3/ompi/mca/io/ompio/io_ompio_component.c",
        line 296: undefined struct/union member: f_type
        cc: acomp failed for
        
../../../../../openmpi-v2.x-dev-1020-ge2a53b3/ompi/mca/io/ompio/io_ompio_component.c
        make[2]: *** [io_ompio_component.lo] Error 1
        make[2]: Leaving directory
        
`/export2/src/openmpi-2.0.0/openmpi-v2.x-dev-1020-ge2a53b3-SunOS.sparc.64_cc/ompi/mca/io/ompio'
        make[1]: *** [all-recursive] Error 1
        make[1]: Leaving directory
        
`/export2/src/openmpi-2.0.0/openmpi-v2.x-dev-1020-ge2a53b3-SunOS.sparc.64_cc/ompi'
        make: *** [all-recursive] Error 1
        tyr openmpi-v2.x-dev-1020-ge2a53b3-SunOS.sparc.64_cc 34





        tyr openmpi-v2.x-dev-1020-ge2a53b3-SunOS.sparc.64_gcc 37 tail
        -29 log.make.SunOS.sparc.64_gcc
          CCLD mca_fs_ufs.la <http://mca_fs_ufs.la>
        make[2]: Leaving directory
        
`/export2/src/openmpi-2.0.0/openmpi-v2.x-dev-1020-ge2a53b3-SunOS.sparc.64_gcc/ompi/mca/fs/ufs'
        Making all in mca/io/ompio
        make[2]: Entering directory
        
`/export2/src/openmpi-2.0.0/openmpi-v2.x-dev-1020-ge2a53b3-SunOS.sparc.64_gcc/ompi/mca/io/ompio'
          CC       io_ompio.lo
          CC       io_ompio_component.lo
        
../../../../../openmpi-v2.x-dev-1020-ge2a53b3/ompi/mca/io/ompio/io_ompio_component.c:
        In function 'file_query':
        
../../../../../openmpi-v2.x-dev-1020-ge2a53b3/ompi/mca/io/ompio/io_ompio_component.c:285:23:
        error: too few arguments to function 'statfs'
                         err = statfs (file->f_filename, &fsbuf);
                               ^
        In file included from
        
../../../../../openmpi-v2.x-dev-1020-ge2a53b3/ompi/mca/io/ompio/io_ompio_component.c:36:0:
        /usr/include/sys/statfs.h:53:5: note: declared here
         int statfs(const char *, struct statfs *, int, int);
             ^
        
../../../../../openmpi-v2.x-dev-1020-ge2a53b3/ompi/mca/io/ompio/io_ompio_component.c:290:23:
        error: too few arguments to function 'statfs'
                         err = statfs (dir, &fsbuf);
                               ^
        In file included from
        
../../../../../openmpi-v2.x-dev-1020-ge2a53b3/ompi/mca/io/ompio/io_ompio_component.c:36:0:
        /usr/include/sys/statfs.h:53:5: note: declared here
         int statfs(const char *, struct statfs *, int, int);
             ^
        
../../../../../openmpi-v2.x-dev-1020-ge2a53b3/ompi/mca/io/ompio/io_ompio_component.c:296:22:
        error: 'struct statfs' has no member named 'f_type'
                     if (fsbuf.f_type == LL_SUPER_MAGIC) {
                              ^
        make[2]: *** [io_ompio_component.lo] Error 1
        make[2]: Leaving directory
        
`/export2/src/openmpi-2.0.0/openmpi-v2.x-dev-1020-ge2a53b3-SunOS.sparc.64_gcc/ompi/mca/io/ompio'
        make[1]: *** [all-recursive] Error 1
        make[1]: Leaving directory
        
`/export2/src/openmpi-2.0.0/openmpi-v2.x-dev-1020-ge2a53b3-SunOS.sparc.64_gcc/ompi'
        make: *** [all-recursive] Error 1
        tyr openmpi-v2.x-dev-1020-ge2a53b3-SunOS.sparc.64_gcc 38


        I would be grateful if somebody can fix the problem. Thank you
        very much for any help in advance.


        Kind regards

        Siegmar
        _______________________________________________
        users mailing list
        us...@open-mpi.org
        Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
        Link to this post:
        http://www.open-mpi.org/community/lists/users/2016/01/28377.php



--
Edgar Gabriel
Associate Professor
Parallel Software Technologies Lab      http://pstl.cs.uh.edu
Department of Computer Science          University of Houston
Philip G. Hoffman Hall, Room 524        Houston, TX-77204, USA
Tel: +1 (713) 743-3857                  Fax: +1 (713) 743-3335
--

Reply via email to