32-bit builds?
Mark Brethen
mark.brethen at gmail.com
Thu Nov 26 07:40:34 PST 2015
> On Nov 26, 2015, at 9:28 AM, Brandon Allbery <allbery.b at gmail.com> wrote:
>
> On Thu, Nov 26, 2015 at 10:24 AM, Brandon Allbery <allbery.b at gmail.com> wrote:
> On Thu, Nov 26, 2015 at 10:16 AM, Mark Brethen <mark.brethen at gmail.com> wrote:
> I suspect the source does not support 64-bit builds. How do I tweak the port to build universal? Is there an example port I could look at?
>
> Most ports will "just work", because there's a default +universal variant. Otherwise look for ports using the muniversal PortGroup, I think. Unfortunately, for things that don't "just work", the changes needed tend to be very port-specific; and there's far more ports that just disable universal builds than tweak it to work, in at least some cases because untangling the changes needed for universal builds turned out to be too difficult / not worth the effort.
>
> Also, if a given port will only build 32 bit, there's the supported_archs Portfile keyword (see for example wine, which will probably never work 64 bit because of a register conflict between Windows' and Apple's x86_64 ABIs).
>
> --
> brandon s allbery kf8nh sine nomine associates
> allbery.b at gmail.com ballbery at sinenomine.net
> unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
The link error occurs here:
:info:build /usr/bin/clang++ -c -o astgen.o astgen.cc -g -Wall -Wno-deprecated -D__UNIX__ -O2 -DNDEBUG -I../smbase
:info:build /usr/bin/clang++ -o astgen gramlex.o agrampar.tab.o ccsstr.o agramlex.yy.o reporterr.o embedded.o ast.hand.o asthelp.o xmlhelp.o agrampar.o astgen.o -g -Wall -Werror ../smbase/libsmbase.a
:info:build Undefined symbols for architecture x86_64:
:info:build "agrampar_yyerror(void*, char const*)", referenced from:
:info:build agrampar_yyparse(void*) in agrampar.tab.o
:info:build "StringTable::add(char const*)", referenced from:
:info:build GrammarLexer::yylexInc() in gramlex.o
:info:build GrammarLexer::curFuncBody() const in gramlex.o
:info:build GrammarLexer::curToken() const in gramlex.o
:info:build GrammarLexer::addString(char*, int) const in gramlex.o
:info:build GrammarLexer::curDeclName() const in gramlex.o
:info:build "StringTable::StringTable()", referenced from:
:info:build __GLOBAL__sub_I_agrampar.cc in agrampar.o
:info:build "StringTable::~StringTable()", referenced from:
:info:build __GLOBAL__sub_I_agrampar.cc in agrampar.o
It seems like its not finding the object files, which are part of the build in ../ast.
Mark
More information about the macports-dev
mailing list