thanks Michal
the patch led me to the problem in src/cmd/INIT/MAPLIB.mk

background
Mamfile's are generated from nmake Makefile's as part of the packaging process
there's a bit of delayed black magic in that process to prevent
packaging host attributes from bleeding in to the Mamfiles and
thus interfering with build host attributes

On Mon, 27 May 2013 16:20:13 +0200 Michal Hlavinka wrote:
> This is a multi-part message in MIME format.
> --------------030902080905000609020006
> Content-Type: text/plain; charset=KOI8-R; format=flowed
> Content-Transfer-Encoding: 7bit

> Hi,

> I can reproduce this too.

> On 24.5.2013 18:48, Glenn Fowler wrote:
> >
> > the chain of events is
> >
> >     $INSTALLROOT/src/cmd/INIT
> >             generates m.req (for -lm refs)
> >             installs m.req as $INSTALLROOT/lib/lib/m
> >             m.req should contain
> >                     -lm

> fails, it contains just "-"

> Bug is in Mamfile, attached patch fixes this for me

> Michal

> >     $INSTALLROOT/src/lib/libast
> >             generates ast.req (for -last refs)
> >             installs ast.req as $INSTALLROOT/lib/lib/ast
> >             ast.req should contain
> >                     -last -lm
> >     $INSTALLROOT/src/cmd/ksh93
> >             references -last
> >             which should reference $INSTALLROOT/lib/lib/ast
> >
> > On Fri, 24 May 2013 17:08:18 +0200 Roland Mainz wrote:
> >> On Fri, May 24, 2013 at 8:54 AM, Glenn Fowler <[email protected]> 
> >> wrote:
> >>>
> >>> the AT&T Software Technology ast alpha 2013-05-24 source and binary 
> >>> release
> >>> has been posted to the download site
> >>>          http://www.research.att.com/sw/download/alpha/
> >>> the package names and md5 checksums are
> >>>              INIT  ed29bc9017e7bed828b66977c474f3dc
> >>>           ast-ksh  ec93af891a10071d65afe581be31df30
> >>> the md5 sums should match the ones listed on the download page
> >>> if not then don't download
> >> [snip]
> >
> >> Erm... the source doesn't build on SuSE 12.3/AMD64/64bit:
> >> -- snip --
> >> + cc -O2 -L. 
> >> -L/home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib
> >> -o ksh pmain.o libshell.a
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libdll.a
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libast.a
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libast.a
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libcoshell.a
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libast.a
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libast.a
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libcmd.a
> >> -lutil 
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libast.a
> >> -lutil 
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libast.a
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libast.a
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libast.a
> >> libshell.a(streval.o): In function `arith_exec':
> >> streval.c:(.text+0x187b): undefined reference to `pow'
> >> streval.c:(.text+0x1f6c): undefined reference to `floorl'
> >> streval.c:(.text+0x1f7c): undefined reference to `floorl'
> >> streval.c:(.text+0x1f8a): undefined reference to `floorl'
> >> libshell.a(strdata.o): In function `local_fpclassify':
> >> strdata.c:(.text+0x18): undefined reference to `__fpclassifyl'
> >> libshell.a(strdata.o): In function `local_isnormal':
> >> strdata.c:(.text+0xd9): undefined reference to `__fpclassifyl'
> >> libshell.a(strdata.o): In function `local_issubnormal':
> >> strdata.c:(.text+0x100): undefined reference to `__fpclassifyl'
> >> libshell.a(strdata.o): In function `local_iszero':
> >> strdata.c:(.text+0x141): undefined reference to `__fpclassifyl'
> >> libshell.a(strdata.o):(.rodata+0x2d0): undefined reference to `acosl'
> >> libshell.a(strdata.o):(.rodata+0x2e8): undefined reference to `acoshl'
> >> libshell.a(strdata.o):(.rodata+0x300): undefined reference to `asinl'
> >> libshell.a(strdata.o):(.rodata+0x318): undefined reference to `asinhl'
> >> libshell.a(strdata.o):(.rodata+0x330): undefined reference to `atanl'
> >> libshell.a(strdata.o):(.rodata+0x348): undefined reference to `atan2l'
> >> libshell.a(strdata.o):(.rodata+0x360): undefined reference to `atanhl'
> >> libshell.a(strdata.o):(.rodata+0x378): undefined reference to `cbrtl'
> >> libshell.a(strdata.o):(.rodata+0x390): undefined reference to `ceill'
> >> libshell.a(strdata.o):(.rodata+0x3c0): undefined reference to `cosl'
> >> libshell.a(strdata.o):(.rodata+0x3d8): undefined reference to `coshl'
> >> libshell.a(strdata.o):(.rodata+0x3f0): undefined reference to `erfl'
> >> libshell.a(strdata.o):(.rodata+0x408): undefined reference to `erfcl'
> >> libshell.a(strdata.o):(.rodata+0x420): undefined reference to `expl'
> >> libshell.a(strdata.o):(.rodata+0x438): undefined reference to `exp10l'
> >> libshell.a(strdata.o):(.rodata+0x450): undefined reference to `exp2l'
> >> libshell.a(strdata.o):(.rodata+0x468): undefined reference to `expm1l'
> >> libshell.a(strdata.o):(.rodata+0x480): undefined reference to `fabsl'
> >> libshell.a(strdata.o):(.rodata+0x498): undefined reference to `fabsl'
> >> libshell.a(strdata.o):(.rodata+0x4b0): undefined reference to `fdiml'
> >> libshell.a(strdata.o):(.rodata+0x4e0): undefined reference to `floorl'
> >> libshell.a(strdata.o):(.rodata+0x4f8): undefined reference to `floorl'
> >> libshell.a(strdata.o):(.rodata+0x510): undefined reference to `fmal'
> >> libshell.a(strdata.o):(.rodata+0x528): undefined reference to `fmaxl'
> >> libshell.a(strdata.o):(.rodata+0x540): undefined reference to `fminl'
> >> libshell.a(strdata.o):(.rodata+0x558): undefined reference to `fmodl'
> >> libshell.a(strdata.o):(.rodata+0x588): undefined reference to `hypotl'
> >> libshell.a(strdata.o):(.rodata+0x5a0): undefined reference to `ilogbl'
> >> libshell.a(strdata.o):(.rodata+0x6d8): undefined reference to `j0l'
> >> libshell.a(strdata.o):(.rodata+0x6f0): undefined reference to `j1l'
> >> libshell.a(strdata.o):(.rodata+0x708): undefined reference to `jnl'
> >> libshell.a(strdata.o):(.rodata+0x738): undefined reference to `lgammal'
> >> libshell.a(strdata.o):(.rodata+0x750): undefined reference to `logl'
> >> libshell.a(strdata.o):(.rodata+0x768): undefined reference to `log10l'
> >> libshell.a(strdata.o):(.rodata+0x780): undefined reference to `log1pl'
> >> libshell.a(strdata.o):(.rodata+0x798): undefined reference to `log2l'
> >> libshell.a(strdata.o):(.rodata+0x7b0): undefined reference to `logbl'
> >> libshell.a(strdata.o):(.rodata+0x7c8): undefined reference to `nearbyintl'
> >> libshell.a(strdata.o):(.rodata+0x7e0): undefined reference to `nextafterl'
> >> libshell.a(strdata.o):(.rodata+0x7f8): undefined reference to `nexttowardl'
> >> libshell.a(strdata.o):(.rodata+0x810): undefined reference to `powl'
> >> libshell.a(strdata.o):(.rodata+0x828): undefined reference to `remainderl'
> >> libshell.a(strdata.o):(.rodata+0x840): undefined reference to `rintl'
> >> libshell.a(strdata.o):(.rodata+0x858): undefined reference to `roundl'
> >> libshell.a(strdata.o):(.rodata+0x870): undefined reference to `scalbl'
> >> libshell.a(strdata.o):(.rodata+0x8b8): undefined reference to `sinl'
> >> libshell.a(strdata.o):(.rodata+0x8d0): undefined reference to `sinhl'
> >> libshell.a(strdata.o):(.rodata+0x8e8): undefined reference to `sqrtl'
> >> libshell.a(strdata.o):(.rodata+0x900): undefined reference to `tanl'
> >> libshell.a(strdata.o):(.rodata+0x918): undefined reference to `tanhl'
> >> libshell.a(strdata.o):(.rodata+0x930): undefined reference to `tgammal'
> >> libshell.a(strdata.o):(.rodata+0x948): undefined reference to `truncl'
> >> libshell.a(strdata.o):(.rodata+0x960): undefined reference to `y0l'
> >> libshell.a(strdata.o):(.rodata+0x978): undefined reference to `y1l'
> >> libshell.a(strdata.o):(.rodata+0x990): undefined reference to `ynl'
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libdll.a(dllplug.o):
> >> In function `dllplugin':
> >> dllplug.c:(.text+0xe1): undefined reference to `dlclose'
> >> dllplug.c:(.text+0x1fe): undefined reference to `dlclose'
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libdll.a(dlllook.o):
> >> In function `dlllook':
> >> dlllook.c:(.text+0x1d): undefined reference to `dlsym'
> >> dlllook.c:(.text+0x9f): undefined reference to `dlsym'
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libdll.a(dllerror.o):
> >> In function `dllerror':
> >> dllerror.c:(.text+0x41): undefined reference to `dlerror'
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/lib/libdll.a(dllopen.o):
> >> In function `dllopen':
> >> dllopen.c:(.text+0xe): undefined reference to `dlopen'
> >> collect2: error: ld returned 1 exit status
> >> mamake [cmd/ksh93]: *** exit code 1 making ksh
> >> + cc -O2 -I. 
> >> -I/home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/src/cmd/ksh93
> >> -Iinclude 
> >> -I/home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/src/cmd/ksh93/include
> >> -I/home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/arch/linux.i386-64/include/ast
> >> -DSHOPT_BRACEPAT '-DSH_DICT="libshell"' '-D_API_ast=20121001'
> >> -D_PACKAGE_ast '-DERROR_CONTEXT_T=Error_context_t' -DSHOPT_STATS
> >> -DSHOPT_NAMESPACE -DSHOPT_COSHELL -DSHOPT_PFSH -DSHOPT_FIXEDARRAY
> >> -DSHOPT_MULTIBYTE '-DUSAGE_LICENSE="[-author?David Korn
> >> <[email protected]>][-copyright?Copyright (c) 1982-2013 AT&T
> >> Intellectual 
> >> Property][-license?http://www.eclipse.org/org/documents/epl-v10.html][--catalog?libshell]";'
> >> -c 
> >> /home/test001/work/ast_ksh_20130524/build_i386_64bit_debug/src/cmd/ksh93/sh/shcomp.c
> >> -- snip --
> >
> >> I'm still digging why this happens (it looks linking against libm.so
> >> isn't done) ...
> >
> >> ----
> >
> >> Bye,
> >> Roland
> >
> >> --
> >>    __ .  . __
> >>   (o.\ \/ /.o) [email protected]
> >>    \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
> >>    /O /==\ O\  TEL +49 641 3992797
> >>   (;O/ \/ \O;)
> >
> > _______________________________________________
> > ast-developers mailing list
> > [email protected]
> > http://lists.research.att.com/mailman/listinfo/ast-developers
> >

> --------------030902080905000609020006
> Content-Type: text/x-patch;
>  name="buildpatch.patch"
> Content-Transfer-Encoding: 7bit
> Content-Disposition: attachment;
>  filename="buildpatch.patch"

> diff -up ksh-20130524/src/cmd/INIT/Mamfile.fixit 
> ksh-20130524/src/cmd/INIT/Mamfile
> --- ksh-20130524/src/cmd/INIT/Mamfile.fixit   2013-05-27 13:34:25.141961510 
> +0200
> +++ ksh-20130524/src/cmd/INIT/Mamfile 2013-05-27 13:47:54.092572975 +0200
> @@ -1111,7 +1111,7 @@ exec - 0) break ;;
>  exec - esac
>  exec - src=$1
>  exec - obj=$2
> -exec - if ${CC} -c $src
> +exec - if ${CC} -c $src -o $obj
>  exec - then g=
>  exec - for p in dl -
>  exec - do case $p in
> @@ -1148,7 +1148,7 @@ exec - 0) break ;;
>  exec - esac
>  exec - src=$1
>  exec - obj=$2
> -exec - if ${CC} -c $src
> +exec - if ${CC} -c $src -o $obj
>  exec - then g=
>  exec - for p in iconv -
>  exec - do case $p in
> @@ -1187,7 +1187,7 @@ exec - 0) break ;;
>  exec - esac
>  exec - src=$1
>  exec - obj=$2
> -exec - if ${CC} -c $src
> +exec - if ${CC} -c $src -o $obj
>  exec - then g=
>  exec - for p in w -
>  exec - do case $p in
> @@ -1224,7 +1224,7 @@ exec - 0) break ;;
>  exec - esac
>  exec - src=$1
>  exec - obj=$2
> -exec - if ${CC} -c $src
> +exec - if ${CC} -c $src -o $obj
>  exec - then g=
>  exec - for p in intl -
>  exec - do case $p in
> @@ -1271,7 +1271,7 @@ exec - 0) break ;;
>  exec - esac
>  exec - src=$1
>  exec - obj=$2
> -exec - if ${CC} -c $src
> +exec - if ${CC} -c $src -o $obj
>  exec - then g=
>  exec - for p in m -
>  exec - do case $p in
> @@ -1308,7 +1308,7 @@ exec - 0) break ;;
>  exec - esac
>  exec - src=$1
>  exec - obj=$2
> -exec - if ${CC} -c $src
> +exec - if ${CC} -c $src -o $obj
>  exec - then g=
>  exec - for p in nsl -
>  exec - do case $p in
> @@ -1346,7 +1346,7 @@ exec - 0) break ;;
>  exec - esac
>  exec - src=$1
>  exec - obj=$2
> -exec - if ${CC} -c $src
> +exec - if ${CC} -c $src -o $obj
>  exec - then g=
>  exec - for p in socket -
>  exec - do case $p in
> @@ -1393,7 +1393,7 @@ exec - 0) break ;;
>  exec - esac
>  exec - src=$1
>  exec - obj=$2
> -exec - if ${CC} -c $src
> +exec - if ${CC} -c $src -o $obj
>  exec - then g=
>  exec - for p in db - gdbm_compat - gdbm - ndbm - dbm -
>  exec - do case $p in

> --------------030902080905000609020006--

_______________________________________________
ast-developers mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-developers

Reply via email to