[Users] Linker errors
Ian Hinder
ian.hinder at aei.mpg.de
Fri Jan 6 03:14:47 CST 2012
Hi,
I have recently been getting the following linker error on some builds of the ET:
> /home/ianhin/Cactus/EinsteinToolkitTests/configs/einsteintoolkit_e055fb02a4c17556fd41c009e44c5f0671d21e6e/lib/libthorn_CactusBindings.a(ScheduleGRHydro_InitData.c.o): In function `CCTKi_BindingsSchedule_GRHydro_InitData':
> /home/ianhin/Cactus/EinsteinToolkitTests/configs/einsteintoolkit_e055fb02a4c17556fd41c009e44c5f0671d21e6e/bindings/Schedule/ScheduleGRHydro_InitData.c:185: undefined reference to `grhydro_cylindricalexplosionm_'
> make[1]: *** [/home/ianhin/Cactus/EinsteinToolkitTests/exe/cactus_einsteintoolkit_e055fb02a4c17556fd41c009e44c5f0671d21e6e] Error 1
> make: *** [einsteintoolkit_e055fb02a4c17556fd41c009e44c5f0671d21e6e] Error 2
It is reproducible, in the sense that I can run the build command again on the same configuration without cleaning it, and get the same error. But when a new configuration is built, the error goes away or changes. I first saw this a few days ago, and have never seen it before.
The first time I saw it, the error was with one of the bindings files:
> 16039 /home/ianhin/Cactus/EinsteinToolkitTests/configs/einsteintoolkit_63b457e6e6391de8061e1fd96b7cac0c1d8a775d/lib/libthorn_CactusBindings.a(BindingsSchedule.c.o): In function `CCTKi_BindingsScheduleInitialise':
> 16040 /home/ianhin/Cactus/EinsteinToolkitTests/configs/einsteintoolkit_63b457e6e6391de8061e1fd96b7cac0c1d8a775d/bindings/Schedule/BindingsSchedule.c:440: undefined reference to `CCTKi_BindingsSchedule_Hydro_InitExcision'
> 16041 /home/ianhin/Cactus/EinsteinToolkitTests/configs/einsteintoolkit_63b457e6e6391de8061e1fd96b7cac0c1d8a775d/lib/libthorn_CactusBindings.a(BindingsParameterRecovery.c.o): In function `CCTKi_BindingsParameterRecoveryInitialise':
> 16042 /home/ianhin/Cactus/EinsteinToolkitTests/configs/einsteintoolkit_63b457e6e6391de8061e1fd96b7cac0c1d8a775d/bindings/Schedule/BindingsParameterRecovery.c:689: undefined reference to `CCTKi_BindingsParameterRecovery_Hydro_InitExcision'
> 16043 make[1]: *** [/home/ianhin/Cactus/EinsteinToolkitTests/exe/cactus_einsteintoolkit_63b457e6e6391de8061e1fd96b7cac0c1d8a775d] Error 1
> 16044 make: *** [einsteintoolkit_63b457e6e6391de8061e1fd96b7cac0c1d8a775d] Error 2
The only thing in common is that the problem always seems to arise with GRHydro, but this might be a coincidence.
Looking back in the build log for the first case, I see:
13013 COMPILING /home/ianhin/Cactus/EinsteinToolkitTests/arrangements/EinsteinInitialData/GRHydro_InitData/src/GRHydro_CylindricalExplosionM.F90
13014 : remark #5133: The input stream is empty
If this file were in fact empty, the linker error is what I would expect. But the file does not seem to be empty, it does in fact contain the subroutine GRHydro_cylindricalexplosionM.
The output files in the config directory seem to be OK:
> [ianhin at io1 EinsteinToolkitTests]$ wc configs/einsteintoolkit_63b457e6e6391de8061e1fd96b7cac0c1d8a775d/build/GRHydro_InitData/GRHydro_CylindricalExplosionM.f90
> 2637 7513 64109 configs/einsteintoolkit_63b457e6e6391de8061e1fd96b7cac0c1d8a775d/build/GRHydro_InitData/GRHydro_CylindricalExplosionM.f90
> [ianhin at io1 EinsteinToolkitTests]$ nm configs/einsteintoolkit_63b457e6e6391de8061e1fd96b7cac0c1d8a775d/build/GRHydro_InitData/GRHydro_CylindricalExplosionM.F90.o
> 0000000000000000 N .debug_info_seg
> 0000000000000018 r STRLITPACK_0
> 0000000000000010 r STRLITPACK_1
> 0000000000000008 r STRLITPACK_2
> 0000000000000000 r STRLITPACK_3
> 0000000000000000 r _2il0floatpacket.324
> 0000000000000008 r _2il0floatpacket.325
> 0000000000000010 r _2il0floatpacket.326
> 0000000000000018 r _2il0floatpacket.327
> 0000000000000020 r _2il0floatpacket.328
> 0000000000000028 r _2il0floatpacket.329
> 0000000000000030 r _2il0floatpacket.330
> 0000000000000038 r _2il0floatpacket.331
> U _intel_fast_memset
> 000000000000007c C admbaserest_
> U cctk_equals_
> 0000000000002d60 T cyl_fr_
> U exp
> 0000000000000000 T grhydro_cylindricalexplosionm_
> 0000000000000078 C grhydro_initdatapriv_
> 0000000000000268 C grhydrorest_
> 0000000000000058 C hydrobaserest_
> U log
> U prim2congenm_
> U prim2conpolym_
Does anyone have an idea of why this might have started happening?
--
Ian Hinder
http://numrel.aei.mpg.de/people/hinder
More information about the Users
mailing list