Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#56089 closed defect (fixed)

source-highlight @ 3.1.8_4 does not build on PPC Leopard, Mac OS X 10.5.8, because "checking whether the C compiler works... no"

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: ken-cunningham-webuse
Priority: Normal Milestone:
Component: ports Version: 2.4.2
Keywords: leopard Cc:
Port: source-highlight

Description

Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_textproc_source-highlight/source-highlight/work/source-highlight-3.1.8" && ./configure --prefix=/opt/local --infodir=/opt/local/share/info --mandir=/opt/local/share/man --with-boost=/opt/local --with-boost-regex=boost_regex-mt 
DEBUG: system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_textproc_source-highlight/source-highlight/work/source-highlight-3.1.8" && ./configure --prefix=/opt/local --infodir=/opt/local/share/info --mandir=/opt/local/share/man --with-boost=/opt/local --with-boost-regex=boost_regex-mt 
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_textproc_source-highlight/source-highlight/work/source-highlight-3.1.8/build-aux/missing: Unknown `--is-lightweight' option
Try `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_textproc_source-highlight/source-highlight/work/source-highlight-3.1.8/build-aux/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
checking for a thread-safe mkdir -p... /opt/local/bin/gmkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... /opt/local/bin/gcc-mp-6
checking whether the C compiler works... no
configure: error: in `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_textproc_source-highlight/source-highlight/work/source-highlight-3.1.8':
configure: error: C compiler cannot create executables
See `config.log' for more details

config.log contains

configure:4155: checking whether the C compiler works
configure:4177: /opt/local/bin/gcc-mp-6 -pipe -Os -m32 -I/opt/local/include -L/opt/local/lib -Wl,-headerpad_max_install_names -Wc,-stdlib=macports-libstdc++ conftest.c  >&5
gcc-mp-6: error: unrecognized command line option '-Wc,-stdlib=macports-libstdc++'
configure:4181: $? = 1
configure:4219: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GNU source-highlight"
| #define PACKAGE_TARNAME "source-highlight"
| #define PACKAGE_VERSION "3.1.8"
| #define PACKAGE_STRING "GNU source-highlight 3.1.8"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL "http://www.gnu.org/software/source-highlight/"
| #define PACKAGE "source-highlight"
| #define VERSION "3.1.8"
| #define LIBRARY_VERSION "4:1:0"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:4224: error: in `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_textproc_source-highlight/source-highlight/work/source-highlight-3.1.8':
configure:4226: error: C compiler cannot create executables

Shouldn't it be '-Wl,-stdlib=macports-libstdc++'?

Attachments (2)

main.log (9.9 KB) - added by ballapete (Peter "Pete" Dyballa) 6 years ago.
Main.log from PPC Leopard
config.log (17.5 KB) - added by ballapete (Peter "Pete" Dyballa) 6 years ago.
config.log

Download all attachments as: .zip

Change History (9)

Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

Main.log from PPC Leopard

Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: config.log added

config.log

comment:1 Changed 6 years ago by kencu (Ken)

gcc barfs on the stdlib argument. Needs to be passed only to clang. Can you fix, Pete?

comment:2 in reply to:  1 Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

Replying to kencu:

gcc barfs on the stdlib argument. Needs to be passed only to clang. Can you fix, Pete?

Twice "no." Firstly IMO Clang is not being used:

65	configure:3859: checking for gcc
66	configure:3886: result: /opt/local/bin/gcc-mp-6
67	configure:4115: checking for C compiler version
68	configure:4124: /opt/local/bin/gcc-mp-6 --version >&5
69	gcc-mp-6 (MacPorts gcc6 6.4.0_0) 6.4.0
70	Copyright (C) 2017 Free Software Foundation, Inc.
71	This is free software; see the source for copying conditions.  There is NO
72	warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

and secondly I really do not know how to record this in Portfile.

comment:3 Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

GCC 6 understands

  -Wc++-compat                Warn about C constructs that are not in the common subset of C and C++.
  -Wc++0x-compat              Same as -Wc++11-compat.  Use the latter option instead.
  -Wc++11-compat              Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 2011.
  -Wc++14-compat              Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014.
  -Wc90-c99-compat            Warn about features not present in ISO C90, but present in ISO C99.
  -Wc99-c11-compat            Warn about features not present in ISO C99, but present in ISO C11.
  -std=c++03                  Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum.  Same as -std=c++98.
  -std=c++0x                  Deprecated in favor of -std=c++11.  Same as -std=c++11.
  -std=c++11                  Conform to the ISO 2011 C++ standard.
  -std=c++14                  Conform to the ISO 2014 C++ standard.
  -std=c++17                  Same as -std=c++1z.  Use the latter option instead.
  -std=c++1y                  Deprecated in favor of -std=c++14.  Same as -std=c++14.
  -std=c++1z                  Conform to the ISO 2017(?) C++ draft standard (experimental and incomplete support).
  -std=c++98                  Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum.
  -std=c11                    Conform to the ISO 2011 C standard.
  -std=c1x                    Deprecated in favor of -std=c11.  Same as -std=c11.
  -std=c89                    Conform to the ISO 1990 C standard.  Same as -std=c90.
  -std=c90                    Conform to the ISO 1990 C standard.
  -std=c99                    Conform to the ISO 1999 C standard.
  -std=c9x                    Deprecated in favor of -std=c99.  Same as -std=c99.
  -std=gnu++03                Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum with GNU extensions.  Same as -std=gnu++98.
  -std=gnu++0x                Deprecated in favor of -std=gnu++11.  Same as -std=gnu++11.
  -std=gnu++11                Conform to the ISO 2011 C++ standard with GNU extensions.
  -std=gnu++14                Conform to the ISO 2014 C++ standard with GNU extensions.
  -std=gnu++17                Same as -std=gnu++1z.  Use the latter option instead.
  -std=gnu++1y                Deprecated in favor of -std=gnu++14.  Same as -std=gnu++14.
  -std=gnu++1z                Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support).
  -std=gnu++98                Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum with GNU extensions.
  -std=gnu11                  Conform to the ISO 2011 C standard with GNU extensions.
  -std=gnu1x                  Deprecated in favor of -std=gnu11.  Same as -std=gnu11.
  -std=gnu89                  Conform to the ISO 1990 C standard with GNU extensions.  Same as -std=gnu90.
  -std=gnu90                  Conform to the ISO 1990 C standard with GNU extensions.
  -std=gnu99                  Conform to the ISO 1999 C standard with GNU extensions.
  -std=gnu9x                  Deprecated in favor of -std=gnu99.  Same as -std=gnu99.
  -std=iso9899:1990           Conform to the ISO 1990 C standard.  Same as -std=c90.
  -std=iso9899:199409         Conform to the ISO 1990 C standard as amended in 1994.
  -std=iso9899:1999           Conform to the ISO 1999 C standard.  Same as -std=c99.
  -std=iso9899:199x           Deprecated in favor of -std=iso9899:1999.  Same as -std=c99.
  -std=iso9899:2011           Conform to the ISO 2011 C standard.  Same as -std=c11.
  --no-standard-libraries     Same as -nostdlib.  Use the latter option instead.
  -nostdlib                   Do not look for object files in standard path.

Is a syntax error the cause of the fault?

comment:4 Changed 6 years ago by ken-cunningham-webuse

Owner: set to ken-cunningham-webuse
Resolution: fixed
Status: newclosed

In f97fe249f14b48bba83c14f32ccb50afd27a887c/macports-ports:

source-highlight: fix build with gcc

only add -stdlib if compiler is clang
closes: #56089

comment:5 Changed 6 years ago by kencu (Ken)

you should be good to go again once that change propogates through to you, Pete.

Take a look at how you restrict certain commands to clang only, as per this commit. It's really only -stdlib now that causes trouble, as -arch is accepted by gcc. The usual MacPorts people aren't thinking too much about gcc, so it's up to us to fine tune these things.

comment:6 in reply to:  4 Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

Replying to ken-cunningham-webuse:

In f97fe249f14b48bba83c14f32ccb50afd27a887c/macports-ports:

Ah! Now I understand: the faulty statement is meaningful for Clang only, but on Leopard GCC 6 is used for compilation. So this compiler needs a guard araound that statement.

comment:7 Changed 6 years ago by kencu (Ken)

yep. It's certain to come up again on other ports...

Note: See TracTickets for help on using tickets.