Boost C++ Libraries: Ticket #9786: make_i386_sysv_macho_gas.S:51:suffix or operands invalid for `pop' https://svn.boost.org/trac10/ticket/9786 <p> This error occurs when compiling boost 32-bit libs with the 64-bit version of Apple's gcc-5666.3 (4.2.1). </p> <p> This error occurs in lib.context but olli asked me to report for boost.build because there is a possible missing flag passed to gcc (in this case I guess -m32 is missing) </p> <p> Error: </p> <pre class="wiki"> "g++" -x assembler-with-cpp -O3 -finline-functions -Wno-inline -Wall -gdwarf-2 -fexceptions -DBOOST_ALL_NO_LIB=1 -DBOOST_CONTEXT_SOURCE -DNDEBUG -I"." -c -o "bin.v2\libs\context\build\darwin-4.2.1\release \abi-sysv\address-model-32\binary-format-mach-o\link-static\pch-off\strip-on\target-os-darwin\threadapi-pthread\threading-multi\asm\make_i386_sysv_macho_gas.o" "libs\context\src\asm\make_i386_sysv_macho_gas.S " libs\context\src\asm\make_i386_sysv_macho_gas.S:51:suffix or operands invalid for `pop' ...failed darwin.compile.asm bin.v2\libs\context\build\darwin-4.2.1\release\abi-sysv\address-model-32\binary-format-mach-o\link-static\pch-off\strip-on\target-os-darwin\threadapi-pthread\threading-multi\asm\m ake_i386_sysv_macho_gas.o... ...failed updating 1 target... ...updated 82 targets... </pre><p> Command used: </p> <pre class="wiki">b2 -j1 -d2 -q toolset=darwin variant=release abi=sysv address-model=32 binary-format=mach-o link=static,shared pch=off strip=on target-os=darwin threading=multi threadapi=pthread cxxflags="-w -m32" linkflags="-w -m32 -lstdc++" --without-python --without-mpi </pre><p> gcc-5666.3 </p> <pre class="wiki">X:\libs\boost-dev&gt;gcc -v Using built-in specs. Target: x86_64-apple-darwin10 Configured with: ../../../src/gcc-5666.3/configure --build=x86_64-build_w64-mingw32 --host=x86_64-build_w64-mingw32 --target=x86_64-apple-darwin10 --prefix=/x/libs/gcc-5666.3-x86_64-apple-darwin10 --with-sysr oot=/x/libs/gcc-5666.3-x86_64-apple-darwin10 --enable-languages=c,c++ --enable-shared --enable-static --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --with-cloog=/mingw64 --with -libelf=/mingw64 --with-host-libstdcxx=-static-libgcc -Wl,-Bstatic,-lstdc++ -lm --enable-threads=posix --enable-target-optspace --without-long-double-128 --disable-nls --enable-multilib --with-gxx-include-dir =./usr/include/c++/4.2.1 --with-ld=/x/libs/gcc-5666.3-x86_64-apple-darwin10/bin/x86_64-apple-darwin10-ld.exe --with-ar=/x/libs/gcc-5666.3-x86_64-apple-darwin10/bin/x86_64-apple-darwin10-ar.exe --with-as=/x/li bs/gcc-5666.3-x86_64-apple-darwin10/bin/x86_64-apple-darwin10-as.exe --with-ranlib=/x/libs/gcc-5666.3-x86_64-apple-darwin10/bin/x86_64-apple-darwin10-ranlib.exe --with-lipo=/x/libs/gcc-5666.3-x86_64-apple-dar win10/bin/x86_64-apple-darwin10-lipo.exe --with-local-prefix=/x/libs/gcc-5666.3-x86_64-apple-darwin10 --enable-c99 --disable-debug --enable-long-long --enable-version-specific-runtime-libs --enable-checking=r elease --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-werror --disable-symvers --enable-fully-dynamic-string --disable-isl-version-check --disable-cloog-version-check --disable-rpath --enable-clo og-backend=isl --with-dwarf2 --disable-sjlj-exceptions --with-arch-32=i686 --with-arch-64=nocona --with-tune-32=generic --with-tune-64=core2 Thread model: posix gcc version 4.2.1 (Apple Inc. build 5666) (dot 3) </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/9786 Trac 1.4.3 class101 <ad@…> Mon, 17 Mar 2014 20:14:55 GMT <link>https://svn.boost.org/trac10/ticket/9786#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9786#comment:1</guid> <description> <p> Not sure but I think I'm using the wrong toolset because just after adding to the command line </p> <pre class="wiki">architecture=x86 </pre><p> I get </p> <pre class="wiki">cc1plus.exe: error: unrecognized command line option "-arch" libs\atomic\src\lockpool.cpp:1: error: CPU you selected does not support x86-64 instruction set ...failed darwin.compile.c++ bin.v2\libs\atomic\build\darwin-4.2.1\release\abi-sysv\address-mod </pre><p> so I guess because toolset=darwin using -arch is not compatible with gcc-5666.3, I must use toolset=gcc instead with target-os=darwin but in this case I get another error, trying to check what's happening, I get a </p> <pre class="wiki">gcc.compile.c++ bin.v2\libs\context\build\gcc-4.2.1\release\abi-sysv\address-model-32\binary-format-mach-o\link-static\pch-off\strip-on\target-os-darwin\threadapi-pthread\threading-multi\unsupported.o "X:/libs/gcc-5666.3-x86_64-apple-darwin10/bin/g++.exe" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -m32 -w -DBOOST_ALL_NO_LIB=1 -DBOOST_CONTEXT_SOURCE -DNDEBUG -I"." -c -o "bin.v2\libs \context\build\gcc-4.2.1\release\abi-sysv\address-model-32\binary-format-mach-o\link-static\pch-off\strip-on\target-os-darwin\threadapi-pthread\threading-multi\unsupported.o" "libs\context\src\unsupported.cpp " libs\context\src\unsupported.cpp:7:2: error: #error "platform not supported" ...failed gcc.compile.c++ bin.v2\libs\context\build\gcc-4.2.1\release\abi-sysv\address-model-32\binary-format-mach-o\link-static\pch-off\strip-on\target-os-darwin\threadapi-pthread\threading-multi\unsupported .o... ...skipped &lt;pbin.v2\libs\context\build\gcc-4.2.1\release\abi-sysv\address-model-32\binary-format-mach-o\link-static\pch-off\strip-on\target-os-darwin\threadapi-pthread\threading-multi&gt;libboost_context-gcc42-m t-1_56.a for lack of &lt;pbin.v2\libs\context\build\gcc-4.2.1\release\abi-sysv\address-model-32\binary-format-mach-o\link-static\pch-off\strip-on\target-os-darwin\threadapi-pthread\threading-multi&gt;unsupported.o. .. ...failed updating 1 target... ...skipped 1 target... ...updated 9 targets... </pre><p> with both 32-bit and 64-bit build commands </p> <pre class="wiki">b2 -j1 -d2 -q --debug-configuration toolset=gcc variant=release abi=sysv address-model=64 binary-format=mach-o link=static,shared pch=off strip=on target-os=darwin threading=multi threadapi=pthread cxxflags="-w -m64" linkflags="-w -m64 -lstdc++" --without-python --without-mpi </pre><pre class="wiki">b2 -j1 -d2 -q --debug-configuration toolset=gcc variant=release abi=sysv address-model=32 binary-format=mach-o link=static,shared pch=off strip=on target-os=darwin threading=multi threadapi=pthread cxxflags="-w -m32" linkflags="-w -m32" --without-python --without-mpi </pre> </description> <category>Ticket</category> </item> <item> <author>class101 <ad@…></author> <pubDate>Tue, 18 Mar 2014 03:34:56 GMT</pubDate> <title>version changed https://svn.boost.org/trac10/ticket/9786#comment:2 https://svn.boost.org/trac10/ticket/9786#comment:2 <ul> <li><strong>version</strong> <span class="trac-field-old">Boost 1.56.0</span> → <span class="trac-field-new">Boost Release Branch</span> </li> </ul> <p> tested on git develop branch </p> Ticket class101 <ad@…> Tue, 18 Mar 2014 03:36:11 GMT version changed https://svn.boost.org/trac10/ticket/9786#comment:3 https://svn.boost.org/trac10/ticket/9786#comment:3 <ul> <li><strong>version</strong> <span class="trac-field-old">Boost Release Branch</span> → <span class="trac-field-new">Boost Development Trunk</span> </li> </ul> Ticket class101 <ad@…> Tue, 18 Mar 2014 16:10:51 GMT <link>https://svn.boost.org/trac10/ticket/9786#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9786#comment:4</guid> <description> <p> Hmm I think disregard this bug report, to me this is much a recent changes in lib/context that is forbidding the use of apple's gcc-5666.3 and throw it unsupported, been able to compile 64-bit and 32-bit libs with the patch made <a class="ext-link" href="https://svn.boost.org/trac/boost/ticket/9772#comment:13"><span class="icon">​</span>https://svn.boost.org/trac/boost/ticket/9772#comment:13</a> </p> </description> <category>Ticket</category> </item> <item> <dc:creator>olli</dc:creator> <pubDate>Mon, 20 Oct 2014 07:10:47 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/9786#comment:5 https://svn.boost.org/trac10/ticket/9786#comment:5 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">wontfix</span> </li> </ul> Ticket