Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] Windows CMake build problems ... (cont.)
From: cjohnson_at_[hidden]
Date: 2010-01-14 02:34:16


The OpenMPI build problem I'm having occurs in both OpenMPI 1.4 and 1.3.4.

I am on a Windows 7 (US) Enterprise (x86) OS on an HP system with Intel core 2 extreme x9000 (4GB RAM), using the 2005 Visual Studio for S/W Architects (release 8.0.50727.867).

[That release has everything the platform SDK would have.]

I'm using CMake 2.8 to generate code, I used it correctly, pointing at the root directory where the makelists are located for the source side and to an empty directory for the build side: did configure, I did not click debug this time as suggested by Shiqing, configure again, generate and opened the OpenMPI.sln file created by CMake. Then I right-clicked on the "ALL_BUILD" project and selected "build". Then did one "rebuild", just in case build order might get one more success (which it seemed to, but I could not find).

2 projects built, 12 did not. I have the build listing. [I'm afraid of what the mailing list server would do if I attached it to this email.]

All the compiles were successful (warnings at most.) All the errors were were from linking the VC projects:

1>libopen-pal - 0 error(s), 9 warning(s)
3>opal-restart - 32 error(s), 0 warning(s)
4>opal-wrapper - 21 error(s), 0 warning(s)
2>libopen-rte - 749 error(s), 7 warning(s)
5>orte-checkpoint - 32 error(s), 0 warning(s)
7>orte-ps - 28 error(s), 0 warning(s)
8>orted - 2 error(s), 0 warning(s)
9>orte-clean - 13 error(s), 0 warning(s)
10>orterun - 100 error(s), 3 warning(s)
6>libmpi - 2133 error(s), 42 warning(s)
12>ompi-server - 27 error(s), 0 warning(s)
11>ompi_info - 146 error(s), 0 warning(s)
13>libmpi_cxx - 456 error(s), 61 warning(s)
========== Rebuild All: 2 succeeded, 12 failed, 0 skipped ==========

It said that 2 succeeded, I could not find the second build success in the listing.

However, everything did compile, and thank you Shiqing !

Here is the listing for the first failed link, on "opal-restart":

3>------ Rebuild All started: Project: opal-restart, Configuration: Debug Win32 ------
3>Deleting intermediate and output files for project 'opal-restart', configuration 'Debug|Win32'
3>Compiling...
3>opal-restart.c
2>Compiling...
2>snapc_base_select.c
3>Compiling manifest to resources...
3>Linking...
2>snapc_base_open.c
3>opal-restart.obj : error LNK2001: unresolved external symbol __imp__opal_crs
3>opal-restart.obj : error LNK2001: unresolved external symbol __imp__opal_crs_base_snapshot_t_class
3>opal-restart.obj : error LNK2001: unresolved external symbol __imp__opal_crs_base_selected_component
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_crs_base_select referenced in function _main
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_crs_base_open referenced in function _main
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_output_verbose referenced in function _main
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_crs_base_extract_expected_component referenced in function _main
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_crs_base_get_snapshot_directory referenced in function _main
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_setenv referenced in function _main
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__mca_base_param_env_var referenced in function _main
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_show_help referenced in function _main
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_class_initialize referenced in function "struct opal_object_t * __cdecl opal_obj_new(struct opal_class_t *)" (?opal_obj_new@@YAPAUopal_object_t@@PAUopal_class_t@@@Z)
3>opal-restart.obj : error LNK2001: unresolved external symbol __imp__opal_cr_is_tool
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_init referenced in function "int __cdecl initialize(int,char * * const)" (?initialize@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_output_set_verbosity referenced in function "int __cdecl initialize(int,char * * const)" (?initialize@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_output_open referenced in function "int __cdecl initialize(int,char * * const)" (?initialize@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_init_util referenced in function "int __cdecl initialize(int,char * * const)" (?initialize@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_finalize referenced in function "int __cdecl finalize(void)" (?finalize@@YAHXZ)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_argv_join referenced in function "int __cdecl parse_args(int,char * * const)" (?parse_args@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_cmd_line_get_tail referenced in function "int __cdecl parse_args(int,char * * const)" (?parse_args@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_cmd_line_get_usage_msg referenced in function "int __cdecl parse_args(int,char * * const)" (?parse_args@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_argv_count referenced in function "int __cdecl parse_args(int,char * * const)" (?parse_args@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__mca_base_cmd_line_process_args referenced in function "int __cdecl parse_args(int,char * * const)" (?parse_args@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_cmd_line_parse referenced in function "int __cdecl parse_args(int,char * * const)" (?parse_args@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__mca_base_cmd_line_setup referenced in function "int __cdecl parse_args(int,char * * const)" (?parse_args@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__mca_base_open referenced in function "int __cdecl parse_args(int,char * * const)" (?parse_args@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_cmd_line_create referenced in function "int __cdecl parse_args(int,char * * const)" (?parse_args@@YAHHQAPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_argv_free referenced in function "int __cdecl check_file(char *)" (?check_file@@YAHPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_output referenced in function "int __cdecl check_file(char *)" (?check_file@@YAHPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_crs_base_metadata_read_token referenced in function "int __cdecl post_env_vars(int,char *)" (?post_env_vars@@YAHHPAD@Z)
3>opal-restart.obj : error LNK2019: unresolved external symbol __imp__opal_asprintf referenced in function "int __cdecl post_env_vars(int,char *)" (?post_env_vars@@YAHHPAD@Z)
3>C:\prog\mon\Debug\opal-restart.exe : fatal error LNK1120: 31 unresolved externals
3>Build log was saved at "file://c:\prog\mon\opal\tools\opal-restart\opal-restart.dir\Debug\BuildLog.htm"
3>opal-restart - 32 error(s), 0 warning(s)

Now, these link errors may be from missing networking software and hardware, I was just following the instructions in openmpi-1.4.tar.gz:a/openmpi-1.4/README.WINDOWS:

> First approach: Using CMake
>
> NOTE: CMake support is available in the Open MPI development
> trunk and 1.3.3 release.
>
> 1. Download the latest version of CMake (at least v2.4).
>
> 2. In the CMake GUI, add the source path and build path of Open MPI
>    (out of source build is recommended).
>
> 3. Then configure, and after the first time configuration, all
>    available options will show up in the CMake GUI.  Select the
>    options that you require.
>
> 4. Run configure again to generate all Windows solution files; they
>    will be generated in build path.
>
> 5. Go to the build directory, open the generated Windows solution
>    file, and compile.
>
> 6. To generate a installer, you should install NSIS, and build the
>     'PACKAGE' project in the Open MPI sulotion.
>

These instructions did not mention any link libraries I had to add to complete the build.

Thanks in advance for any help !

Charlie ...