From: X C. <ch...@ve...> - 2004-05-30 03:40:30
|
Hi!=20 I am trying to compile and link Libmesh on Windows 2000 using latest Cygwin. I first run ./configure and it seems to be OK. When I further typed make. The following texts showed up, Compiling C++ (in optimized mode) src/base/dof_map.C... g++: C:Program: No such file or directory g++: FilesMicrosoft: No such file or directory g++: Visual: No such file or directory g++: Studio: No such file or directory g++: .NET: No such file or directory g++: 2003SDKv1.1include;C:Program: No such file or directo g++: FilesMicrosoft: No such file or directory g++: Visual: No such file or directory g++: StudioVC98atlinclude: No such file or directory g++: no input files C:Program: not found C:Program: not found make: *** [src/base/dof_map.i686-pc-cygwin.o] Error 127 It appears to me that the long path name in the path environment variable can not be handled correctly. I don't even know why the long path name with space came up. Can anyone suggest how I can get around this problem? TIA. X. Chen |
From: X C. <ch...@ve...> - 2004-05-30 04:35:06
|
Hi!=20 Thank you for your reply. I first run ./configure without any additional options. The output is, ************************************************************* --------------------------------------------- ----------- Configuring libMesh ------------- --------------------------------------------- checking build system type... i686-pc-cygwin checking host system type... i686-pc-cygwin checking target system type... i686-pc-cygwin checking for g++... g++ checking for C++ compiler default output... a.exe checking whether the C++ compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... .exe checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for gcc... gcc checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed <<< C++ compiler is gcc-3.3 >>> checking how to run the C++ preprocessor... g++ -E checking for egrep... grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for short int... yes checking size of short int... 2 checking for int... yes checking size of int... 4 checking for long int... yes checking size of long int... 4 checking for float... yes checking size of float... 4 checking for double... yes checking size of double... 8 checking for void *... yes checking size of void *... 4 checking getopt.h usability... yes checking getopt.h presence... yes checking for getopt.h... yes checking whether the compiler implements namespaces... yes checking whether the compiler has locale... yes checking whether the compiler has stringstream... yes checking hash_map usability... no checking hash_map presence... no checking for hash_map... no checking ext/hash_map usability... yes checking ext/hash_map presence... yes checking for ext/hash_map... yes checking hash_set usability... no checking hash_set presence... no checking for hash_set... no checking ext/hash_set usability... yes checking ext/hash_set presence... yes checking for ext/hash_set... yes <<< Configuring library with AMR support >>> <<< Configuring library with expensive data structures enabled >>> checking rpc/rpc.h usability... yes checking rpc/rpc.h presence... yes checking for rpc/rpc.h... yes <<< Configuring library with XDR support >>> <<< Configuring library with real number support >>> <<< Configuring library with reference counting support >>> checking for ./contrib/netcdf/lib/i686-pc-cygwin/libnetcdf.a... no checking for ./contrib/netcdf/include/netcdf.h... no --------------------------------------------- ----- Configuring for optional packages ----- --------------------------------------------- checking for /include/petsc.h... no note: MPI library path not given... trying prefix=3D/usr g++ Compiler Does NOT Support MPI... checking for ./contrib/laspack/lastypes.h... yes <<< Configuring library with LASPACK version 1.12.3 support >>> checking for ./contrib/sfcurves/sfcurves.h... yes <<< Configuring library with SFC support >>> checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for gzopen in -lz... yes checking for ./contrib/gzstream/gzstream.h... yes <<< Configuring library with gzstreams support >>> checking for ./contrib/tecplot/lib/i686-pc-cygwin/tecio.a... no checking for ./contrib/tecplot/include/TECIO.h... yes checking for ./contrib/metis/Lib/metis.h... yes <<< Configuring library with Metis support >>> checking for doxygen... /usr/bin/doxygen checking for dot... no ---------------------------------------------- --- Done configuring for optional packages --- ---------------------------------------------- checking for perl... /usr/bin/perl configure: creating ./config.status config.status: creating Make.common config.status: creating doc/Doxyfile config.status: creating contrib/bin/libmesh-config config.status: creating include/base/libmesh_config.h config.status: include/base/libmesh_config.h is unchanged --------------------------------------------- --------- Done Configuring libMesh ---------- --------------------------------------------- ************************************************************ I further run make echo as you suggested, the output is: ********************************************************** $ make echo Source Files: src/base/dof_map.C src/base/dof_map_constraints.C src/base/dof_object.C src/base/libmesh.C src/base/node.C src/base/refe rence_counted_object.C src/base/reference_counter.C src/fe/fe.C src/fe/fe_base.C src/fe/fe_boundary.C src/fe/fe_hierarch ic.C src/fe/fe_hierarchic_shape_1D.C src/fe/fe_hierarchic_shape_2D.C src/fe/fe_hierarchic_shape_3D.C src/fe/fe_interface .C src/fe/fe_interface_inf_fe.C src/fe/fe_lagrange.C src/fe/fe_lagrange_shape_1D.C src/fe/fe_lagrange_shape_2D.C src/fe/ fe_lagrange_shape_3D.C src/fe/fe_map.C src/fe/fe_monomial.C src/fe/fe_monomial_shape_1D.C src/fe/fe_monomial_shape_2D.C src/fe/fe_monomial_shape_3D.C src/fe/fe_szabab.C src/fe/fe_szabab_shape_1D.C src/fe/fe_szabab_shape_2D.C src/fe/fe_szaba b_shape_3D.C src/fe/inf_fe.C src/fe/inf_fe_base_radial.C src/fe/inf_fe_boundary.C src/fe/inf_fe_jacobi_20_00_eval.C src/ fe/inf_fe_jacobi_30_00_eval.C src/fe/inf_fe_lagrange_eval.C src/fe/inf_fe_legendre_eval.C src/fe/inf_fe_map.C src/fe/inf _fe_map_eval.C src/fe/inf_fe_static.C src/geom/cell.C src/geom/cell_hex.C src/geom/cell_hex20.C src/geom/cell_hex27.C sr c/geom/cell_hex8.C src/geom/cell_inf.C src/geom/cell_inf_hex.C src/geom/cell_inf_hex16.C src/geom/cell_inf_hex18.C src/g eom/cell_inf_hex8.C src/geom/cell_inf_prism.C src/geom/cell_inf_prism12.C src/geom/cell_inf_prism6.C src/geom/cell_prism .C src/geom/cell_prism15.C src/geom/cell_prism18.C src/geom/cell_prism6.C src/geom/cell_pyramid.C src/geom/cell_pyramid5 .C src/geom/cell_tet.C src/geom/cell_tet10.C src/geom/cell_tet4.C src/geom/edge.C src/geom/edge_edge2.C src/geom/edge_ed ge3.C src/geom/edge_inf_edge2.C src/geom/elem.C src/geom/elem_quality.C src/geom/elem_refinement.C src/geom/elem_type.C src/geom/face.C src/geom/face_inf_quad.C src/geom/face_inf_quad4.C src/geom/face_inf_quad6.C src/geom/face_quad.C src/ge om/face_quad4.C src/geom/face_quad8.C src/geom/face_quad9.C src/geom/face_tri.C src/geom/face_tri3.C src/geom/face_tri6. C src/geom/plane.C src/geom/point.C src/geom/sphere.C src/geom/surface.C src/mesh/boundary_info.C src/mesh/boundary_mesh .C src/mesh/mesh.C src/mesh/mesh_base.C src/mesh/mesh_base_modification.C src/mesh/mesh_communication.C src/mesh/mesh_da ta.C src/mesh/mesh_data_tetgen_support.C src/mesh/mesh_data_unv_support.C src/mesh/mesh_data_xdr_support.C src/mesh/mesh _diva_support.C src/mesh/mesh_exodus_support.C src/mesh/mesh_generation.C src/mesh/mesh_gmv_support.C src/mesh/mesh_misc _support.C src/mesh/mesh_modification.C src/mesh/mesh_refinement.C src/mesh/mesh_refinement_flagging.C src/mesh/mesh_ref inement_smoothing.C src/mesh/mesh_smoother.C src/mesh/mesh_smoother_laplace.C src/mesh/mesh_tecplot_support.C src/mesh/m esh_tetgen_support.C src/mesh/mesh_ucd_support.C src/mesh/mesh_unv_support.C src/mesh/mesh_xdr_support.C src/numerics/an alytic_function.C src/numerics/coupling_matrix.C src/numerics/dense_matrix.C src/numerics/dense_matrix_base.C src/numeri cs/dense_submatrix.C src/numerics/dense_subvector.C src/numerics/dense_vector.C src/numerics/dense_vector_base.C src/num erics/distributed_vector.C src/numerics/error_estimator.C src/numerics/function_base.C src/numerics/laspack_interface.C src/numerics/laspack_matrix.C src/numerics/laspack_vector.C src/numerics/linear_solver_interface.C src/numerics/mesh_fun ction.C src/numerics/numeric_vector.C src/numerics/petsc_interface.C src/numerics/petsc_matrix.C src/numerics/petsc_vect or.C src/numerics/sparse_matrix.C src/numerics/type_vector.C src/partitioning/centroid_partitioner.C src/partitioning/li near_partitioner.C src/partitioning/metis_partitioner.C src/partitioning/parmetis_partitioner.C src/partitioning/partiti oner.C src/partitioning/partitioner_factory.C src/partitioning/sfc_partitioner.C src/quadrature/quadrature.C src/quadrat ure/quadrature_build.C src/quadrature/quadrature_gauss.C src/quadrature/quadrature_gauss_1D.C src/quadrature/quadrature_ gauss_2D.C src/quadrature/quadrature_gauss_3D.C src/quadrature/quadrature_jacobi.C src/quadrature/quadrature_jacobi_1D.C src/quadrature/quadrature_rules.C src/quadrature/quadrature_simpson.C src/quadrature/quadrature_simpson_1D.C src/quadra ture/quadrature_simpson_2D.C src/quadrature/quadrature_simpson_3D.C src/quadrature/quadrature_trap.C src/quadrature/quad rature_trap_1D.C src/quadrature/quadrature_trap_2D.C src/quadrature/quadrature_trap_3D.C src/solvers/equation_systems.C src/solvers/equation_systems_io.C src/solvers/explicit_system.C src/solvers/frequency_system.C src/solvers/implicit_syst em.C src/solvers/newmark_system.C src/solvers/steady_system.C src/solvers/system.C src/solvers/system_io.C src/solvers/s ystem_projection.C src/solvers/transient_system.C src/utils/data_map.C src/utils/error_vector.C src/utils/o_f_stream.C s rc/utils/perf_log.C src/utils/point_locator_base.C src/utils/point_locator_list.C src/utils/point_locator_tree.C src/uti ls/statistics.C src/utils/tree.C src/utils/tree_base.C src/utils/tree_node.C src/utils/utility.C src/utils/xdrIO.C src/u tils/xdr_cxx.C Object Files: src/base/dof_map.i686-pc-cygwin.o src/base/dof_map_constraints.i686-pc-cygwin.o src/base/dof_object.i686-pc-cygwin.o src/base/libmesh.i686-pc-cygwin.o src/base/node.i686-pc-cygwin.o src/base/reference_counted_object.i686-pc-cygwin.o src/base/reference_counter.i686-pc-cygwin.o src/fe/fe.i686-pc-cygwin.o src/fe/fe_base.i686-pc-cygwin.o src/fe/fe_boun dary.i686-pc-cygwin.o src/fe/fe_hierarchic.i686-pc-cygwin.o src/fe/fe_hierarchic_shape_1D.i686-pc-cygwin.o src/fe/fe_ hierarchic_shape_2D.i686-pc-cygwin.o src/fe/fe_hierarchic_shape_3D.i686-pc-cygwin.o src/fe/fe_interface.i686-pc-cygwin .o src/fe/fe_interface_inf_fe.i686-pc-cygwin.o src/fe/fe_lagrange.i686-pc-cygwin.o src/fe/fe_lagrange_shape_1D.i686-p c-cygwin.o src/fe/fe_lagrange_shape_2D.i686-pc-cygwin.o src/fe/fe_lagrange_shape_3D.i686-pc-cygwin.o src/fe/fe_map.i6 86-pc-cygwin.o src/fe/fe_monomial.i686-pc-cygwin.o src/fe/fe_monomial_shape_1D.i686-pc-cygwin.o src/fe/fe_monomial_sh ape_2D.i686-pc-cygwin.o src/fe/fe_monomial_shape_3D.i686-pc-cygwin.o src/fe/fe_szabab.i686-pc-cygwin.o src/fe/fe_szab ab_shape_1D.i686-pc-cygwin.o src/fe/fe_szabab_shape_2D.i686-pc-cygwin.o src/fe/fe_szabab_shape_3D.i686-pc-cygwin.o sr c/fe/inf_fe.i686-pc-cygwin.o src/fe/inf_fe_base_radial.i686-pc-cygwin.o src/fe/inf_fe_boundary.i686-pc-cygwin.o src/f e/inf_fe_jacobi_20_00_eval.i686-pc-cygwin.o src/fe/inf_fe_jacobi_30_00_eval.i686-pc-cygwin.o src/fe/inf_fe_lagrange_ev al.i686-pc-cygwin.o src/fe/inf_fe_legendre_eval.i686-pc-cygwin.o src/fe/inf_fe_map.i686-pc-cygwin.o src/fe/inf_fe_map _eval.i686-pc-cygwin.o src/fe/inf_fe_static.i686-pc-cygwin.o src/geom/cell.i686-pc-cygwin.o src/geom/cell_hex.i686-pc -cygwin.o src/geom/cell_hex20.i686-pc-cygwin.o src/geom/cell_hex27.i686-pc-cygwin.o src/geom/cell_hex8.i686-pc-cygwin .o src/geom/cell_inf.i686-pc-cygwin.o src/geom/cell_inf_hex.i686-pc-cygwin.o src/geom/cell_inf_hex16.i686-pc-cygwin.o src/geom/cell_inf_hex18.i686-pc-cygwin.o src/geom/cell_inf_hex8.i686-pc-cygwin.o src/geom/cell_inf_prism.i686-pc-cyg win.o src/geom/cell_inf_prism12.i686-pc-cygwin.o src/geom/cell_inf_prism6.i686-pc-cygwin.o src/geom/cell_prism.i686-p c-cygwin.o src/geom/cell_prism15.i686-pc-cygwin.o src/geom/cell_prism18.i686-pc-cygwin.o src/geom/cell_prism6.i686-pc -cygwin.o src/geom/cell_pyramid.i686-pc-cygwin.o src/geom/cell_pyramid5.i686-pc-cygwin.o src/geom/cell_tet.i686-pc-cy gwin.o src/geom/cell_tet10.i686-pc-cygwin.o src/geom/cell_tet4.i686-pc-cygwin.o src/geom/edge.i686-pc-cygwin.o src/g eom/edge_edge2.i686-pc-cygwin.o src/geom/edge_edge3.i686-pc-cygwin.o src/geom/edge_inf_edge2.i686-pc-cygwin.o src/geo m/elem.i686-pc-cygwin.o src/geom/elem_quality.i686-pc-cygwin.o src/geom/elem_refinement.i686-pc-cygwin.o src/geom/ele m_type.i686-pc-cygwin.o src/geom/face.i686-pc-cygwin.o src/geom/face_inf_quad.i686-pc-cygwin.o src/geom/face_inf_quad 4.i686-pc-cygwin.o src/geom/face_inf_quad6.i686-pc-cygwin.o src/geom/face_quad.i686-pc-cygwin.o src/geom/face_quad4.i 686-pc-cygwin.o src/geom/face_quad8.i686-pc-cygwin.o src/geom/face_quad9.i686-pc-cygwin.o src/geom/face_tri.i686-pc-c ygwin.o src/geom/face_tri3.i686-pc-cygwin.o src/geom/face_tri6.i686-pc-cygwin.o src/geom/plane.i686-pc-cygwin.o src/ geom/point.i686-pc-cygwin.o src/geom/sphere.i686-pc-cygwin.o src/geom/surface.i686-pc-cygwin.o src/mesh/boundary_info .i686-pc-cygwin.o src/mesh/boundary_mesh.i686-pc-cygwin.o src/mesh/mesh.i686-pc-cygwin.o src/mesh/mesh_base.i686-pc-c ygwin.o src/mesh/mesh_base_modification.i686-pc-cygwin.o src/mesh/mesh_communication.i686-pc-cygwin.o src/mesh/mesh_d ata.i686-pc-cygwin.o src/mesh/mesh_data_tetgen_support.i686-pc-cygwin.o src/mesh/mesh_data_unv_support.i686-pc-cygwin. o src/mesh/mesh_data_xdr_support.i686-pc-cygwin.o src/mesh/mesh_diva_support.i686-pc-cygwin.o src/mesh/mesh_exodus_su pport.i686-pc-cygwin.o src/mesh/mesh_generation.i686-pc-cygwin.o src/mesh/mesh_gmv_support.i686-pc-cygwin.o src/mesh/ mesh_misc_support.i686-pc-cygwin.o src/mesh/mesh_modification.i686-pc-cygwin.o src/mesh/mesh_refinement.i686-pc-cygwin .o src/mesh/mesh_refinement_flagging.i686-pc-cygwin.o src/mesh/mesh_refinement_smoothing.i686-pc-cygwin.o src/mesh/me sh_smoother.i686-pc-cygwin.o src/mesh/mesh_smoother_laplace.i686-pc-cygwin.o src/mesh/mesh_tecplot_support.i686-pc-cyg win.o src/mesh/mesh_tetgen_support.i686-pc-cygwin.o src/mesh/mesh_ucd_support.i686-pc-cygwin.o src/mesh/mesh_unv_supp ort.i686-pc-cygwin.o src/mesh/mesh_xdr_support.i686-pc-cygwin.o src/numerics/analytic_function.i686-pc-cygwin.o src/n umerics/coupling_matrix.i686-pc-cygwin.o src/numerics/dense_matrix.i686-pc-cygwin.o src/numerics/dense_matrix_base.i68 6-pc-cygwin.o src/numerics/dense_submatrix.i686-pc-cygwin.o src/numerics/dense_subvector.i686-pc-cygwin.o src/numeric s/dense_vector.i686-pc-cygwin.o src/numerics/dense_vector_base.i686-pc-cygwin.o src/numerics/distributed_vector.i686-p c-cygwin.o src/numerics/error_estimator.i686-pc-cygwin.o src/numerics/function_base.i686-pc-cygwin.o src/numerics/las pack_interface.i686-pc-cygwin.o src/numerics/laspack_matrix.i686-pc-cygwin.o src/numerics/laspack_vector.i686-pc-cygwi n.o src/numerics/linear_solver_interface.i686-pc-cygwin.o src/numerics/mesh_function.i686-pc-cygwin.o src/numerics/nu meric_vector.i686-pc-cygwin.o src/numerics/petsc_interface.i686-pc-cygwin.o src/numerics/petsc_matrix.i686-pc-cygwin.o src/numerics/petsc_vector.i686-pc-cygwin.o src/numerics/sparse_matrix.i686-pc-cygwin.o src/numerics/type_vector.i686 -pc-cygwin.o src/partitioning/centroid_partitioner.i686-pc-cygwin.o src/partitioning/linear_partitioner.i686-pc-cygwin .o src/partitioning/metis_partitioner.i686-pc-cygwin.o src/partitioning/parmetis_partitioner.i686-pc-cygwin.o src/par titioning/partitioner.i686-pc-cygwin.o src/partitioning/partitioner_factory.i686-pc-cygwin.o src/partitioning/sfc_part itioner.i686-pc-cygwin.o src/quadrature/quadrature.i686-pc-cygwin.o src/quadrature/quadrature_build.i686-pc-cygwin.o src/quadrature/quadrature_gauss.i686-pc-cygwin.o src/quadrature/quadrature_gauss_1D.i686-pc-cygwin.o src/quadrature/qu adrature_gauss_2D.i686-pc-cygwin.o src/quadrature/quadrature_gauss_3D.i686-pc-cygwin.o src/quadrature/quadrature_jacob i.i686-pc-cygwin.o src/quadrature/quadrature_jacobi_1D.i686-pc-cygwin.o src/quadrature/quadrature_rules.i686-pc-cygwin .o src/quadrature/quadrature_simpson.i686-pc-cygwin.o src/quadrature/quadrature_simpson_1D.i686-pc-cygwin.o src/quadr ature/quadrature_simpson_2D.i686-pc-cygwin.o src/quadrature/quadrature_simpson_3D.i686-pc-cygwin.o src/quadrature/quad rature_trap.i686-pc-cygwin.o src/quadrature/quadrature_trap_1D.i686-pc-cygwin.o src/quadrature/quadrature_trap_2D.i686 -pc-cygwin.o src/quadrature/quadrature_trap_3D.i686-pc-cygwin.o src/solvers/equation_systems.i686-pc-cygwin.o src/sol vers/equation_systems_io.i686-pc-cygwin.o src/solvers/explicit_system.i686-pc-cygwin.o src/solvers/frequency_system.i6 86-pc-cygwin.o src/solvers/implicit_system.i686-pc-cygwin.o src/solvers/newmark_system.i686-pc-cygwin.o src/solvers/s teady_system.i686-pc-cygwin.o src/solvers/system.i686-pc-cygwin.o src/solvers/system_io.i686-pc-cygwin.o src/solvers/ system_projection.i686-pc-cygwin.o src/solvers/transient_system.i686-pc-cygwin.o src/utils/data_map.i686-pc-cygwin.o src/utils/error_vector.i686-pc-cygwin.o src/utils/o_f_stream.i686-pc-cygwin.o src/utils/perf_log.i686-pc-cygwin.o src /utils/point_locator_base.i686-pc-cygwin.o src/utils/point_locator_list.i686-pc-cygwin.o src/utils/point_locator_tree. i686-pc-cygwin.o src/utils/statistics.i686-pc-cygwin.o src/utils/tree.i686-pc-cygwin.o src/utils/tree_base.i686-pc-cy gwin.o src/utils/tree_node.i686-pc-cygwin.o src/utils/utility.i686-pc-cygwin.o src/utils/xdrIO.i686-pc-cygwin.o src/ utils/xdr_cxx.i686-pc-cygwin.o Target: /libmesh-0.4.2/lib/i686-pc-cygwin_opt/libmesh.so Examples Source Files: examples/ex1/ex1.C examples/ex10/ex10.C examples/ex11/ex11.C examples/ex12/ex12.C examples/ex13/ex13.C examples/ex2/ex2. C examples/ex3/ex3.C examples/ex3/exact_solution.C examples/ex4/ex4.C examples/ex5/ex5.C examples/ex6/ex6.C examples/ex7 /ex7.C examples/ex8/ex8.C examples/ex9/ex9.C examples/ex9/exact_solution.C CFLAGS: -O2 -felide-constructors -DNDEBUG -fPIC -funroll-loops -fstrict-aliasing CXXFLAGS: -O2 -felide-constructors -DNDEBUG -fPIC -funroll-loops -fstrict-aliasing INCLUDE: C:\Program Files\Microsoft Visual Studio .NET 2003\SDK?1.1\include\;C:\Program Files\Microsoft Visual Studio\VC98\atl\in clude;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include -I /libmesh-0.4.2/include/base -I/libmesh-0.4.2/include/enums -I/libmesh-0.4.2/include/fe -I/libmesh-0.4.2/include/geom -I/ libmesh-0.4.2/include/mesh -I/libmesh-0.4.2/include/numerics -I/libmesh-0.4.2/include/partitioning -I/libmesh-0.4.2/incl ude/quadrature -I/libmesh-0.4.2/include/solvers -I/libmesh-0.4.2/include/utils -I/libmesh-0.4.2/contrib/laspack -I/libm esh-0.4.2/contrib/metis/Lib -I/libmesh-0.4.2/contrib/sfcurves -I/libmesh-0.4.2/contrib/gzstream LIBS: /libmesh-0.4.2/lib/i686-pc-cygwin_opt/libmesh.so /libmesh-0.4.2/contrib/lib/i686-pc-cygwin_opt/liblaspack.so /libmesh- 0.4.2/contrib/lib/i686-pc-cygwin_opt/libmetis.so /libmesh-0.4.2/contrib/lib/i686-pc-cygwin_opt/libsfcurves.so /libmesh-0 .4.2/contrib/lib/i686-pc-cygwin_opt/libgzstream.so -lz -Wl,-rpath,/libmesh-0.4.2/lib/i686-pc-cygwin_opt -Wl,-rpath, /libmesh-0.4.2/contrib/lib/i686-pc-cygwin_opt LDFLAGS: DLFLAGS: -Wl,-rpath,/libmesh-0.4.2/lib/i686-pc-cygwin_opt -Wl,-rpath,/libmesh-0.4.2/contrib/lib/i686-pc-cygwin_opt ********************************************************** The first two include paths have nothing to do with libmesh. I wonder how can I exclude it in the linking. I have tried to blank the 'path' environment variable in Windows 2000, and it does not have effect. Your help is greatly appreciated.=20 X. Chen On Sat, 29 May 2004 20:21:53 -0800, you wrote: >Hi > >X Chen writes: > > I am trying to compile and link Libmesh on Windows 2000 using latest > > Cygwin. I first run ./configure and it seems to be OK. When I further > > typed make. The following texts showed up, > >=20 > > Compiling C++ (in optimized mode) src/base/dof_map.C... > > g++: C:Program: No such file or directory > > g++: FilesMicrosoft: No such file or directory > > g++: Visual: No such file or directory > > g++: Studio: No such file or directory > > g++: .NET: No such file or directory > > g++: 2003SDKv1.1include;C:Program: No such file or directo > > g++: FilesMicrosoft: No such file or directory > > g++: Visual: No such file or directory > > g++: StudioVC98atlinclude: No such file or directory > > g++: no input files > > C:Program: not found > > C:Program: not found > > make: *** [src/base/dof_map.i686-pc-cygwin.o] Error 127 > >=20 > > It appears to me that the long path name in the path environment > > variable can not be handled correctly. I don't even know why the long > > path name with space came up. Can anyone suggest how I can get around > > this problem? TIA. > >No idea about Windows and Cygwin, but it looks, like g++ tries to >find a file named C:Program\FilesMicrosoft\...... > >Most probably, Cygwin does not translate Windows path names correctly. >Under Unix the backslash \ is a line continuation character, so that >g++ tries to compile each part of the path as a separate file (which >does not exist). Something in your configuration process went >wrong. Which configuration parameters did you use? Please take also a >look at the result of > >make echo > >and post the output here. > >HTH, Martin |
From: X C. <ch...@ve...> - 2004-05-30 05:04:59
|
Hi! I have done so, but did not find where the Visual stuio path came out. I have attached the Make.common below. Thanks. X. Chen ******************************************************** # $Id: Make.common.in,v 1.34 2004/02/12 20:52:12 benkirk Exp $ #########################################################################= ###### ## Please note: ## The ./configure script generates Make.common from=20 ## Make.common.in, so if you want to change something, ## then do it in the latter file (here!)and re-run ./configure in the ## top level directory #########################################################################= ###### #########################################################################= ###### # # The Make.common file defines the build environment for libMesh # and all its helper applications. If you want to build an application # that makes use of libMesh it is highly recommended that you include # this file in your project's Makefile. # #########################################################################= ###### #########################################################################= ###### # the following lines will be replaced by the output=20 # of ./configure hosttype =3D i686-pc-cygwin CXX =3D g++ CC =3D gcc LDFLAGS =3D=20 DLFLAGS =3D LIBS =3D=20 =46LIBS =3D=20 GXX-VERSION =3D gcc3.3 CXXSHAREDFLAG =3D -shared CSHAREDFLAG =3D -shared RPATHFLAG =3D -Wl,-rpath, # Complex variable support enable-complex =3D no ifeq ($(enable-complex),yes) CXXFLAGS +=3D -DUSE_COMPLEX_NUMBERS CFLAGS +=3D -DUSE_REAL_NUMBERS endif # Petsc iterative solvers for parallel and uniprocessor # applications enable-petsc =3D no petsc-version =3D=20 PETSC_ARCH =3D=20 PETSC_DIR =3D=20 # MPI configuration # (only explicitly defined when PETSc is absent, otherwise snooped from PETSc) MPI_IMPL =3D=20 MPI_INCLUDE =3D=20 MPI_LIB =3D =20 # Doxygen for generating documentation doxygen =3D /usr/bin/doxygen # Perl for making .depend perl =3D /usr/bin/perl # Flag for optional packages enable-optional =3D yes enable-laspack =3D yes enable-metis =3D yes enable-parmetis =3D yes enable-sfcurves =3D yes enable-gzstream =3D yes # # Set the current directory. libmesh_dir :=3D /libmesh-0.4.2 #########################################################################= ###### #########################################################################= ###### # # Figure out the compilation mode based on the # environment variable METHOD. opt-mode :=3D off debug-mode :=3D off prof-mode :=3D off syn-mode :=3D off obj-suffix :=3D i686-pc-cygwin.o # # If the user has no environment variable # called METHOD, he gets optimized mode. ifeq (x$(METHOD),x) METHOD :=3D opt opt-mode :=3D on obj-suffix :=3D i686-pc-cygwin.o endif # # If METHOD=3Dopt, compile in optimized mode. ifeq ($(METHOD),opt) opt-mode :=3D on obj-suffix :=3D i686-pc-cygwin.o endif # # If METHOD=3Ddbg, compile in debug mode. ifeq ($(METHOD),dbg) debug-mode :=3D on obj-suffix :=3D i686-pc-cygwin.g.o endif # # If METHOD=3Dpro, compile in profiler mode ifeq ($(METHOD),pro) prof-mode :=3D on obj-suffix :=3D i686-pc-cygwin.pg.o endif # # If METHOD=3Dsyn, compile in syntax-checking mode ifeq ($(METHOD),syn) syn-mode :=3D on obj-suffix :=3D i686-pc-cygwin.sy.o endif # # Set the option to determine what type of # library (.so or .a) will be built. enable-shared :=3D yes # # If we are profiling, we CANNOT use shared # libs. At least I don't think we can ;) ifeq ($(prof-mode),on) enable-shared :=3D no endif #########################################################################= ###### #########################################################################= ###### # Compiler flags, different for optimized, debug, and profiler modes. ifeq ($(debug-mode),on) CXXFLAGS +=3D -g -ansi -pedantic -W -Wall -Wunused -Wpointer-arith -Wimplicit -Wformat -Wparentheses -O -Wuninitialized -DDEBUG -fPIC CFLAGS +=3D -g -DDEBUG -fPIC endif ifeq ($(opt-mode),on) CXXFLAGS +=3D -O2 -felide-constructors -DNDEBUG -fPIC -funroll-loops -fstrict-aliasing CFLAGS +=3D -O2 -DNDEBUG -fPIC -funroll-loops -fstrict-aliasing endif ifeq ($(prof-mode),on) CXXFLAGS +=3D -O2 -felide-constructors -DNDEBUG -g -pg -fPIC -funroll-loops -fstrict-aliasing=20 CFLAGS +=3D -O2 -DNDEBUG -g -pg -fPIC -funroll-loops -fstrict-aliasing=20 endif ifeq ($(syn-mode),on) CXXFLAGS +=3D -fsyntax-only=20 CFLAGS +=3D -fsyntax-only=20 endif ifeq ($(prof-mode),on) LIBS +=3D -pg endif #########################################################################= ###### #########################################################################= ###### # The mesh library # mesh_library_dir :=3D $(libmesh_dir)/lib/$(hosttype)_$(METHOD) mesh_library :=3D $(mesh_library_dir)/libmesh.a ifeq ($(enable-shared),yes)=20 mesh_library :=3D $(mesh_library_dir)/libmesh.so DLFLAGS +=3D $(RPATHFLAG)$(mesh_library_dir) endif LIBS +=3D $(mesh_library) #########################################################################= ###### #########################################################################= ###### # now configuration for package includes, libraries, etc... # # The include directories for libMesh LIBMESH_INCLUDES =3D -I$(libmesh_dir)/include/base \ -I$(libmesh_dir)/include/enums \ -I$(libmesh_dir)/include/fe \ -I$(libmesh_dir)/include/geom \ -I$(libmesh_dir)/include/mesh \ -I$(libmesh_dir)/include/numerics \ -I$(libmesh_dir)/include/partitioning \ -I$(libmesh_dir)/include/quadrature \ -I$(libmesh_dir)/include/solvers \ -I$(libmesh_dir)/include/utils INCLUDE +=3D $(LIBMESH_INCLUDES) # # Package-specific stuff # # Contributed source & libraries EXTERNAL_LIBDIR :=3D $(libmesh_dir)/contrib/lib/$(hosttype)_$(METHOD) EXTERNAL_LIBEXT :=3D .a ifeq ($(enable-shared),yes)=20 EXTERNAL_LIBEXT :=3D .so DLFLAGS +=3D $(RPATHFLAG)$(EXTERNAL_LIBDIR) endif # # Optional packages ifeq ($(enable-optional),yes) # if Laspack is used we need the header path # and the lib LIBS +=3D $(EXTERNAL_LIBDIR)/liblaspack$(EXTERNAL_LIBEXT) INCLUDE +=3D -I/libmesh-0.4.2/contrib/laspack # if Paretis is used we need the header path # and the lib # (Parmetis must precede Metis for static linking) LIBS +=3D=20 INCLUDE +=3D=20 # if Metis is used we need the header path # and the lib LIBS +=3D $(EXTERNAL_LIBDIR)/libmetis$(EXTERNAL_LIBEXT) INCLUDE +=3D -I/libmesh-0.4.2/contrib/metis/Lib # if Space filling curves are used we need the # header path and the lib LIBS +=3D $(EXTERNAL_LIBDIR)/libsfcurves$(EXTERNAL_LIBEXT) INCLUDE +=3D -I/libmesh-0.4.2/contrib/sfcurves # if gzstreams are used, we need the=20 # header path and the lib LIBS +=3D $(EXTERNAL_LIBDIR)/libgzstream$(EXTERNAL_LIBEXT) -lz INCLUDE +=3D -I/libmesh-0.4.2/contrib/gzstream #if Tecplot is used, link against tecio.a LIBS +=3D=20 INCLUDE +=3D=20 #########################################################################= #### # Petsc ifeq ($(enable-petsc),yes) # define BOPT first since it may be used in the packages file ifeq ($(enable-complex),yes) CXXFLAGS +=3D -DPETSC_USE_COMPLEX CFLAGS +=3D -DPETSC_USE_COMPLEX PETSC_BOPT.g =3D g_complex PETSC_BOPT.o =3D O_complex else PETSC_BOPT.g =3D g PETSC_BOPT.o =3D O endif ifeq ($(debug-mode),on) BOPT =3D $(PETSC_BOPT.g) else BOPT =3D $(PETSC_BOPT.o) endif # Depending on petsc version, we include different files ifeq ($(petsc-version),2.1.0) include $(PETSC_DIR)/bmake/$(PETSC_ARCH)/base.site # 2.1.0 style else C_CLINKER_SLFLAG =3D $(RPATHFLAG)# necessary for PETSc 2.1.6 include $(PETSC_DIR)/bmake/$(PETSC_ARCH)/packages # 2.1.1 or later style endif INCLUDE +=3D -I$(PETSC_DIR)/include -I$(PETSC_DIR)/bmake/$(PETSC_ARCH) \ $(MPI_INCLUDE) $(BLOCKSOLVE_INCLUDE) $(HYPRE_INCLUDE) PETSC_LIB =3D $(PETSC_DIR)/lib/lib$(BOPT)/$(PETSC_ARCH) ifeq ($(enable-shared),yes) CXXFLAGS +=3D -DPETSC_USE_DYNAMIC_LIBRARIES CFLAGS +=3D -DPETSC_USE_DYNAMIC_LIBRARIES=20 DLFLAGS +=3D $(RPATHFLAG)$(PETSC_LIB) endif libs-PETSC =3D -L$(PETSC_LIB) \ -lpetscsles \ -lpetscdm \ -lpetscmat \ -lpetscvec \ -lpetsc LIBS +=3D $(libs-PETSC) $(BLOCKSOLVE_LIB) $(SPOOLES_LIB) \ $(HYPRE_LIB) $(BLASLAPACK_LIB) $(MPI_LIB) \ $(X11_LIB) $(MATLAB_LIB) $(FLIBS) endif #end ifeq ($(enable-petsc),yes) # MPI configuration when Petsc is absent LIBS +=3D $(MPI_LIB) INCLUDE +=3D $(MPI_INCLUDE) endif # End of disable-optional test #if Exodus is used, link against libexoIIv2c.a LIBS +=3D=20 INCLUDE +=3D=20 #if netCDF is used, link against libnetcdf.a # (note that netCDF is required by exodus if available, # so we need to link to this _after_ exodus. LIBS +=3D=20 INCLUDE +=3D=20 # # Finally, Append the linker flags to the libraries LIBS +=3D $(DLFLAGS) $(LDFLAGS) #########################################################################= ###### #########################################################################= ###### # Build rules ################################## # C++ rules # ################################## # # How to compile optimized C++ # %.i686-pc-cygwin.o : %.C @echo "Compiling C++ (in optimized mode) "$<"..." @$(CXX) $(CXXFLAGS) $(INCLUDE) -c $< -o $@ # # How to compile C++ with debugging flags # %.i686-pc-cygwin.g.o : %.C @echo "Compiling C++ (in debug mode) "$<"..." @$(CXX) $(CXXFLAGS) $(INCLUDE) -c $< -o $@ # # How to compile C++ with profiling flags # %.i686-pc-cygwin.pg.o : %.C @echo "Compiling C++ (in profiler mode) "$<"..." @$(CXX) $(CXXFLAGS) $(INCLUDE) -c $< -o $@ # # How to compile C++ with syntax-checking flags # %.i686-pc-cygwin.sy.o : %.C @echo "Compiling C++ (in syntax-checker mode) "$<"..." @$(CXX) $(CXXFLAGS) $(INCLUDE) -c $< $(shell touch $@) ################################## # C rules # ################################## # do not show this to the LASPACK Makefile ifeq (x$(included-from-laspack),x) # # How to compile optimized C # %.i686-pc-cygwin.o : %.c @echo "Compiling C (in optimized mode) "$<"..." @$(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ # # How to compile C with debugging flags # %.i686-pc-cygwin.g.o : %.c @echo "Compiling C (in debug mode) "$<"..." @$(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ # # How to compile C with profiling flags # %.i686-pc-cygwin.pg.o : %.c @echo "Compiling C (in profiler mode) "$<"..." @$(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ # # How to compile C with profiling flags # %.i686-pc-cygwin.sy.o : %.c @echo "Compiling C (in syntax-checker mode) "$<"..." @$(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ $(shell touch $@) else # only visible for LASPACK Makefile ifeq ($(enable-complex),yes) # complex: C++ rules for .c Laspack code %.i686-pc-cygwin.o : %.c @echo "Compiling C++ (in optimized mode) "$<"..." @$(CXX) $(CXXFLAGS) $(INCLUDE) -c $< -o $@ %.i686-pc-cygwin.g.o : %.c @echo "Compiling C++ (in debug mode) "$<"..." @$(CXX) $(CXXFLAGS) $(INCLUDE) -c $< -o $@ %.i686-pc-cygwin.pg.o : %.c @echo "Compiling C++ (in profiler mode) "$<"..." @$(CXX) $(CXXFLAGS) $(INCLUDE) -c $< -o $@ %.i686-pc-cygwin.sy.o : %.c @echo "Compiling C++ (in syntax-checker mode) "$<"..." @$(CXX) $(CXXFLAGS) $(INCLUDE) -c $< $(shell touch $@) else # real: C rules for .c Laspack code %.i686-pc-cygwin.o : %.c @echo "Compiling C (in optimized mode) "$<"..." @$(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ %.i686-pc-cygwin.g.o : %.c @echo "Compiling C (in debug mode) "$<"..." @$(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ %.i686-pc-cygwin.pg.o : %.c @echo "Compiling C (in profiler mode) "$<"..." @$(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ %.i686-pc-cygwin.sy.o : %.c @echo "Compiling C (in syntax-checker mode) "$<"..." @$(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@ $(shell touch $@) endif endif #########################################################################= ###### # Local Variables: # mode: makefile # End: On Sat, 29 May 2004 20:57:02 -0800, you wrote: >Hi again > >You can edit Make.common, which is included in every Makefile. Look >for the offending lines containing "Visual Studio". Then try again >compiling with "make". > >Best, Martin |
From: X C. <ch...@ve...> - 2004-06-01 02:22:29
|
Hi1 Martin, Thank you for your reply and suggestion. The xdr.h file is attached in this email. I also suspect that the xdr stuff coming with CYGWIN is a version not compatible with Libmesh. In addition, I am also actively evaluating Deal.II. So far, Deal.II version 5 compiles without problem with CYGWIN.=20 Xin xdr.h dated 10/29-2003 ****************************************************** /* @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. *=20 * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. *=20 * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. *=20 * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. *=20 * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. *=20 * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 */ /* @(#)xdr.h 1.19 87/04/22 SMI */ /* * xdr.h, External Data Representation Serialization Routines. * * Copyright (C) 1984, Sun Microsystems, Inc. */ #ifndef __XDR_HEADER__ #define __XDR_HEADER__ /* * XDR provides a conventional way for converting between C data * types and an external bit-string representation. Library supplied * routines provide for the conversion on built-in C data types. These * routines and utility routines defined here are used to help implement * a type encode/decode routine for each user-defined type. * * Each data type provides a single procedure which takes two arguments: * * bool_t * xdrproc(xdrs, argresp) * XDR *xdrs; * <type> *argresp; * * xdrs is an instance of a XDR handle, to which or from which the data * type is to be converted. argresp is a pointer to the structure to be * converted. The XDR handle contains an operation field which indicates * which of the operations (ENCODE, DECODE * or FREE) is to be performed. * * XDR_DECODE may allocate space if the pointer argresp is null. This * data can be freed with the XDR_FREE operation. * * We write only one procedure per data type to make it easy * to keep the encode and decode procedures for a data type consistent. * In many cases the same code performs all operations on a user defined type, * because all the hard work is done in the component type routines. * decode as a series of calls on the nested data types. */ /* * Xdr operations. XDR_ENCODE causes the type to be encoded into the * stream. XDR_DECODE causes the type to be extracted from the stream. * XDR_FREE can be used to release the space allocated by an XDR_DECODE * request. */ enum xdr_op { XDR_ENCODE=3D0, XDR_DECODE=3D1, XDR_FREE=3D2 }; /* * This is the number of bytes per unit of external data. */ #define BYTES_PER_XDR_UNIT (4) #define RNDUP(x) ((((x) + BYTES_PER_XDR_UNIT - 1) / BYTES_PER_XDR_UNIT) \ * BYTES_PER_XDR_UNIT) /* * A xdrproc_t exists for each data type which is to be encoded or decoded. * * The second argument to the xdrproc_t is a pointer to an opaque pointer. * The opaque pointer generally points to a structure of the data type * to be decoded. If this pointer is 0, then the type routines should * allocate dynamic storage of the appropriate size and return it. * bool_t (*xdrproc_t)(XDR *, caddr_t *); */ typedef bool_t (*xdrproc_t)(); /* * The XDR handle. * Contains operation which is being applied to the stream, * an operations vector for the paticular implementation (e.g. see xdr_mem.c), * and two private fields for the use of the particular impelementation. */ typedef struct { enum xdr_op x_op; /* operation; fast additional param */ struct xdr_ops { bool_t (*x_getlong)(); /* get a long from underlying stream */ bool_t (*x_putlong)(); /* put a long to " */ bool_t (*x_getbytes)();/* get some bytes from " */ bool_t (*x_putbytes)();/* put some bytes to " */ u_int (*x_getpostn)();/* returns bytes off from beginning */ bool_t (*x_setpostn)();/* lets you reposition the stream */ long * (*x_inline)(); /* buf quick ptr to buffered data */ void (*x_destroy)(); /* free privates of this xdr_stream */ } *x_ops; caddr_t x_public; /* users' data */ caddr_t x_private; /* pointer to private data */ caddr_t x_base; /* private used for position info */ int x_handy; /* extra private word */ } XDR; /* * Operations defined on a XDR handle * * XDR *xdrs; * long *longp; * caddr_t addr; * u_int len; * u_int pos; */ #define XDR_GETLONG(xdrs, longp) \ (*(xdrs)->x_ops->x_getlong)(xdrs, longp) #define xdr_getlong(xdrs, longp) \ (*(xdrs)->x_ops->x_getlong)(xdrs, longp) #define XDR_PUTLONG(xdrs, longp) \ (*(xdrs)->x_ops->x_putlong)(xdrs, longp) #define xdr_putlong(xdrs, longp) \ (*(xdrs)->x_ops->x_putlong)(xdrs, longp) #define XDR_GETBYTES(xdrs, addr, len) \ (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len) #define xdr_getbytes(xdrs, addr, len) \ (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len) #define XDR_PUTBYTES(xdrs, addr, len) \ (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len) #define xdr_putbytes(xdrs, addr, len) \ (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len) #define XDR_GETPOS(xdrs) \ (*(xdrs)->x_ops->x_getpostn)(xdrs) #define xdr_getpos(xdrs) \ (*(xdrs)->x_ops->x_getpostn)(xdrs) #define XDR_SETPOS(xdrs, pos) \ (*(xdrs)->x_ops->x_setpostn)(xdrs, pos) #define xdr_setpos(xdrs, pos) \ (*(xdrs)->x_ops->x_setpostn)(xdrs, pos) #define XDR_INLINE(xdrs, len) \ (*(xdrs)->x_ops->x_inline)(xdrs, len) #define xdr_inline(xdrs, len) \ (*(xdrs)->x_ops->x_inline)(xdrs, len) #define XDR_DESTROY(xdrs) \ if ((xdrs)->x_ops->x_destroy) \ (*(xdrs)->x_ops->x_destroy)(xdrs) #define xdr_destroy(xdrs) \ if ((xdrs)->x_ops->x_destroy) \ (*(xdrs)->x_ops->x_destroy)(xdrs) /* * Support struct for discriminated unions. * You create an array of xdrdiscrim structures, terminated with * a entry with a null procedure pointer. The xdr_union routine gets * the discriminant value and then searches the array of structures * for a matching value. If a match is found the associated xdr routine * is called to handle that part of the union. If there is * no match, then a default routine may be called. * If there is no match and no default routine it is an error. */ #define NULL_xdrproc_t ((xdrproc_t)0) struct xdr_discrim { int value; xdrproc_t proc; }; /* * In-line routines for fast encode/decode of primitve data types. * Caveat emptor: these use single memory cycles to get the * data from the underlying buffer, and will fail to operate * properly if the data is not aligned. The standard way to use these * is to say: * if ((buf =3D XDR_INLINE(xdrs, count)) =3D=3D NULL) * return (FALSE); * <<< macro calls >>> * where ``count'' is the number of bytes of data occupied * by the primitive data types. * * N.B. and frozen for all time: each data type here uses 4 bytes * of external representation. */ #define IXDR_GET_LONG(buf) ((long)ntohl((u_long)*(buf)++)) #define IXDR_PUT_LONG(buf, v) (*(buf)++ =3D (long)htonl((u_long)v)) #define IXDR_GET_BOOL(buf) ((bool_t)IXDR_GET_LONG(buf)) #define IXDR_GET_ENUM(buf, t) ((t)IXDR_GET_LONG(buf)) #define IXDR_GET_U_LONG(buf) ((u_long)IXDR_GET_LONG(buf)) #define IXDR_GET_SHORT(buf) ((short)IXDR_GET_LONG(buf)) #define IXDR_GET_U_SHORT(buf) ((u_short)IXDR_GET_LONG(buf)) #define IXDR_PUT_BOOL(buf, v) IXDR_PUT_LONG((buf), ((long)(v))) #define IXDR_PUT_ENUM(buf, v) IXDR_PUT_LONG((buf), ((long)(v))) #define IXDR_PUT_U_LONG(buf, v) IXDR_PUT_LONG((buf), ((long)(v))) #define IXDR_PUT_SHORT(buf, v) IXDR_PUT_LONG((buf), ((long)(v))) #define IXDR_PUT_U_SHORT(buf, v) IXDR_PUT_LONG((buf), ((long)(v))) /* * These are the "generic" xdr routines. */ extern bool_t xdr_void(); extern bool_t xdr_int(); extern bool_t xdr_u_int(); extern bool_t xdr_long(); extern bool_t xdr_u_long(); extern bool_t xdr_short(); extern bool_t xdr_u_short(); extern bool_t xdr_int64_t(); extern bool_t xdr_u_int64_t(); extern bool_t xdr_bool(); extern bool_t xdr_enum(); extern bool_t xdr_array(); extern bool_t xdr_bytes(); extern bool_t xdr_opaque(); extern bool_t xdr_string(); extern bool_t xdr_union(); extern bool_t xdr_char(); extern bool_t xdr_u_char(); extern bool_t xdr_vector(); extern bool_t xdr_float(); extern bool_t xdr_double(); extern bool_t xdr_reference(); extern bool_t xdr_pointer(); extern bool_t xdr_wrapstring(); /* * Common opaque bytes objects used by many rpc protocols; * declared here due to commonality. */ #define MAX_NETOBJ_SZ 1024=20 struct netobj { u_int n_len; char *n_bytes; }; typedef struct netobj netobj; extern bool_t xdr_netobj(); /* * These are the public routines for the various implementations of * xdr streams. */ extern void xdrmem_create(); /* XDR using memory buffers */ extern void xdrstdio_create(); /* XDR using stdio library */ extern void xdrrec_create(); /* XDR pseudo records for tcp */ extern bool_t xdrrec_endofrecord(); /* make end of xdr record */ extern bool_t xdrrec_skiprecord(); /* move to beginning of next record */ extern bool_t xdrrec_eof(); /* true if no more input */ /* free memory buffers for xdr */ extern void xdr_free(xdrproc_t proc, char *objp); #endif /* !__XDR_HEADER__ */ On Mon, 31 May 2004 16:45:32 -0800, you wrote: >Hi Xin > >X Chen writes: > > Thank you for your encourgement, and help. I am actively evaluating a > >sure! > > > few open source FEM libraries, and realize the potential value of = such > > open source FEM libraries can be very high. I understand the software > >you should also look at www.dealii.org. This library now also supports >Petsc, and will run on MPI machines. > >Could you please post me /usr/include/rpc/xdr.h? I will try to find >the difference to my system, where it works. > >Best, Martin |