|
||||||
| Forums FAQ | Members List | Search | Today's Posts | Mark Forums Read |
| Programming/Scripting Questions about programming, bash scripts, perl, php, cron jobs, ruby, python, etc. |
![]() |
|
|
LinkBack | Thread Tools | Display Modes |
|
|||
|
I'm having some trouble with undefined references (details below, truncated) in a gfortran library when linking to acml 4.1.0. My makefile is the same as one that worked except using -lacml -lacml_mv instead of -llapack lblas. Similar errors were returned when only attempting to link to -lacml without the -lacml_mv.
Any suggestions will be appreciated. Thanks! Code:
-L/opt/acml4.1.0/gfortran64/lib -lacml -lacml_mv -static /usr/lib64/gcc/x86_64-suse-linux/4.3/libgfortran.a(getlog.o): In function `_gfortran_getlog': (.text+0x36): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /opt/acml4.1.0/gfortran64/lib/libacml.a(dgemv.o): In function `dgemv_': dgemv.F:(.text+0x3fd): undefined reference to `_gfortran_allocate64' dgemv.F:(.text+0x451): undefined reference to `_gfortran_internal_free' dgemv.F:(.text+0x516): undefined reference to `_gfortran_deallocate' dgemv.F:(.text+0x7b2): undefined reference to `_gfortran_allocate64' dgemv.F:(.text+0x806): undefined reference to `_gfortran_internal_free' dgemv.F:(.text+0x8a8): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(dgeqrf.o): In function `dgeqrf_': dgeqrf.F:(.text+0x432): undefined reference to `_gfortran_allocate64' dgeqrf.F:(.text+0x4a5): undefined reference to `_gfortran_internal_free' dgeqrf.F:(.text+0x759): undefined reference to `_gfortran_allocate64' dgeqrf.F:(.text+0x7bc): undefined reference to `_gfortran_internal_free' dgeqrf.F:(.text+0x87b): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(dger.o): In function `dger_': dger.F:(.text+0x211): undefined reference to `_gfortran_allocate64' dger.F:(.text+0x275): undefined reference to `_gfortran_internal_free' dger.F:(.text+0x306): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(dgetrf.o): In function `dgetrf_': dgetrf.F:(.text+0x1d4): undefined reference to `_gfortran_allocate64' dgetrf.F:(.text+0x227): undefined reference to `_gfortran_internal_free' dgetrf.F:(.text+0x2bc): undefined reference to `_gfortran_allocate64' dgetrf.F:(.text+0x317): undefined reference to `_gfortran_internal_free' dgetrf.F:(.text+0x3ee): undefined reference to `_gfortran_deallocate' dgetrf.F:(.text+0x409): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(dlartg.o): In function `dlartg_': dlartg.f:(.text+0xd1): undefined reference to `_gfortran_pow_r8_i4' /opt/acml4.1.0/gfortran64/lib/libacml.a(dorgqr.o): In function `dorgqr_': dorgqr.F:(.text+0x2aa): undefined reference to `_gfortran_allocate64' dorgqr.F:(.text+0x331): undefined reference to `_gfortran_internal_free' dorgqr.F:(.text+0x3fe): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(dormlq.o): In function `dormlq_': dormlq.F:(.text+0x470): undefined reference to `_gfortran_allocate64' dormlq.F:(.text+0x4bb): undefined reference to `_gfortran_internal_free' dormlq.F:(.text+0x98c): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(dormqr.o): In function `dormqr_': dormqr.F:(.text+0x3e8): undefined reference to `_gfortran_allocate64' dormqr.F:(.text+0x45b): undefined reference to `_gfortran_internal_free' dormqr.F:(.text+0x5af): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(dpotrf.o): In function `dpotrf_': dpotrf.F:(.text+0x27e): undefined reference to `_gfortran_allocate64' dpotrf.F:(.text+0x2d9): undefined reference to `_gfortran_internal_free' dpotrf.F:(.text+0x347): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(zhetrd.o): In function `zhetrd_': zhetrd.F:(.text+0x4fd): undefined reference to `_gfortran_allocate64' zhetrd.F:(.text+0x56a): undefined reference to `_gfortran_internal_free' zhetrd.F:(.text+0x65b): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(zpotrf.o): In function `zpotrf_': zpotrf.F:(.text+0x27e): undefined reference to `_gfortran_allocate64' zpotrf.F:(.text+0x2d9): undefined reference to `_gfortran_internal_free' zpotrf.F:(.text+0x347): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(zsteqr.o): In function `zsteqr_': zsteqr.F:(.text+0x34e): undefined reference to `_gfortran_allocate64' zsteqr.F:(.text+0x3b0): undefined reference to `_gfortran_internal_free' zsteqr.F:(.text+0x58b): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(ztrmmwrap.o): In function `ztrmmwrap_': ztrmmwrap.F:(.text+0x17d): undefined reference to `_gfortran_allocate64' ztrmmwrap.F:(.text+0x1c9): undefined reference to `_gfortran_internal_free' ztrmmwrap.F:(.text+0x30e): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(ztrsmwrap.o): In function `ztrsmwrap_': ztrsmwrap.F:(.text+0x17d): undefined reference to `_gfortran_allocate64' ztrsmwrap.F:(.text+0x1c9): undefined reference to `_gfortran_internal_free' ztrsmwrap.F:(.text+0x30e): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(dbdsqr.o): In function `dbdsqr_': dbdsqr.F:(.text+0x393): undefined reference to `_gfortran_allocate64' dbdsqr.F:(.text+0x3f7): undefined reference to `_gfortran_internal_free' dbdsqr.F:(.text+0x50c): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(dgebrd.o): In function `dgebrd_': dgebrd.F:(.text+0x13ff): undefined reference to `_gfortran_allocate64' dgebrd.F:(.text+0x1472): undefined reference to `_gfortran_internal_free' dgebrd.F:(.text+0x1574): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(dsyr2k.o): In function `dsyr2k_': dsyr2k.F:(.text+0x462): undefined reference to `_gfortran_allocate64' dsyr2k.F:(.text+0x4ad): undefined reference to `_gfortran_internal_free' dsyr2k.F:(.text+0x576): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(zhemmwrap.o): In function `zhemmwrap_': zhemmwrap.F:(.text+0x343): undefined reference to `_gfortran_allocate64' zhemmwrap.F:(.text+0x39c): undefined reference to `_gfortran_internal_free' zhemmwrap.F:(.text+0x4d9): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(zher2k.o): In function `zher2k_': zher2k.F:(.text+0x34a): undefined reference to `_gfortran_allocate64' zher2k.F:(.text+0x395): undefined reference to `_gfortran_internal_free' zher2k.F:(.text+0x467): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(zlargv.o): In function `zlargv_': zlargv.f:(.text+0xe8): undefined reference to `_gfortran_pow_r8_i4' /opt/acml4.1.0/gfortran64/lib/libacml.a(zlartg.o): In function `zlartg_': zlartg.f:(.text+0xc7): undefined reference to `_gfortran_pow_r8_i4' /opt/acml4.1.0/gfortran64/lib/libacml.a(zungqr.o): In function `zungqr_': zungqr.F:(.text+0x2ac): undefined reference to `_gfortran_allocate64' zungqr.F:(.text+0x333): undefined reference to `_gfortran_internal_free' zungqr.F:(.text+0x410): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(zungtr8z.o): In function `zungtr8z_': zungtr8z.F:(.text+0x10b): undefined reference to `_gfortran_allocate64' zungtr8z.F:(.text+0x157): undefined reference to `_gfortran_internal_free' zungtr8z.F:(.text+0x205): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(zunmqr.o): In function `zunmqr_': zunmqr.F:(.text+0x3f0): undefined reference to `_gfortran_allocate64' zunmqr.F:(.text+0x463): undefined reference to `_gfortran_internal_free' zunmqr.F:(.text+0x5cf): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(dorgtr8z.o): In function `dorgtr8z_': dorgtr8z.F:(.text+0x10b): undefined reference to `_gfortran_allocate64' dorgtr8z.F:(.text+0x156): undefined reference to `_gfortran_internal_free' dorgtr8z.F:(.text+0x206): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(dormql.o): In function `dormql_': dormql.F:(.text+0x3c8): undefined reference to `_gfortran_allocate64' dormql.F:(.text+0x413): undefined reference to `_gfortran_internal_free' dormql.F:(.text+0x847): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(zgerc.o): In function `zgerc_': zgerc.F:(.text+0x22f): undefined reference to `_gfortran_allocate64' zgerc.F:(.text+0x293): undefined reference to `_gfortran_internal_free' zgerc.F:(.text+0x324): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(ztrmv.o): In function `ztrmv_': ztrmv.F:(.text+0x321): undefined reference to `_gfortran_allocate64' ztrmv.F:(.text+0x37d): undefined reference to `_gfortran_internal_free' ztrmv.F:(.text+0x404): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(ztrsv.o): In function `ztrsv_': ztrsv.F:(.text+0x321): undefined reference to `_gfortran_allocate64' ztrsv.F:(.text+0x37d): undefined reference to `_gfortran_internal_free' ztrsv.F:(.text+0x404): undefined reference to `_gfortran_deallocate' /opt/acml4.1.0/gfortran64/lib/libacml.a(zgeru.o): In function `zgeru_': zgeru.F:(.text+0x22f): undefined reference to `_gfortran_allocate64' zgeru.F:(.text+0x293): undefined reference to `_gfortran_internal_free' zgeru.F:(.text+0x324): undefined reference to `_gfortran_deallocate' collect2: ld returned 1 exit status make: *** [cpmd.x] Error 1 |
|
|||
|
Neophyte42 wrote:
> > I'm having some trouble with undefined references (details below, > truncated) in a gfortran library when linking to acml 4.1.0. My > makefile is the same as one that worked except using -lacml -lacml_mv > instead of -llapack lblas. Similar errors were returned when only > attempting to link to -lacml without the -lacml_mv. > > Any suggestions will be appreciated. Last time I looked, lacml was built for gfortran 4.1, and lacml_mv was built for gfortran 4.2. Unfortunately, gfortran seems to have changed its runtime support routine names between these two versions. Equally unfortunately, lacml_mv doesn't seem to contain the whole of lapack, so you also need lacml. So amd/gfortran have combined resources to bring us a monumental cockup! Best resolution would probably be for amd to build lacml for gfortran 4.2. Good luck contacting amd customer support! > > Thanks! > > Code: > -------------------- > > -L/opt/acml4.1.0/gfortran64/lib -lacml -lacml_mv -static > /usr/lib64/gcc/x86_64-suse-linux/4.3/libgfortran.a(getlog.o): In > function `_gfortran_getlog': (.text+0x36): warning: Using 'getpwuid' > in statically linked applications requires at runtime the shared > libraries from the glibc version used for linking > /opt/acml4.1.0/gfortran64/lib/libacml.a(dgemv.o): In function > `dgemv_': dgemv.F .text+0x3fd): undefined reference to> `_gfortran_allocate64' dgemv.F .text+0x451): undefined reference to> `_gfortran_internal_free' dgemv.F .text+0x516): undefined reference> to `_gfortran_deallocate' dgemv.F .text+0x7b2): undefined reference> to `_gfortran_allocate64' dgemv.F .text+0x806): undefined reference> to `_gfortran_internal_free' dgemv.F .text+0x8a8): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dgeqrf.o): In function > `dgeqrf_': dgeqrf.F .text+0x432): undefined reference to> `_gfortran_allocate64' dgeqrf.F .text+0x4a5): undefined reference> to `_gfortran_internal_free' dgeqrf.F .text+0x759): undefined> reference to `_gfortran_allocate64' dgeqrf.F .text+0x7bc):> undefined reference to `_gfortran_internal_free' > dgeqrf.F .text+0x87b): undefined reference to> `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dger.o): In function > `dger_': dger.F .text+0x211): undefined reference to> `_gfortran_allocate64' dger.F .text+0x275): undefined reference to> `_gfortran_internal_free' dger.F .text+0x306): undefined reference> to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dgetrf.o): In function > `dgetrf_': dgetrf.F .text+0x1d4): undefined reference to> `_gfortran_allocate64' dgetrf.F .text+0x227): undefined reference> to `_gfortran_internal_free' dgetrf.F .text+0x2bc): undefined> reference to `_gfortran_allocate64' dgetrf.F .text+0x317):> undefined reference to `_gfortran_internal_free' > dgetrf.F .text+0x3ee): undefined reference to> `_gfortran_deallocate' dgetrf.F .text+0x409): undefined reference> to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dlartg.o): In function > `dlartg_': dlartg.f .text+0xd1): undefined reference to> `_gfortran_pow_r8_i4' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dorgqr.o): In function > `dorgqr_': dorgqr.F .text+0x2aa): undefined reference to> `_gfortran_allocate64' dorgqr.F .text+0x331): undefined reference> to `_gfortran_internal_free' dorgqr.F .text+0x3fe): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dormlq.o): In function > `dormlq_': dormlq.F .text+0x470): undefined reference to> `_gfortran_allocate64' dormlq.F .text+0x4bb): undefined reference> to `_gfortran_internal_free' dormlq.F .text+0x98c): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dormqr.o): In function > `dormqr_': dormqr.F .text+0x3e8): undefined reference to> `_gfortran_allocate64' dormqr.F .text+0x45b): undefined reference> to `_gfortran_internal_free' dormqr.F .text+0x5af): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dpotrf.o): In function > `dpotrf_': dpotrf.F .text+0x27e): undefined reference to> `_gfortran_allocate64' dpotrf.F .text+0x2d9): undefined reference> to `_gfortran_internal_free' dpotrf.F .text+0x347): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(zhetrd.o): In function > `zhetrd_': zhetrd.F .text+0x4fd): undefined reference to> `_gfortran_allocate64' zhetrd.F .text+0x56a): undefined reference> to `_gfortran_internal_free' zhetrd.F .text+0x65b): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(zpotrf.o): In function > `zpotrf_': zpotrf.F .text+0x27e): undefined reference to> `_gfortran_allocate64' zpotrf.F .text+0x2d9): undefined reference> to `_gfortran_internal_free' zpotrf.F .text+0x347): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(zsteqr.o): In function > `zsteqr_': zsteqr.F .text+0x34e): undefined reference to> `_gfortran_allocate64' zsteqr.F .text+0x3b0): undefined reference> to `_gfortran_internal_free' zsteqr.F .text+0x58b): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(ztrmmwrap.o): In function > `ztrmmwrap_': ztrmmwrap.F .text+0x17d): undefined reference to> `_gfortran_allocate64' ztrmmwrap.F .text+0x1c9): undefined> reference to `_gfortran_internal_free' ztrmmwrap.F .text+0x30e):> undefined reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(ztrsmwrap.o): In function > `ztrsmwrap_': ztrsmwrap.F .text+0x17d): undefined reference to> `_gfortran_allocate64' ztrsmwrap.F .text+0x1c9): undefined> reference to `_gfortran_internal_free' ztrsmwrap.F .text+0x30e):> undefined reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dbdsqr.o): In function > `dbdsqr_': dbdsqr.F .text+0x393): undefined reference to> `_gfortran_allocate64' dbdsqr.F .text+0x3f7): undefined reference> to `_gfortran_internal_free' dbdsqr.F .text+0x50c): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dgebrd.o): In function > `dgebrd_': dgebrd.F .text+0x13ff): undefined reference to> `_gfortran_allocate64' dgebrd.F .text+0x1472): undefined reference> to `_gfortran_internal_free' dgebrd.F .text+0x1574): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dsyr2k.o): In function > `dsyr2k_': dsyr2k.F .text+0x462): undefined reference to> `_gfortran_allocate64' dsyr2k.F .text+0x4ad): undefined reference> to `_gfortran_internal_free' dsyr2k.F .text+0x576): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(zhemmwrap.o): In function > `zhemmwrap_': zhemmwrap.F .text+0x343): undefined reference to> `_gfortran_allocate64' zhemmwrap.F .text+0x39c): undefined> reference to `_gfortran_internal_free' zhemmwrap.F .text+0x4d9):> undefined reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(zher2k.o): In function > `zher2k_': zher2k.F .text+0x34a): undefined reference to> `_gfortran_allocate64' zher2k.F .text+0x395): undefined reference> to `_gfortran_internal_free' zher2k.F .text+0x467): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(zlargv.o): In function > `zlargv_': zlargv.f .text+0xe8): undefined reference to> `_gfortran_pow_r8_i4' > /opt/acml4.1.0/gfortran64/lib/libacml.a(zlartg.o): In function > `zlartg_': zlartg.f .text+0xc7): undefined reference to> `_gfortran_pow_r8_i4' > /opt/acml4.1.0/gfortran64/lib/libacml.a(zungqr.o): In function > `zungqr_': zungqr.F .text+0x2ac): undefined reference to> `_gfortran_allocate64' zungqr.F .text+0x333): undefined reference> to `_gfortran_internal_free' zungqr.F .text+0x410): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(zungtr8z.o): In function > `zungtr8z_': zungtr8z.F .text+0x10b): undefined reference to> `_gfortran_allocate64' zungtr8z.F .text+0x157): undefined reference> to `_gfortran_internal_free' zungtr8z.F .text+0x205): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(zunmqr.o): In function > `zunmqr_': zunmqr.F .text+0x3f0): undefined reference to> `_gfortran_allocate64' zunmqr.F .text+0x463): undefined reference> to `_gfortran_internal_free' zunmqr.F .text+0x5cf): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dorgtr8z.o): In function > `dorgtr8z_': dorgtr8z.F .text+0x10b): undefined reference to> `_gfortran_allocate64' dorgtr8z.F .text+0x156): undefined reference> to `_gfortran_internal_free' dorgtr8z.F .text+0x206): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(dormql.o): In function > `dormql_': dormql.F .text+0x3c8): undefined reference to> `_gfortran_allocate64' dormql.F .text+0x413): undefined reference> to `_gfortran_internal_free' dormql.F .text+0x847): undefined> reference to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(zgerc.o): In function > `zgerc_': zgerc.F .text+0x22f): undefined reference to> `_gfortran_allocate64' zgerc.F .text+0x293): undefined reference to> `_gfortran_internal_free' zgerc.F .text+0x324): undefined reference> to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(ztrmv.o): In function > `ztrmv_': ztrmv.F .text+0x321): undefined reference to> `_gfortran_allocate64' ztrmv.F .text+0x37d): undefined reference to> `_gfortran_internal_free' ztrmv.F .text+0x404): undefined reference> to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(ztrsv.o): In function > `ztrsv_': ztrsv.F .text+0x321): undefined reference to> `_gfortran_allocate64' ztrsv.F .text+0x37d): undefined reference to> `_gfortran_internal_free' ztrsv.F .text+0x404): undefined reference> to `_gfortran_deallocate' > /opt/acml4.1.0/gfortran64/lib/libacml.a(zgeru.o): In function > `zgeru_': zgeru.F .text+0x22f): undefined reference to> `_gfortran_allocate64' zgeru.F .text+0x293): undefined reference to> `_gfortran_internal_free' zgeru.F .text+0x324): undefined reference> to `_gfortran_deallocate' collect2: ld returned 1 exit status make: > *** [cpmd.x] Error 1 > -------------------- > > -- *********** To reply by e-mail, make w single in address ************** |
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|