Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29375 Discussions

forrtl: severe (174): SIGSEGV, segmentation fault occurred when I try to run FVCOM code on Linux (colorado) system

Sunnyday
Beginner
2,238 Views

Hello, all

I've faced a problem about :forrtl: severe (174): SIGSEGV, segmentation fault occurred when I try to run FVCOM code on Linux (colorado) system.

orrtl: severe (174): SIGSEGV, segmentation fault occurred

Image              PC                Routine            Line        Source

fvcom              0000000000521FAE  Unknown               Unknown  Unknown

fvcom              000000000055B222  Unknown               Unknown  Unknown

fvcom              0000000000766292  Unknown               Unknown  Unknown

fvcom              000000000069FDB8  Unknown               Unknown  Unknown

fvcom              000000000073C0AA  Unknown               Unknown  Unknown

fvcom              0000000000444E1C  Unknown               Unknown  Unknown

libc.so.6          00002AAF4D792994  Unknown               Unknown  Unknown

fvcom              0000000000444D29  Unknown               Unknown  Unknown


I want to use -heap-arrays as recommended, however, I'm not sure if I used the right format of it.

-bash-3.2$ ifort -heap-arrays 10 fvcom

fvcom:(.rodata+0x0): multiple definition of `_IO_stdin_used'

/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crt1.o:(.rodata.cst4+0x0): first defined here

fvcom: In function `main':

(.text+0xe0): multiple definition of `main'

/curc/tools/nonfree/redhat_5_x86_64/ics_2011.0.013/composerxe-2011.0.084/compiler/lib/intel64/for_main.o:/export/users/nbtester/efi2linux_nightly/branch-12_0/20101007_000000/libdev/frtl/src/libfor/for_main.c:(.text+0x0): first defined here

fvcom: In function `_fini':

(.fini+0x0): multiple definition of `_fini'

/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crti.o:(.fini+0x0): first defined here

fvcom: In function `_start':

(.text+0x0): multiple definition of `_start'

/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crt1.o:(.text+0x0): first defined here

fvcom: In function `_init':

(.init+0x0): multiple definition of `_init'

/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crti.o:(.init+0x0): first defined here

fvcom: In function `__data_start':

(.data+0x0): multiple definition of `__data_start'

/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crt1.o:(.data+0x0): first defined here


Any suggestion to solve this problem?
Thanks.


Qianru

0 Kudos
2 Replies
TimP
Honored Contributor III
2,238 Views

Are you hoping to use ifort to reconfigure an executable without a full rebuild?  That doesn't work.  You must rebuild each procedure you want to switch e.g. ifort -c -heap-arrays *.f and re-link from object files and libraries.

You probably want heap-arrays with no size specifier, which will make all alllocations on heap.  The size specifier keeps all allocations of size which is not known at compile time on stack.

Adding the -traceback option to the link step may help in finding where a segv occurs by running under debugger.   Such hints should be included in the paper on resolving segv which should be referred to in "useful information..." at the top of the forum.

By the way, you posted in the Windows forum; there is a separate one for linux.

0 Kudos
Steven_L_Intel1
Employee
2,238 Views

Moved to the Linux forum

0 Kudos
Reply