Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trilinos install failure due to remote change #4

Open
RuixiongHu opened this issue May 27, 2020 · 3 comments
Open

Trilinos install failure due to remote change #4

RuixiongHu opened this issue May 27, 2020 · 3 comments
Assignees
Labels
Trilinos Question over Trilinos

Comments

@RuixiongHu
Copy link

Jacob was experiencing some error when building Trilinos from primary repo using my cmake script.

My cmake script was up-to-date until Feburary 2020 and he's able to build it with the Trilinos downloaded at the same time. So I would assume the cmake script I provided is no longer compatible to the Trilinos in the master repo.

For those in RPI wants to use or do a test build of Trilinos using the script I provided in the wiki, please use /lore/hur3/Trilinos instead of directly git clone from its master repo.

@JustinClough I'm not sure when is your last time to build Trilinos. But if it's later than Feb this year could you show me if there's any change in building it? Or if there's any pointer that's constantly updating the cmake scirpt of building Trilinos for Albany?

@RuixiongHu RuixiongHu added the Trilinos Question over Trilinos label May 27, 2020
@RuixiongHu RuixiongHu self-assigned this May 27, 2020
@JustinClough
Copy link
Collaborator

It's been almost a year since I updated Trilinos on my machines (trilinos/Trilinos@a0ba716). Can you post the error message here? I'll take a look at it to see if anything stands out.

@RuixiongHu
Copy link
Author

Yeah @JustinClough my last build was in Feburary this year. And all the things worked if Jacob copied my Trilinos instead of the updated master repo

This is what he observed:

[ 55%] Linking CXX executable skinner ......///exodusexodusexodus///libIoex.so.12.17libIoex.so.12.17libIoex.so.12.17:.:.: ..undefined./undefined/ reference.exodus.exodusreference /.to/ libIoex.so.12.17/ exodusto:exodus undefined/ /Ioex libIoex.so.12.17libIoex.so.12.17:reference:: : undefinedParallelDatabaseIOto undefined :reference/ undefined: libIoex.so.12.17toreference ParallelDatabaseIO: Ioexreference(Ioex Ioexto: : IoexIoss::undefinedParallelDatabaseIOto: :::: :reference:IoexParallelDatabaseIO:ParallelDatabaseIOParallelDatabaseIO (to:ParallelDatabaseIO:: Ioss::::ParallelDatabaseIOParallelDatabaseIO:ParallelDatabaseIOIoex((RegionIoss(Ioss::Ioss,:::::: ParallelDatabaseIORegionRegionRegionstd:::,,,:ParallelDatabaseIO std(__cxx11:stdIoss:::__cxx11:Region::basic_string:__cxx11<,basic_string :char<std:,:char basic_string:,std<__cxx11 :char:std:,::char_traits basic_string:<std<char_traitschar:char<>:,char,char_traits > <std,stdchar: :>:std:,char_traits:allocator <:stdcharallocatorchar:<>:,char allocator >>const>: & allocatorconst,><& char,Iossconst> :& Ioss:,>:DatabaseUsage :,Iossconst DatabaseUsage:&int,: ,:DatabaseUsageint,:, ParallelDatabaseIO intIoss:,:: : PropertyManagerParallelDatabaseIOstd Iossconst:&:):':__cxx11
PropertyManager: const::basic_string&<:char),Region' std,
: :std,char_traits:< char:Ioss>__cxx11:,: DatabaseUsage std,:Ioss ::intallocator,: (const:Ioss &PropertyManager:> ):collect2: error: ld returned 1 exit status
const'&Regionconstcollect2: error: ld returned 1 exit status
)
&
',,
Ioss::std:::DatabaseUsagebasic_string:,__cxx11 int::, basic_string<Iosschar,: std:PropertyManager: const:&)char_traits<',, stdstd::::char_traitscollect2: error: ld returned 1 exit status
allocatorcollect2: error: ld returned 1 exit status
<>, >std :const:&allocator,< charIoss>: :>DatabaseUsage ,const &int,, IossIosscollect2: error: ld returned 1 exit status
::::DatabaseUsagePropertyManager, constint&,) 'Ioss
::PropertyManager const&)'
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
make[2]: *** [packages/seacas/libraries/ioss/src/main/io_modify] Error 1
make[2]: *** [packages/seacas/libraries/ioss/src/main/io_shell] Error 1
make[2]: *** [packages/seacas/libraries/ioss/src/main/sphgen] Error 1
make[2]: make[2]: *** [packages/seacas/libraries/ioss/src/main/skinner] Error 1
** [packages/seacas/libraries/ioss/src/main/io_info] Error 1

make[2]: *** [packages/seacas/libraries/ioss/src/main/cth_pressure_map] Error 1
make[1]: *** [packages/seacas/libraries/ioss/src/main/CMakeFiles/io_modify.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [packages/seacas/libraries/ioss/src/main/CMakeFiles/io_shell.dir/all] Error 2
make[2]: *** [packages/seacas/libraries/ioss/src/main/shell_to_hex] Error 1
make[1]: *** [packages/seacas/libraries/ioss/src/main/CMakeFiles/sphgen.dir/all] Error 2
make[1]: *** [packages/seacas/libraries/ioss/src/main/CMakeFiles/skinner.dir/all] Error 2
make[1]: *** [packages/seacas/libraries/ioss/src/main/CMakeFiles/io_info.dir/all] Error 2
make[1]: *** [packages/seacas/libraries/ioss/src/main/CMakeFiles/cth_pressure_map.dir/all] Error 2
make[1]: *** [packages/seacas/libraries/ioss/src/main/CMakeFiles/shell_to_hex.dir/all] Error 2`

It seems that some support for Sandia's mesh (exo etc) is causing the problem. This is not a big problem for now as I have a working Trilinos anyway. But it's still good if you know anythign about this.

@JustinClough
Copy link
Collaborator

Nothing specific jumping out at me. There root of the error is from the linker (ld)

...error: ld returned 1 exit status allocatorcollect2: error: ld returned 1 exit status...

I get this error sometimes updating Trilinos when I don't clear out the old installation. Essentially new packages are trying to link to new versions of other packages but are only finding the old ones. If you haven't already tried it, rm the build and installation directories and restart from scratch. It is more time intensive but also more reliable.

Also in case you don't know, you can capture and manipulate output text from commands in bash with >> output.txt. For example:

make -j 4 >> make_output_text.txt

will redirect all the text output from make into the file make_output_text.txt. I usually append commands with:

<whatever_command> 2>&1  | tee command_output.txt

Which both prints all output to the terminal like normal and saves it to the file command_output.txt. More on it here. I mention this as it would be easier to do the above, then upload the txt file so that github doesn't mangle the formatting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Trilinos Question over Trilinos
Projects
None yet
Development

No branches or pull requests

2 participants