View Single Post
  #2 (permalink)  
Old 24-Jul-2008, 11:48
Ian Gay
Guest
 
Posts: n/a
Default Re: OpenSUSE 11.0 and ACML 4.1.0

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 **************
Reply With Quote