ohnobinki@ohnopublishing ~/gentoo-x86-cvs/eclass $ grep -e -m64 virtuoso.eclass use amd64 && append-flags '-m64' Even though virtuoso's README suggests appending -m64 to CFLAGS when compiling the application, there is no need to do this because the toolchain installed on a user's system is already configured to do this automatically. virtuoso-odbc compiled fine on amd64 without this flag. Secondly, when the eclass appends -m64 it breaks portage-multilib which appends -m32 to the CFLAGS when trying to compile a 32-bit version of virtuoso-odbc (and, assumably, virtuoso-server).
Created attachment 260736 [details, diff] virtuoso.eclass-multilib-no-m64.patch This patch was tested to successfully fix compilation of virtuoso-odbc-6.1.2 on portage-multilib, meaning that 32-bit and 64-bit binaries were installed with no problem. Removing the append-flags line removes the dependency on flag-o-matic. This was tested with: for func in $(grep -e '() {' /usr/portage/eclass/flag-o-matic.eclass | grep -v -e '^#\|c$' | cut -f 1 -d '('); do grep -e ${func} /usr/portage/eclass/virtuoso.eclass; done
Created attachment 260737 [details] virtuoso-odbc-6.1.2-build.log An example of a build failure on portage-multilib. Notice that we pass -m32 which is overridden by a successive -m64.
Indeed, it doesn't seem to be needed anymore for amd64 so removed. Thanks for reporting!