Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 352774 - virtuoso.eclass should not append -m64 to CFLAGS
Summary: virtuoso.eclass should not append -m64 to CFLAGS
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Maciej Mrozowski
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: portage-multilib
  Show dependency tree
 
Reported: 2011-01-26 04:20 UTC by Nathan Phillip Brink (binki) (RETIRED)
Modified: 2011-01-26 18:26 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
virtuoso.eclass-multilib-no-m64.patch (virtuoso.eclass-multilib-no-m64.patch,758 bytes, patch)
2011-01-26 04:24 UTC, Nathan Phillip Brink (binki) (RETIRED)
Details | Diff
virtuoso-odbc-6.1.2-build.log (virtuoso-odbc-6.1.2-build.log,281.41 KB, text/plain)
2011-01-26 04:29 UTC, Nathan Phillip Brink (binki) (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nathan Phillip Brink (binki) (RETIRED) gentoo-dev 2011-01-26 04:20:47 UTC
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).
Comment 1 Nathan Phillip Brink (binki) (RETIRED) gentoo-dev 2011-01-26 04:24:14 UTC
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
Comment 2 Nathan Phillip Brink (binki) (RETIRED) gentoo-dev 2011-01-26 04:29:32 UTC
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.
Comment 3 Maciej Mrozowski gentoo-dev 2011-01-26 18:26:47 UTC
Indeed, it doesn't seem to be needed anymore for amd64 so removed. Thanks for reporting!