Opened 8 years ago

Closed 8 years ago

#33985 closed defect (fixed)

eboard @1.1.1 configure error due to invalid -O6 flag

Reported by: jlmuir@… Owned by: pmq@…
Priority: Normal Milestone:
Component: ports Version: 2.0.4
Keywords: Cc:
Port: eboard

Description (last modified by mf2k (Frank Schima))

The eboard Portfile configure.args keyword references the CXX environment variable, but this is not a variable provided by MacPorts. When it is undefined (as in my case), the configure phase fails:

  :info:configure shell command " cd "/opt3/var/macports/build/_opt3_var_macports_sources_rsync.macports.org_release_tarballs_ports_games_eboard/eboard/work/eboard-1.1.1" && /opt3/bin/perl ./configure --prefix=/opt3 --man-prefix=/opt3/share/man --compiler=${CXX} " returned error 2

Attached is a patch against the Portfile to fix the problem.

Attachments (1)

Portfile-eboard.diff (405 bytes) - added by jlmuir@… 8 years ago.

Download all attachments as: .zip

Change History (4)

Changed 8 years ago by jlmuir@…

Attachment: Portfile-eboard.diff added

comment:1 Changed 8 years ago by mf2k (Frank Schima)

Cc: pmq@… removed
Description: modified (diff)
Owner: changed from macports-tickets@… to pmq@…

In the future, please use WikiFormatting.

That seems like an odd fix. Is perl no longer required? Then it should be removed as a dependency. Also maybe the variable should simply be corrected?

   --compiler=${configure.cxx}

comment:2 in reply to:  1 Changed 8 years ago by jlmuir@…

Replying to macsforever2000@…:

In the future, please use WikiFormatting.

I did; I used the blockquote formatting. Using the preformatted text formatting produced a really long line that was difficult to read in the bug report.

That seems like an odd fix. Is perl no longer required? Then it should be removed as a dependency.

True, if perl is not needed for the build, then the build dependency should be removed. I don't know why it is needed. Most Portfiles depend on a system /bin/sh or /usr/bin/perl; they don't create a build dependency on perl just to run the configure script. But I'm not going to track this down; I guess it can be left as is and assume the maintainer did it for a reason.

Also maybe the variable should simply be corrected?

   --compiler=${configure.cxx}

That seems reasonable. I didn't know about that variable. The documentation lists the default as "???". I don't know what that means. I guess it means the value is not fixed but will be set to something.

Unfortunately, doing that now produces another problem, perhaps the real problem. The configure phase fails. Looking at the config.log file, I see lines like this:

-- begin test.cc --
#include <string>
int main() { return 0; }
-- end test.cc --
cmd = /usr/bin/clang++ -O6 -c test.cc -o xxtest.o
output:
error: invalid value '6' in '-O6'
return value = 1

So, it seems the configure script is trying to compile with an optimization level of -O6 and clang doesn't like it. I've decided not to use eboard after evaluating it for what I wanted to do, so I won't track this down any further. But I would think it would fail to build for anyone using clang as the compiler, so it should be easy to reproduce if anyone wants to fix it.

comment:3 Changed 8 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed
Summary: eboard @1.1.1 configure error due to bad ${CXX} env var refeboard @1.1.1 configure error due to invalid -O6 flag
Note: See TracTickets for help on using tickets.