BSS1 error

Hi, everyone:

I am compiling an USEPA air quality model. The package that I compiled is IOAPI.
I met BSS1 error. Enclosed is the log of my compilation. I assumed the program created a huge array that is beyond the scope of pgf90.

Is there a way to overcome this ?

Regards,
Shizoom Wang

/tmp/pgf90_v8e6giW-Fxh.s: Assembler messages:
/tmp/pgf90_v8e6giW-Fxh.s:3366: Warning: size (-71630290400) out of range, ignored
/tmp/pgf90Uv8ek_iiG0vd.o: In function m3combo': /home/zoom/apps/m3tools/./m3combo.f:149: undefined reference to init3_’
/home/zoom/apps/m3tools/./m3combo.f:149: undefined reference to getyn_' /home/zoom/apps/m3tools/./m3combo.f:149: undefined reference to m3exit_’
/home/zoom/apps/m3tools/./m3combo.f:223: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:223: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:224: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:224: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:225: undefined reference to .BSS1' /tmp/pgf90Uv8ek_iiG0vd.o:/home/zoom/apps/m3tools/./m3combo.f:225: more undefined references to .BSS1’ follow
/tmp/pgf90Uv8ek_iiG0vd.o: In function m3combo': /home/zoom/apps/m3tools/./m3combo.f:226: relocation truncated to fit: R_X86_64_32 against undefined symbol .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:226: undefined reference to strlist_' /home/zoom/apps/m3tools/./m3combo.f:226: undefined reference to m3mesg_’
/home/zoom/apps/m3tools/./m3combo.f:236: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:236: relocation truncated to fit: R_X86_64_32 against undefined symbol .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:236: undefined reference to open3_' /home/zoom/apps/m3tools/./m3combo.f:236: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:236: relocation truncated to fit: R_X86_64_32 against undefined symbol .BSS1' /home/zoom/apps/m3tools/./m3combo.f:236: undefined reference to m3mesg_’
/home/zoom/apps/m3tools/./m3combo.f:242: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:242: relocation truncated to fit: R_X86_64_32 against undefined symbol .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:242: undefined reference to desc3_' /home/zoom/apps/m3tools/./m3combo.f:242: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:242: relocation truncated to fit: R_X86_64_32 against undefined symbol .BSS1' /home/zoom/apps/m3tools/./m3combo.f:242: undefined reference to m3mesg_’
/home/zoom/apps/m3tools/./m3combo.f:269: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:269: relocation truncated to fit: R_X86_64_32S against undefined symbol .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:270: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:270: relocation truncated to fit: R_X86_64_32S against undefined symbol .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:279: undefined reference to m3mesg_' /home/zoom/apps/m3tools/./m3combo.f:284: undefined reference to time2sec_’
/home/zoom/apps/m3tools/./m3combo.f:284: undefined reference to sec2time_' /home/zoom/apps/m3tools/./m3combo.f:284: undefined reference to nextime_’
/home/zoom/apps/m3tools/./m3combo.f:290: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:290: relocation truncated to fit: R_X86_64_32S against undefined symbol .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:290: undefined reference to open3_' /home/zoom/apps/m3tools/./m3combo.f:290: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:290: relocation truncated to fit: R_X86_64_32S against undefined symbol .BSS1' /home/zoom/apps/m3tools/./m3combo.f:290: undefined reference to m3mesg_’
/home/zoom/apps/m3tools/./m3combo.f:298: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:298: relocation truncated to fit: R_X86_64_32S against undefined symbol .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:298: undefined reference to desc3_' /home/zoom/apps/m3tools/./m3combo.f:298: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:298: additional relocation overflows omitted from the output
/home/zoom/apps/m3tools/./m3combo.f:298: undefined reference to m3mesg_' /home/zoom/apps/m3tools/./m3combo.f:304: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:304: undefined reference to filchk3_' /home/zoom/apps/m3tools/./m3combo.f:304: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:304: undefined reference to m3mesg_' /home/zoom/apps/m3tools/./m3combo.f:311: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:311: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:311: undefined reference to grdchk3_’
/home/zoom/apps/m3tools/./m3combo.f:311: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:311: undefined reference to m3mesg_’
/home/zoom/apps/m3tools/./m3combo.f:320: undefined reference to time2sec_' /home/zoom/apps/m3tools/./m3combo.f:320: undefined reference to sec2time_’
/home/zoom/apps/m3tools/./m3combo.f:320: undefined reference to nextime_' /home/zoom/apps/m3tools/./m3combo.f:331: undefined reference to secsdiff_’
/home/zoom/apps/m3tools/./m3combo.f:339: undefined reference to time2sec_' /home/zoom/apps/m3tools/./m3combo.f:339: undefined reference to sec2time_’
/home/zoom/apps/m3tools/./m3combo.f:339: undefined reference to nextime_' /home/zoom/apps/m3tools/./m3combo.f:339: undefined reference to secsdiff_’
/home/zoom/apps/m3tools/./m3combo.f:353: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:355: undefined reference to m3exit_’
/home/zoom/apps/m3tools/./m3combo.f:363: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:363: undefined reference to strlist_’
/home/zoom/apps/m3tools/./m3combo.f:363: undefined reference to m3exit_' /home/zoom/apps/m3tools/./m3combo.f:373: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:373: undefined reference to strlist_' /home/zoom/apps/m3tools/./m3combo.f:373: undefined reference to m3msg2_’
/home/zoom/apps/m3tools/./m3combo.f:379: undefined reference to m3msg2_' /home/zoom/apps/m3tools/./m3combo.f:387: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:387: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:387: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:387: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:387: undefined reference to .BSS1’
/tmp/pgf90Uv8ek_iiG0vd.o:/home/zoom/apps/m3tools/./m3combo.f:387: more undefined references to .BSS1' follow /tmp/pgf90Uv8ek_iiG0vd.o: In function m3combo’:
/home/zoom/apps/m3tools/./m3combo.f:387: undefined reference to strlist_' /home/zoom/apps/m3tools/./m3combo.f:387: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:387: undefined reference to m3msg2_' /home/zoom/apps/m3tools/./m3combo.f:407: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:407: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:409: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:409: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:409: undefined reference to strlist_’
/home/zoom/apps/m3tools/./m3combo.f:409: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:409: undefined reference to m3msg2_’
/home/zoom/apps/m3tools/./m3combo.f:418: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:418: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:418: undefined reference to m3msg2_' /home/zoom/apps/m3tools/./m3combo.f:426: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:426: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:426: undefined reference to realist_’
/home/zoom/apps/m3tools/./m3combo.f:426: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:426: undefined reference to m3msg2_’
/home/zoom/apps/m3tools/./m3combo.f:437: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:437: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:437: undefined reference to m3msg2_' /home/zoom/apps/m3tools/./m3combo.f:445: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:447: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:447: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:447: undefined reference to index1_' /home/zoom/apps/m3tools/./m3combo.f:447: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:447: undefined reference to m3msg2_' /home/zoom/apps/m3tools/./m3combo.f:455: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:455: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:455: undefined reference to index1_’
/home/zoom/apps/m3tools/./m3combo.f:455: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:455: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:455: undefined reference to m3msg2_' /home/zoom/apps/m3tools/./m3combo.f:466: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:466: undefined reference to m3msg2_' /home/zoom/apps/m3tools/./m3combo.f:472: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:472: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:472: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:472: undefined reference to index1_' /home/zoom/apps/m3tools/./m3combo.f:472: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:479: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:479: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:479: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:484: undefined reference to envreal_’
/home/zoom/apps/m3tools/./m3combo.f:484: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:484: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:484: undefined reference to m3msg2_' /home/zoom/apps/m3tools/./m3combo.f:494: undefined reference to m3mesg_’
/home/zoom/apps/m3tools/./m3combo.f:509: undefined reference to m3exit_' /home/zoom/apps/m3tools/./m3combo.f:515: undefined reference to getnum_’
/home/zoom/apps/m3tools/./m3combo.f:515: undefined reference to getnum_' /home/zoom/apps/m3tools/./m3combo.f:515: undefined reference to getnum_’
/home/zoom/apps/m3tools/./m3combo.f:515: undefined reference to currec_' /home/zoom/apps/m3tools/./m3combo.f:515: undefined reference to getnum_’
/home/zoom/apps/m3tools/./m3combo.f:543: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:543: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:543: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:548: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:553: undefined reference to promptmfile_' /home/zoom/apps/m3tools/./m3combo.f:563: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:563: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:563: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:563: undefined reference to read3_' /home/zoom/apps/m3tools/./m3combo.f:563: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:563: undefined reference to m3msg2_' /home/zoom/apps/m3tools/./m3combo.f:577: undefined reference to m3exit_’
/home/zoom/apps/m3tools/./m3combo.f:583: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:583: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:587: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:589: undefined reference to .BSS1’
/home/zoom/apps/m3tools/./m3combo.f:591: undefined reference to .BSS1' /tmp/pgf90Uv8ek_iiG0vd.o:/home/zoom/apps/m3tools/./m3combo.f:591: more undefined references to .BSS1’ follow
/tmp/pgf90Uv8ek_iiG0vd.o: In function m3combo': /home/zoom/apps/m3tools/./m3combo.f:597: undefined reference to write3_’
/home/zoom/apps/m3tools/./m3combo.f:597: undefined reference to .BSS1' /home/zoom/apps/m3tools/./m3combo.f:597: undefined reference to m3msg2_’
/home/zoom/apps/m3tools/./m3combo.f:609: undefined reference to m3exit_' /home/zoom/apps/m3tools/./m3combo.f:613: undefined reference to nextime_’
/home/zoom/apps/m3tools/./m3combo.f:617: undefined reference to `m3exit_’[/list][/quote]

Hi Shizoom Wang,

I’m not sure what the cause is. It appears that you’re getting an assembler error that’s then causing the undefined references. However, I would need to replicate the error to confirm.

I have IOAPI 3.0 but it built correctly for me. Have you made any changes to the source such as changing the MXFILES3 variable in PARAMS3.EXT? What “BIN” do you use to build IOAPI? What OS are you using? Which PGI compiler version? What assembler are you using (‘as --version’)? Also, can you please post the compilation line for the m3combo.f file?

Thanks
Mat

Dear Mat:

Thank you for your reply.

I changed the MXVARS3 to value 50000. So does parms3.h and PARMS3.EXT under ioapi/fixed_src. I did this as suggested by CMAQ website. My BIN is Linux2_x86_64pg. My Linux is CENTOS 5.5 kernel 2.6.18-194.32.1.el5#1 SMP. I use PGI version 11.1 and 11.2. Both gave me the same error. And I can compile IOAPI without any problem if I set MXVARS3 to 5000!

Dear Mat:

Here is my output when compiling ioapi/m3tool:
cd /home/zoom/apps/Linux2_x86_64pg; /opt/pgi/linux86-64/11.2/bin/pgf90 /home/zoom/apps/Linux2_x86_64pg/m3combo.o -L/home/zoom/apps/Linux2_x86_64pg -lioapi -lnetcdf -o m3combo
/home/zoom/apps/Linux2_x86_64pg/m3combo.o: In function m3combo': /home/zoom/apps/m3tools/m3combo.f:223: undefined reference to .BSS1’
/home/zoom/apps/m3tools/m3combo.f:223: undefined reference to .BSS1' /home/zoom/apps/m3tools/m3combo.f:224: undefined reference to .BSS1’
/home/zoom/apps/m3tools/m3combo.f:224: undefined reference to .BSS1' /home/zoom/apps/m3tools/m3combo.f:225: undefined reference to .BSS1’
/home/zoom/apps/Linux2_x86_64pg/m3combo.o:/home/zoom/apps/m3tools/m3combo.f:225: more undefined references to .BSS1' follow /home/zoom/apps/Linux2_x86_64pg/m3combo.o: In function m3combo’:
/home/zoom/apps/m3tools/m3combo.f:228: relocation truncated to fit: R_X86_64_32 against undefined symbol .BSS1' /home/zoom/apps/m3tools/m3combo.f:363: relocation truncated to fit: R_X86_64_32 against undefined symbol .BSS1’
/home/zoom/apps/m3tools/m3combo.f:373: relocation truncated to fit: R_X86_64_32 against undefined symbol .BSS1' /home/zoom/apps/m3tools/m3combo.f:387: relocation truncated to fit: R_X86_64_32S against undefined symbol .BSS1’
/home/zoom/apps/m3tools/m3combo.f:387: relocation truncated to fit: R_X86_64_32S against undefined symbol .BSS1' /home/zoom/apps/m3tools/m3combo.f:387: relocation truncated to fit: R_X86_64_32S against undefined symbol .BSS1’
/home/zoom/apps/m3tools/m3combo.f:387: relocation truncated to fit: R_X86_64_32S against undefined symbol .BSS1' /home/zoom/apps/m3tools/m3combo.f:387: relocation truncated to fit: R_X86_64_32S against undefined symbol .BSS1’
/home/zoom/apps/m3tools/m3combo.f:387: relocation truncated to fit: R_X86_64_32S against undefined symbol .BSS1' /home/zoom/apps/m3tools/m3combo.f:387: relocation truncated to fit: R_X86_64_32S against undefined symbol .BSS1’
/home/zoom/apps/m3tools/m3combo.f:398: additional relocation overflows omitted from the output
make: *** [m3combo] Error 2

Hi Shizoom Wang,

I changed the MXVARS3 to value 50000

Ok, it’s a medium memory issue. By default, we use the small memory which limits static objects to be less than 2Gb. By setting MXVARS3 to 50000, you cause several variables to exceed this limit. For example:

CHARACTER*16    IFILE( MXVARS3, MXVARS3 )

The size in bytes of IFILE is 50000x50000x16, or 37Gb. When MXVARS is 5000, IFILE is 380Mb.

To fix, you need to compile m3combo.f with the “-mcmodel=medium” flag and link with shared libraries (.so) or libraries built with position independent code (-fpic).

I did this as suggested by CMAQ website

Can you post a link to this suggestion? I wonder if they tested it with m3combo.

Hope this helps,
Mat

Dear Mat:

You are right.
As for version 3.1 of I/OAPI, the suggested MXVARS is 2048. Much smaller than 50000. And Coats(maintainer of I/OAPI) said it is absurd to set MXVARS to 50000.

Regards,
zoom