Personal tools
You are here: Home Forum Install & build MED, does not compile

MED, does not compile

Up to Install & build
  • MED, does not compile

    Posted by Andrea Florio at January 03. 2009
    hi, here the build log:


    g++ "-DPACKAGE_NAME=\"Salome2 Project MED module\"" -DPACKAGE_TARNAME=\"salome\" -DPACKAGE_VERSION=\"4.1.4\" "-DPACKAGE_STRING=\"Salome2 Project MED module 4.1.4\"" -DPACKAGE_BUGREPORT=\"webmaster.salome@opencascade.com\" -DPACKAGE=\"salome\" -DVERSION=\"4.1.4\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_LIBDL=1 -DHAVE_LIBRT=1 -DHAVE_LIBM=1 -DHAVE_NAMESPACES= -DHAVE_PTHREAD=1 -DWITH_NUMPY= "-DF77_FUNC(name,NAME)=name ## _" "-DF77_FUNC_(name,NAME)=name ## _" -DSIZEOF_FORTRAN_INTEGER=4 -DSIZEOF_INT=4 -DYYTEXT_POINTER=1 -D__OSVERSION__=2 -DOMNIORB= -DCORBA_HAVE_POA= -DCORBA_ORB_INIT_HAVE_3_ARGS= -DCORBA_ORB_INIT_THIRD_ARG= -I. -DPCLINUX -DHAVE_SOCKET -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -O2 -g -g -D_DEBUG_ -g -Wno-deprecated -Wparentheses -Wreturn-type -Wmissing-declarations -Wunused -pthread -MT libmed_V2_1_la-MEDdatasetNumEcrire.lo -MD -MP -MF .deps/libmed_V2_1_la-MEDdatasetNumEcrire.Tpo -c MEDdatasetNumEcrire.cxx -fPIC -DPIC -o .libs/libmed_V2_1_la-MEDdatasetNumEcrire.o
    MEDdatasetNumEcrire.cxx: In function 'med_2_1::med_err med_2_1::_MEDdatasetNumEcrire(med_2_1::med_idt, char*, med_2_1::med_type_champ, med_2_1::med_mode_switch, med_2_1::med_size, med_2_1::med_size, med_2_1::med_size, med_2_1::med_ssize*, med_2_1::med_int, med_2_1::med_size*, unsigned char*, med_2_1::med_mode_acces)':
    MEDdatasetNumEcrire.cxx:214: warning: comparison between signed and unsigned integer expressions
    MEDdatasetNumEcrire.cxx:223: error: cannot convert 'const hsize_t**' to 'const hsize_t*' for argument '4' to 'herr_t H5Sselect_elements(hid_t, H5S_seloper_t, size_t, const hsize_t*)'
    MEDdatasetNumEcrire.cxx:226: error: cannot convert 'const hsize_t**' to 'const hsize_t*' for argument '4' to 'herr_t H5Sselect_elements(hid_t, H5S_seloper_t, size_t, const hsize_t*)'
    MEDdatasetNumEcrire.cxx:249: warning: comparison between signed and unsigned integer expressions
    MEDdatasetNumEcrire.cxx:258: error: cannot convert 'const hsize_t**' to 'const hsize_t*' for argument '4' to 'herr_t H5Sselect_elements(hid_t, H5S_seloper_t, size_t, const hsize_t*)'
    MEDdatasetNumEcrire.cxx:261: error: cannot convert 'const hsize_t**' to 'const hsize_t*' for argument '4' to 'herr_t H5Sselect_elements(hid_t, H5S_seloper_t, size_t, const hsize_t*)'
    MEDdatasetNumEcrire.cxx:337: warning: comparison between signed and unsigned integer expressions
    MEDdatasetNumEcrire.cxx:345: error: cannot convert 'const hsize_t**' to 'const hsize_t*' for argument '4' to 'herr_t H5Sselect_elements(hid_t, H5S_seloper_t, size_t, const hsize_t*)'
    MEDdatasetNumEcrire.cxx:376: warning: comparison between signed and unsigned integer expressions
    MEDdatasetNumEcrire.cxx:385: error: cannot convert 'const hsize_t**' to 'const hsize_t*' for argument '4' to 'herr_t H5Sselect_elements(hid_t, H5S_seloper_t, size_t, const hsize_t*)'
    MEDdatasetNumEcrire.cxx:388: error: cannot convert 'const hsize_t**' to 'const hsize_t*' for argument '4' to 'herr_t H5Sselect_elements(hid_t, H5S_seloper_t, size_t, const hsize_t*)'
    make[4]: *** [libmed_V2_1_la-MEDdatasetNumEcrire.lo] Error 1
    make[4]: Leaving directory `/usr/src/packages/BUILD/MED_SRC_4.1.4/src/MEDWrapper/V2_1/Core'
    make[3]: *** [all-recursive] Error 1
    make[3]: Leaving directory `/usr/src/packages/BUILD/MED_SRC_4.1.4/src/MEDWrapper/V2_1'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/usr/src/packages/BUILD/MED_SRC_4.1.4/src/MEDWrapper'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/usr/src/packages/BUILD/MED_SRC_4.1.4/src'
    • Re: MED, does not compile

      Posted by Andrea Florio at January 09. 2009
      anybody able to help me? if med is not available you know i cannot build several modules.

      thanks
      • Re: MED, does not compile

        Posted by Gautier Matthieu at January 09. 2009
        Hello Andrea,

        What is your version of HDF5 ?
        • Re: MED, does not compile

          Posted by Andrea Florio at January 09. 2009
          hello matthieu:

          anubis@Hp-Linux:~> rpm -qa hdf5-devel
          hdf5-devel-1.6.7-14.1

          • Re: MED, does not compile

            Posted by Gautier Matthieu at January 09. 2009
            The HDF5 api change between 1.6.4 and 1.6.7 version.

            MED is based on 1.6.4 version of hdf5.

            A path is to replace all (const hsize_t **) by (const hsize_t *) for each call to H5Sselect_elements.
            ei :
            H5Sselect_elements(memspace,H5S_SELECT_SET, pcount[0], (const hsize_t **) pflmem )
            become :
            H5Sselect_elements(memspace,H5S_SELECT_SET, pcount[0], (const hsize_t *) pflmem )
            and so on.
            • Re: MED, does not compile

              Posted by Andrea Florio at January 09. 2009
              Gautier Matthieu wrote:
              The HDF5 api change between 1.6.4 and 1.6.7 version.

              MED is based on 1.6.4 version of hdf5.

              A path is to replace all (const hsize_t **) by (const hsize_t *) for each call to H5Sselect_elements.
              ei :
              H5Sselect_elements(memspace,H5S_SELECT_SET, pcount[0], (const hsize_t **) pflmem )
              become :
              H5Sselect_elements(memspace,H5S_SELECT_SET, pcount[0], (const hsize_t *) pflmem )
              and so on.


              works fine!!
              • Re: MED, does not compile

                Posted by Andrea Florio at January 10. 2009
                hi, i still have some problems building that module... i notice it now only..so sorry...

                configure does not like my libmed

                i compiled MED-fichier 2.3.1 (the newst i found) with simple configure make make install

                i run salome-med configure and i got it:


                ---------------------------------------------
                testing MED2
                ---------------------------------------------

                checking how to get verbose linking output from gfortran... -v
                checking for Fortran 77 libraries of gfortran...  -L/usr/lib/gcc/i586-suse-linux/4.3 -L/usr/lib/gcc/i586-suse-linux/4.3/../../../../i586-suse-linux/lib -L/usr/lib/gcc/i586-suse-linux/4.3/../../.. -lgfortranbegin -lgfortran -lm -lrt -ldl
                checking for dummy main to link with Fortran 77 libraries... none
                checking for Fortran 77 name-mangling scheme... lower case, underscore, no extra underscore
                checking size of Fortran integer... 4
                checking for int... yes
                checking size of int... 4
                configure: checking for MED2...
                configure: WARNING: undefined MED2HOME variable which specify med2 installation directory
                checking for mdump... /usr/bin/mdump
                checking med.h usability... yes
                checking med.h presence... yes
                checking for med.h... yes
                checking for MEDouvrir in -lmed... no
                for med2: no


                did i miss something on configure? i don't think so because i checked libmed.a file (the only one i can check, is a tar file ;) )

                and MEDouvrir looks to exist:

                anubis@Hp-Linux:~/Desktop/libmed> ls | grep MEDouvrir
                MEDouvrir.o


                so... what's wrong?
                • Re: MED, does not compile

                  Posted by Gautier Matthieu at January 12. 2009
                  Hello Andrea,

                  What is the result of :
                  nm libmed.so | grep MEDouvrir

                  You can download med-2.3.4 on the Code_Aster site http://www.code-aster.org/V2/spip.php?article102

                  I know it is really tricky to find it :)

                  • Re: MED, does not compile

                    Posted by Andrea Florio at January 12. 2009
                    thanks for link.. btw:

                    is that output useful?

                    anubis@Hp-Linux:~> nm /usr/lib/libmed.so | grep MEDouvrir
                    nm: /usr/lib/libmed.so: no symbols
                    anubis@Hp-Linux:~> nm /usr/lib/libmed.so
                    nm: /usr/lib/libmed.so: no symbols
                    anubis@Hp-Linux:~> locate libmed | grep /usr/lib
                    /usr/lib/gnome-settings-daemon-2.0/libmedia-keys.so
                    /usr/lib/libmed.a
                    /usr/lib/libmed.la
                    /usr/lib/libmed.so
                    /usr/lib/libmed.so.1
                    /usr/lib/libmed.so.1.1.1
                    /usr/lib/libmedC.a
                    /usr/lib/libmedC.la
                    /usr/lib/libmedC.so
                    /usr/lib/libmedC.so.1
                    /usr/lib/libmedC.so.1.1.1
                    anubis@Hp-Linux:~> cd /usr/lib/
                    anubis@Hp-Linux:/usr/lib> ls -lsa | grep libmed
                     1248 -rw-r--r--   1 root root   1272632 10 gen 18:26 libmed.a
                      992 -rw-r--r--   1 root root   1008940 10 gen 18:26 libmedC.a
                        4 -rwxr-xr-x   1 root root       816 10 gen 18:26 libmedC.la
                        0 lrwxrwxrwx   1 root root        16 11 gen 00:28 libmedC.so -> libmedC.so.1.1.1
                        0 lrwxrwxrwx   1 root root        16 11 gen 00:28 libmedC.so.1 -> libmedC.so.1.1.1
                      108 -rwxr-xr-x   1 root root    104076 10 gen 18:26 libmedC.so.1.1.1
                        4 -rwxr-xr-x   1 root root       994 10 gen 18:26 libmed.la
                        0 lrwxrwxrwx   1 root root        15 11 gen 00:29 libmed.so -> libmed.so.1.1.1
                        0 lrwxrwxrwx   1 root root        15 11 gen 00:27 libmed.so.1 -> libmed.so.1.1.1
                      156 -rwxr-xr-x   1 root root    151748 10 gen 18:26 libmed.so.1.1.1
                    anubis@Hp-Linux:~> nm /usr/lib/libmed.so.1.1.1
                    nm: /usr/lib/libmed.so.1.1.1: no symbols
                    anubis@Hp-Linux:~> nm /usr/lib/libmed.a | grep MEDouvrir
                    MEDouvrir.o:
                    00000000 T MEDouvrir
                             U MEDouvrir


                    • Re: MED, does not compile

                      Posted by Gautier Matthieu at January 12. 2009
                      your med is not compiled with debug informations so libmed.so doesn't contain symbol table. Output of nm is normal.

                      Can you give me your config.log and config.status ?
                      • Re: MED, does not compile

                        Posted by Andrea Florio at January 12. 2009
                        upgrading to last med version the problem has been fixed ;)
                        • Re: MED, does not compile

                          Posted by Andrea Florio at January 13. 2009
                          i still have to have some problems with that modules.


                          g++ -DPACKAGE_NAME=\"Salome2\ Project\ MED\ module\" -DPACKAGE_TARNAME=\"salome\" -DPACKAGE_VERSION=\"4.1.4\" -DPACKAGE_STRING=\"Salome2\ Project\ MED\ module\ 4.1.4\" -DPACKAGE_BUGREPORT=\"webmaster.salome@opencascade.com\" -DPACKAGE=\"salome\" -DVERSION=\"4.1.4\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_LIBDL=1 -DHAVE_LIBRT=1 -DHAVE_LIBM=1 -DHAVE_NAMESPACES= -DHAVE_PTHREAD=1 -DWITH_NUMPY= -DF77_FUNC\(name,NAME\)=name\ ##\ _ -DF77_FUNC_\(name,NAME\)=name\ ##\ _ -DSIZEOF_FORTRAN_INTEGER=4 -DSIZEOF_INT=4 -DYYTEXT_POINTER=1 -D__OSVERSION__=2 -DOMNIORB= -DCORBA_HAVE_POA= -DCORBA_ORB_INIT_HAVE_3_ARGS= -DCORBA_ORB_INIT_THIRD_ARG= -I.  -DPCLINUX  -I/usr/include   -ftemplate-depth-42 -I./../MEDWrapper/Base -I./../MEDWrapper/V2_1/Core -I./../INTERPOLATION -I./../MEDMEM -I/opt/SALOME/include/salome -DHAVE_SOCKET    -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -g -D_DEBUG_  -g -Wno-deprecated -Wparentheses -Wreturn-type -Wmissing-declarations -Wunused -pthread -MT test_grid.o -MD -MP -MF .deps/test_grid.Tpo -c -o test_grid.o test_grid.cxx
                          In file included from ./../MEDMEM/MEDMEM_Mesh.hxx:37,
                                           from ./../MEDMEM/MEDMEM_Grid.hxx:35,
                                           from test_grid.cxx:22:
                          ./../MEDMEM/MEDMEM_Connectivity.hxx: In member function ‘virtual const int* MEDMEM::CONNECTIVITY::getReverseConnectivity(MED_EN::medConnectivity, MED_EN::medEntityMesh)’:
                          ./../MEDMEM/MEDMEM_Connectivity.hxx:510: warning: suggest explicit braces to avoid ambiguous ‘else’
                          ./../MEDMEM/MEDMEM_Connectivity.hxx: In member function ‘virtual const int* MEDMEM::CONNECTIVITY::getReverseConnectivityIndex(MED_EN::medConnectivity, MED_EN::medEntityMesh)’:
                          ./../MEDMEM/MEDMEM_Connectivity.hxx:531: warning: suggest explicit braces to avoid ambiguous ‘else’
                          In file included from ./../MEDMEM/MEDMEM_Mesh.hxx:1042,
                                           from ./../MEDMEM/MEDMEM_Grid.hxx:35,
                                           from test_grid.cxx:22:
                          ./../MEDMEM/MEDMEM_Support.hxx: In member function ‘void MEDMEM::SUPPORT::setNumberOfElements(const int*)’:
                          ./../MEDMEM/MEDMEM_Support.hxx:462: warning: suggest explicit braces to avoid ambiguous ‘else’
                          test_grid.cxx: In function ‘int main(int, char**)’:
                          test_grid.cxx:67: error: ‘auto_ptr’ is not a member of ‘std’
                          test_grid.cxx:67: error: expected primary-expression before ‘>’ token
                          test_grid.cxx:67: error: ‘Mesh’ was not declared in this scope
                          test_grid.cxx:68: warning: unused variable ‘conn’
                          make[2]: *** [test_grid.o] Error 1
                          make[2]: Leaving directory `/home/anubis/src/rpm/BUILD/MED_SRC_4.1.4/src/MEDMEMBinTest'
                          make[1]: *** [all-recursive] Error 1
                          make[1]: Leaving directory `/home/anubis/src/rpm/BUILD/MED_SRC_4.1.4/src'
                          make: *** [all-recursive] Error 1


                          i notice that:

                          test_grid.cxx:67: error: ‘Mesh’ was not declared in this scope

                          did i miss something?

                          anubis@Hp-Linux:~> rpm -qa vtk-devel
                          vtk-devel-5.2.1-32.1
                          anubis@Hp-Linux:~> rpm -qa metis-devel
                          metis-devel-4.0-7.1

                          • Re: MED, does not compile

                            Posted by Gautier Matthieu at January 13. 2009
                            Andrea Florio wrote:
                            i notice that:

                            test_grid.cxx:67: error: ‘Mesh’ was not declared in this scope

                            did i miss something?


                            Yes :
                            test_grid.cxx:67: error: ‘auto_ptr’ is not a member of ‘std’
                            ;)

                            add "#include " to test_grid.cxx

                            This s a bug and the InstallWizard have no problem cause it doesn't compile tests.
                            • Re: MED, does not compile

                              Posted by Andrea Florio at January 13. 2009
                              thanks matthieu, works fine indeed.. going on with compilation i must add other gcc4.3 fix, but now.. i really don't know how to fix it:


                               g++ "-DPACKAGE_NAME=\"Salome2 Project MED module\"" -DPACKAGE_TARNAME=\"salome\" -DPACKAGE_VERSION=\"4.1.4\" "-DPACKAGE_STRING=\"Salome2 Project MED module 4.1.4\"" -DPACKAGE_BUGREPORT=\"webmaster.salome@opencascade.com\" -DPACKAGE=\"salome\" -DVERSION=\"4.1.4\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_LIBDL=1 -DHAVE_LIBRT=1 -DHAVE_LIBM=1 -DHAVE_NAMESPACES= -DHAVE_PTHREAD=1 -DWITH_NUMPY= "-DF77_FUNC(name,NAME)=name ## _" "-DF77_FUNC_(name,NAME)=name ## _" -DSIZEOF_FORTRAN_INTEGER=4 -DSIZEOF_INT=4 -DYYTEXT_POINTER=1 -D__OSVERSION__=2 -DOMNIORB= -DCORBA_HAVE_POA= -DCORBA_ORB_INIT_HAVE_3_ARGS= -DCORBA_ORB_INIT_THIRD_ARG= -I. -DPCLINUX -I/usr/include -ftemplate-depth-42 -I/usr/include/libxml2 -I./../MEDMEM -I./../MEDWrapper/V2_1/Core -I/opt/SALOME/include/salome -DENABLE_METIS -I/usr/share/metis/Lib -DENABLE_SCOTCH -I/usr/share/scotch -DHAVE_SOCKET -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -g -D_DEBUG_ -g -Wno-deprecated -Wparentheses -Wreturn-type -Wmissing-declarations -Wunused -pthread -MT libmedsplitter_la-MEDSPLITTER_METISGraph.lo -MD -MP -MF .deps/libmedsplitter_la-MEDSPLITTER_METISGraph.Tpo -c MEDSPLITTER_METISGraph.cxx  -fPIC -DPIC -o .libs/libmedsplitter_la-MEDSPLITTER_METISGraph.o
                              In file included from /usr/share/metis/Lib/metis.h:36,
                                               from MEDSPLITTER_METISGraph.cxx:20:
                              /usr/share/metis/Lib/proto.h:462: error: declaration of C function ‘int __log2(int)’ conflicts with
                              /usr/include/bits/mathcalls.h:145: error: previous declaration ‘double __log2(double)’ here
                              make[3]: *** [libmedsplitter_la-MEDSPLITTER_METISGraph.lo] Error 1
                              make[3]: Leaving directory `/home/anubis/src/rpm/BUILD/MED_SRC_4.1.4/src/MEDSPLITTER'
                              make[2]: *** [all-recursive] Error 1
                              make[2]: Leaving directory `/home/anubis/src/rpm/BUILD/MED_SRC_4.1.4/src/MEDSPLITTER'
                              make[1]: *** [all-recursive] Error 1
                              make[1]: Leaving directory `/home/anubis/src/rpm/BUILD/MED_SRC_4.1.4/src'
                              make: *** [all-recursive] Error 1

                              proto.h is provided by metis 4.0 : http://pastebin.com/f407092b7

                              mathcalls.g instead, by glibc 2.8 : http://pastebin.com/m489c2ba9

                              if i have to patch one of the headers i can patch only metis..

                              thanks
                              • Re: MED, does not compile

                                Posted by Gautier Matthieu at January 13. 2009
                                Hum.. Seems strange. Nothing in Salome compile with glibc.

                                How did you make the configure of MED ?
                                Where metis come from ?
                                • Re: MED, does not compile

                                  Posted by Andrea Florio at January 13. 2009
                                  Gautier Matthieu wrote:
                                  Hum.. Seems strange. Nothing in Salome compile with glibc.

                                  How did you make the configure of MED ?
                                  Where metis come from ?


                                  metis comes from here:

                                  i configure med like that:

                                  export KERNEL_ROOT_DIR=/opt/SALOME
                                  export GUI_ROOT_DIR=/opt/SALOME
                                  export CASROOT=/opt/OpenCASCADE/
                                  export METISDIR=/usr/share/metis
                                  export SCOTCHDIR=/usr/share/scotch
                                  export CFLAGS="$RPM_OPT_FLAGS"
                                  export CXXFLAGS="$RPM_OPT_FLAGS"
                                  ./build_configure

                                  ./configure
                                  • Re: MED, does not compile

                                    Posted by Andrea Florio at January 13. 2009
                                    metis comes from here:

                                    http://glaros.dtc.umn.edu/gkhome/metis/metis/overview

                                    and i simply used "make" to compile it..
                                    • Re: MED, does not compile

                                      Posted by Gautier Matthieu at January 13. 2009
                                      I wrote nonsense on my last post on glibc and Salome. Of Course SALOME (and evrithing compiled with gcc) need glibc to compile.

                                      Can you test this on your compile environment :
                                      A file main.cpp:
                                      #include "metis.h"
                                      int main() {return 0;}

                                      Compile this file with :
                                      g++ main.cpp -I/usr/share/metis/Lib

                                      Does it compile ?
                                      • Re: MED, does not compile

                                        Posted by Andrea Florio at January 13. 2009
                                        anubis@Hp-Linux:~/Desktop> touch main.cpp
                                        anubis@Hp-Linux:~/Desktop> vi main.cpp
                                        anubis@Hp-Linux:~/Desktop> cat main.cpp
                                        #include "metis.h"
                                        int main() {return 0;}
                                        anubis@Hp-Linux:~/Desktop> g++ main.cpp -I/usr/share/metis/Lib
                                        anubis@Hp-Linux:~/Desktop> ./a.out


                                        looks to work, at least no output is show, a file a.out has been created but ./a.out show me nothing
                                        • Re: MED, does not compile

                                          Posted by David Monfort at January 14. 2009

                                          This is a known and very annoying issue of Metis 4.0... It redefines some internal standard C function, so that if you try to include "metis.h", it *may* fail to compile.

                                          You will have to do some trick to bypass this issue.

                                          • Re: MED, does not compile

                                            Posted by Andrea Florio at January 14. 2009
                                            David Monfort wrote:

                                            This is a known and very annoying issue of Metis 4.0... It redefines some internal standard C function, so that if you try to include "metis.h", it *may* fail to compile.

                                            You will have to do some trick to bypass this issue.


                                            how can i do that?
                                            • Re: MED, does not compile

                                              Posted by David Monfort at January 14. 2009

                                              Difficult to say... it depends on the developer's choices.

                                              I'll let the SALOME team answer, but I know that Code_Aster distributes a modified version of METIS and that Code_Saturne do not include the header (it redefines the METIS prototypes of the two fonctions it uses).

                                              • Re: MED, does not compile

                                                Posted by Andrea Florio at January 16. 2009
                                                this patch to metis looks to be enought:

                                                diff -uNr old-metis-4.0/Lib/proto.h metis-4.0/Lib/proto.h
                                                --- old-metis-4.0/Lib/proto.h   1998-11-30 17:26:50.000000000 +0100
                                                +++ metis-4.0/Lib/proto.h       2009-01-16 14:35:16.000000000 +0100
                                                @@ -459,7 +459,7 @@
                                                 void srand48(long);
                                                 int ispow2(int);
                                                 void InitRandom(int);
                                                -int log2(int);
                                                +//int log2(int);



                                                the gcc43 patch needed to compile MED module, instead is definetly longer:

                                                http://pastebin.com/m226a671c


                                                once i'll finish, i'll collect all patches into a tarball and i'll provide it to you!... in the meantime, mettiouh you can check patches in buildservice ;)
                                                • Re: MED, does not compile

                                                  Posted by David Monfort at February 01. 2009
                                                  You can find some information on MED installation in the Code_Aster forum (see http://www.code-aster.org/) as well
                                                  • Re: MED, does not compile

                                                    Posted by Andrea Florio at February 18. 2009
                                                    opensuse 11.1 boost 1.36 (i think to be too new... I found that the same error is due to changes from 1.34 to 1.35 and next versions)

                                                    MED_Wrapper.cxx: In constructor 'MED::TLockProxy::TLockProxy(MED::TWrapper*)':
                                                    MED_Wrapper.cxx:43: error: 'boost::detail::thread' has not been declared
                                                    MED_Wrapper.cxx:43: error: expected primary-expression before '>' token
                                                    MED_Wrapper.cxx:43: error: '::lock' has not been declared
                                                    MED_Wrapper.cxx: In destructor 'MED::TLockProxy::~TLockProxy()':
                                                    MED_Wrapper.cxx:51: error: 'boost::detail::thread' has not been declared
                                                    MED_Wrapper.cxx:51: error: expected primary-expression before '>' token
                                                    MED_Wrapper.cxx:51: error: '::unlock' has not been declared
                                                    MED_SliceArray.hxx: In member function 'void MED::TCSlice::check_id(size_t) const [with TValueType = int]':
                                                    MED_SliceArray.hxx:82:   instantiated from 'size_t MED::TCSlice::get_id(size_t) const [with TValueType = int]'
                                                    MED_SliceArray.hxx:123:   instantiated from 'const TValueType& MED::TCSlice::operator[](size_t) const [with TValueType = int]'
                                                    MED_Wrapper.cxx:183:   instantiated from here
                                                    MED_SliceArray.hxx:65: warning: comparison between signed and unsigned integer expressions
                                                    MED_SliceArray.hxx: In member function 'void MED::TCSlice::check_id(size_t) const [with TValueType = double]':
                                                    MED_SliceArray.hxx:82:   instantiated from 'size_t MED::TCSlice::get_id(size_t) const [with TValueType = double]'
                                                    MED_SliceArray.hxx:123:   instantiated from 'const TValueType& MED::TCSlice::operator[](size_t) const [with TValueType = double]'
                                                    MED_Wrapper.cxx:483:   instantiated from 'void MED::Print(MED::SharedPtr) [with TimeStampValueType = MED::TTimeStampValue > > >]'
                                                    MED_Wrapper.cxx:510:   instantiated from here
                                                    MED_SliceArray.hxx:65: warning: comparison between signed and unsigned integer expressions
                                                    make[3]: *** [libMEDWrapperBase_la-MED_Wrapper.lo] Error 1
                                                    make[3]: Leaving directory `/usr/src/packages/BUILD/MED_SRC_4.1.4/src/MEDWrapper/Base'
                                                    make[2]: *** [all-recursive] Error 1
                                                    make[2]: Leaving directory `/usr/src/packages/BUILD/MED_SRC_4.1.4/src/MEDWrapper'
                                                    make[1]: *** [all-recursive] Error 1
                                                    make[1]: Leaving directory `/usr/src/packages/BUILD/MED_SRC_4.1.4/src'
                                                    make: *** [all-recursive] Error 1
                                                    error: Bad exit status from /var/tmp/rpm-tmp.4000 (%build)


                                                    RPM build errors:
                                                        cannot open Pubkeys index using db3 - No such file or directory (2)
                                                        Bad exit status from /var/tmp/rpm-tmp.4000 (%build)
                                                    System halted.



                                                    any idea on possible fix?
                                                    • Re: MED, does not compile

                                                      Posted by Erwan ADAM at February 23. 2009
                                                      In MED_Wrapper.cxx, please replace :

                                                          boost::detail::thread::lock_ops::lock(myWrapper->myMutex);

                                                      by

                                                      #if BOOST_VERSION >= 103500
                                                          myWrapper->myMutex.lock();
                                                      #else
                                                          boost::detail::thread::lock_ops::lock(myWrapper->myMutex);
                                                      #endif

                                                      and

                                                          boost::detail::thread::lock_ops::unlock(myWrapper->myMutex);

                                                      by

                                                      #if BOOST_VERSION >= 103500
                                                          myWrapper->myMutex.unlock();
                                                      #else
                                                          boost::detail::thread::lock_ops::unlock(myWrapper->myMutex);
                                                      #endif



                                                      Regards,

                                                      E.A.

                                                      • Re: MED, does not compile

                                                        Posted by Andrea Florio at February 24. 2009
                                                        works, thanks a lot...

                                                        btw also the module must be compiled with cppflag for hdf5 1.6 api, using that flag, gcc43 patch drammaticly increase.

                                                        in few days i'll send you all patches i collect, and also the exact url where reach the openSUSE 11.0/11.1 repo

                                                        thanks for everything.
Powered by Ploneboard
Document Actions