<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div>Hi Olaf,</div><div><br></div><div>This is surely some printf/sprint wrapper from stdio.h.</div><div>Did you copy files across from some other machine or this is all one-machine?</div><div>Try the C backend? I</div><div><br></div><div>-lSystem?</div><div><br></div><div><br></div><div>#include <stdio.h></div><div>int main()</div><div>{</div><div>char buffer[10];</div><div>printf("");</div><div>sprint(buffer, "");</div><div>return 0;</div><div>}</div><div><br></div><div>  gcc -E 1.c  </div><div>  gcc -S 1.c  </div><div>  gcc 1.c  </div><div>  gcc -v 1.c</div><div>  libtool a.out </div><div>?</div><div><br></div><div>Hopefully I'll find more time here..</div><div><br></div><div> - Jay<br><br><br><br></div><div>> Date: Tue, 19 May 2015 23:56:09 +0200<br>> From: wagner@elegosoft.com<br>> To: rodney.m.bates@acm.org; m3devel@elegosoft.com<br>> Subject: Re: [M3devel] Bootstrapping cm3 on OS X 10.9.5<br>> <br>> On Tue, 19 May 2015 01:33:49 +0200<br>> Olaf Wagner <wagner@elegosoft.com> wrote:<br>> <br>> > After replacing the configuration files with those from the current code<br>> > base and adapting some basic system tool definitions like gcc and libtool<br>> > I have now successfully compiled m3core. This looks good so far.<br>> <br>> I almost succeeded in building a new cm3 from sources now, but I'm<br>> stuck at something again I don't understand. Symbol ___eprintf is<br>> referenced from m3core, but there is no static definition for it in<br>> any library I can find.<br>> <br>>  -> linking cm3<br>> generate _m3main.new<br>> compare _m3main.new _m3main.c<br>> rm _m3main.new<br>> /usr/bin/gcc -o cm3  _m3main.o cm3unix.o Version.io M3Backend.io M3Backend.mo UtilsPosix.mo Arg.io Arg.mo Builder.io Builder.mo Dirs.io Dirs.mo M3Build.io M3Build.mo M3Loc.io M3Loc.mo M3Options.io M3Options.mo M3Unit.io M3Unit.mo Makefile.io Makefile.mo Msg.io Msg.mo Utils.io Utils.mo WebFile.io WebFile.mo Main.mo /usr/local/cm3/pkg/m3back/AMD64_DARWIN/libm3back.a /usr/local/cm3/pkg/m3objfile/AMD64_DARWIN/libm3objfile.a /usr/local/cm3/pkg/m3quake/AMD64_DARWIN/libm3quake.a /usr/local/cm3/pkg/m3front/AMD64_DARWIN/libm3front.a /usr/local/cm3/pkg/m3linker/AMD64_DARWIN/libm3link.a /usr/local/cm3/pkg/m3middle/AMD64_DARWIN/libm3middle.a /usr/local/cm3/pkg/sysutils/AMD64_DARWIN/libsysutils.a /usr/local/cm3/pkg/libm3/AMD64_DARWIN/libm3.a /usr/local/cm3/pkg/m3core/AMD64_DARWIN/libm3core.a -multiply_defined suppress -bind_at_load -shared-libgcc -dead_strip -headerpad_max_install_names<br>> Undefined symbols for architecture x86_64:<br>>   "___eprintf", referenced from:<br>>       _ThreadPThread__ProcessStopped in libm3core.a(ThreadApple.o)<br>>       _InstallOneHandler in libm3core.a(RTSignalC.o)<br>> ld: symbol(s) not found for architecture x86_64<br>> clang: error: linker command failed with exit code 1 (use -v to see invocation)<br>> <br>> ----<br>> <br>> elegos-MacBook-Pro:cm3 wagner$ for f in $(find /usr/lib /usr/local/lib /opt/local/lib /usr/local/cm3/lib -name *.a); do nm $f 2>/dev/null | grep ___eprintf && echo "found in $f"; done<br>>                  U ___eprintf<br>>                  U ___eprintf<br>> found in /usr/local/cm3/lib/libm3core.a<br>> <br>> ----<br>> <br>> elegos-MacBook-Pro:cm3 wagner$ for f in $(find /usr/lib /usr/local/lib /opt/local/lib /usr/local/cm3/lib -name *.dylib); do nm $f 2>/dev/null | grep ___eprintf && echo "found in $f"; done<br>>          U ___eprintf<br>> 000141c0 t ___eprintf<br>> found in /usr/lib/lib6200Lib.dylib<br>>          U ___eprintf<br>> 00019bf0 t ___eprintf<br>> found in /usr/lib/lib7225lib.dylib<br>> 00016c60 t ___eprintf<br>>          U ___eprintf<br>> found in /usr/lib/lib8200Alib.dylib<br>> 00017d30 t ___eprintf<br>>          U ___eprintf<br>> found in /usr/lib/lib8220lib.dylib<br>>          U ___eprintf<br>> 00009a10 t ___eprintf<br>> found in /usr/lib/libAgent.dylib<br>>          U ___eprintf<br>> 00018f00 t ___eprintf<br>> found in /usr/lib/libIceraDownloadLib.dylib<br>>          U ___eprintf<br>> 000081bb t ___eprintf<br>> found in /usr/lib/libTinyXml.dylib<br>> 0000000000001850 t ___eprintf<br>> found in /usr/local/cm3/lib/libm3core.5.2.dylib<br>> 0000000000001850 t ___eprintf<br>> found in /usr/local/cm3/lib/libm3core.5.dylib<br>> 0000000000001850 t ___eprintf<br>> found in /usr/local/cm3/lib/libm3core.dylib<br>> <br>> ----<br>> <br>> Does anybody know what it the standard solution for this?<br>> The symbol is even defined in the dynamic version of m3core itself.<br>> Is static linking not supported anymore? Or should I just link<br>> against one of the above dynamically?<br>> The m3makefile for cm3 still contains<br>> <br>>   build_standalone () %-- we don't want to depend on the shared libraries...<br>> <br>> <br>> Any hint will be appreciated.<br>> <br>> Olaf<br>> -- <br>> Olaf Wagner -- elego Software Solutions GmbH -- http://www.elegosoft.com <br>>                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany<br>> phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95<br>> Geschäftsführer: Olaf Wagner | Sitz: Berlin<br>> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194<br></div>                                           </div></body>
</html>