Opened 12 years ago

Closed 12 years ago

#34122 closed defect (fixed)

apple-gcc42: make: the `-j' option requires a positive integral argument

Reported by: darylew@… Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version: 2.0.4
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port: apple-gcc42

Description

System: an August-2002 eMac G4 running Mac OS X 10.4.11 Tiger/PowerPC (32-bit)

Built-in Compiler: Apple-GCC 4.0.1 w/ XCode 2.5

A little while ago, I did the standard "selfupdate" and "update outdated" cycle. It ended because "apple-gcc42" was added as a dependency to something I already had. The log for that program indicated that it was expecting that my system to be more Intel compatible than it is.

Tried sending a message to the MacPorts-Users list for help, but it was rejected for attaching too large a document (the uncompressed log file). The admin suggested watching Issue #33939.

That issue just got fixed. I did "clean apple-gcc42", "selfupdate", and "update outdated". I got another bad ending due to apple-gcc42, but this time I can't find what exactly is wrong (from a brief search of the log, at least). I'm going to attach the log for apple-gcc42 from this second attempt.

Attachments (1)

main.log.bz2 (103.0 KB) - added by darylew@… 12 years ago.
The log file (compressed) from the second failed apple-gcc42 build

Download all attachments as: .zip

Change History (11)

Changed 12 years ago by darylew@…

Attachment: main.log.bz2 added

The log file (compressed) from the second failed apple-gcc42 build

comment:1 Changed 12 years ago by darylew@…

Getting frustrated with all these setbacks, I did "port install gcc47". I was quite surprised that it wanted "apple-gcc42" (and "llvm-3.0") as dependencies. It's still building at this time, but the apple-gcc42 part passed!

(doing cctools-headers)
--->  Building apple-gcc42
--->  Staging apple-gcc42 into destroot
--->  Installing apple-gcc42 @5666.3_4
--->  Activating apple-gcc42 @5666.3_4
--->  Cleaning apple-gcc42
(doing llvm_select)

I didn't do any updates; was it just a minor data burp?

comment:2 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Owner: changed from macports-tickets@… to jeremyhu@…
Summary: Apple-GCC 4.2 doesn't buildapple-gcc42: make: the `-j' option requires a positive integral argument

The problem in the log is:

:info:build + make '-j 1' DESTDIR=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_apple-gcc42/apple-gcc42/work/objroot/dst-powerpc-powerpc install-gcc install-target 'CFLAGS=-g -O2  -std=gnu89' 'CXXFLAGS=-g -O2  -std=gnu89'
:info:build make: the `-j' option requires a positive integral argument
:info:build Usage: make [options] [target] ...
:info:build Options:
:info:build   -b, -m                      Ignored for compatibility.
:info:build   -B, --always-make           Unconditionally make all targets.
:info:build   -C DIRECTORY, --directory=DIRECTORY
:info:build                               Change to DIRECTORY before doing anything.
:info:build   -d                          Print lots of debugging information.
:info:build   --debug[=FLAGS]             Print various types of debugging information.
:info:build   -e, --environment-overrides
:info:build                               Environment variables override makefiles.
:info:build   -f FILE, --file=FILE, --makefile=FILE
:info:build                               Read FILE as a makefile.
:info:build   -h, --help                  Print this message and exit.
:info:build   -i, --ignore-errors         Ignore errors from commands.
:info:build   -I DIRECTORY, --include-dir=DIRECTORY
:info:build                               Search DIRECTORY for included makefiles.
:info:build   -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no arg.
:info:build   -k, --keep-going            Keep going when some targets can't be made.
:info:build   -l [N], --load-average[=N], --max-load[=N]
:info:build                               Don't start multiple jobs unless load is below N.
:info:build   -n, --just-print, --dry-run, --recon
:info:build                               Don't actually run any commands; just print them.
:info:build   -o FILE, --old-file=FILE, --assume-old=FILE
:info:build                               Consider FILE to be very old and don't remake it.
:info:build   -p, --print-data-base       Print make's internal database.
:info:build   -q, --question              Run no commands; exit status says if up to date.
:info:build   -r, --no-builtin-rules      Disable the built-in implicit rules.
:info:build   -R, --no-builtin-variables  Disable the built-in variable settings.
:info:build   -s, --silent, --quiet       Don't echo commands.
:info:build   -S, --no-keep-going, --stop
:info:build                               Turns off -k.
:info:build   -t, --touch                 Touch targets instead of remaking them.
:info:build   -v, --version               Print the version number of make and exit.
:info:build   -w, --print-directory       Print the current directory.
:info:build   --no-print-directory        Turn off -w, even if it was turned on implicitly.
:info:build   -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
:info:build                               Consider FILE to be infinitely new.
:info:build   --warn-undefined-variables  Warn when an undefined variable is referenced.
:info:build   -N OPTION, --NeXT-option=OPTION
:info:build                               Turn on value of NeXT OPTION.
:info:build 
:info:build This program built for powerpc-apple-darwin8.0
:info:build Report bugs to <bug-make@gnu.org>
:info:build + exit 1
:info:build make: *** [install] Error 1

As I said, this problem was unfamiliar to me. ("1" looks like a positive integral argument to me.) I'm not sure why it occurred, nor why when you tried again it would then work.

Do not be surprised that gcc47 required apple-gcc42. We are considering making all ports require apple-gcc42 on Tiger, since the gcc 4.0 included with Tiger's Xcode is so old. More importantly, the linker in Tiger's Xcode is very old. llvm-3.0 is a dependency of ld64, and ld64 is a dependency of all the gcc4x ports now. I don't know why ld64 was added as a dependency of the gcc4x ports globally instead of just for Tiger but presumably there is a reason.

comment:3 in reply to:  2 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign@…:

I don't know why ld64 was added as a dependency of the gcc4x ports globally instead of just for Tiger but presumably there is a reason.

If you're interested, this topic is currently being discussed on the mailing list, so we needn't get into it in this ticket.

comment:4 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Can you please try installing the gmake port and seeing if that allows apple-gcc42 to build?

comment:5 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

  1. He said it already built, just by trying again (without cleaning).
  2. Just installing the gmake port won't do anything; MacPorts uses "make" and the gmake port installs "gmake". Getting the port to use gmake would involve changing build.cmd.

comment:6 in reply to:  5 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Replying to ryandesign@…:

  1. He said it already built, just by trying again (without cleaning).

Yeah, but I'm suspicious of things like that which magically go away. I would like to see a clean second attempt.

  1. Just installing the gmake port won't do anything; MacPorts uses "make" and the gmake port installs "gmake". Getting the port to use gmake would involve changing build.cmd.

True.

comment:7 in reply to:  4 ; Changed 12 years ago by darylew@…

Replying to jeremyhu@…:

Can you please try installing the gmake port and seeing if that allows apple-gcc42 to build?

I already have gmake installed:

  gmake @3.82_0 (active) platform='darwin 8' archs='ppc'

(from "port -v installed gmake"). But as ryandesign@… said, it wouldn't matter because MacPorts isn't set up to call it when building apple-gcc42. Should I try cleaning/uninstalling apple-gcc42 and building it again, anyway?

On a related note, I reopened my issue #33268, since llvm-3.0 has become an indirect dependency for the later GCC lines. (Right after my "all-fixed?" comment, "llvm-3.0" followed "llvm_select" and failed building.)

comment:8 in reply to:  7 ; Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Replying to darylew@…:

Should I try cleaning/uninstalling apple-gcc42 and building it again, anyway?

Please

On a related note, I reopened my issue #33268, since llvm-3.0 has become an indirect dependency for the later GCC lines. (Right after my "all-fixed?" comment, "llvm-3.0" followed "llvm_select" and failed building.)

See the dupe of it. Tiger/ppc is one of the least supported combinations due to lack of interest and resources. Please try llvm-2.9. If it builds, we'll use that for Tiger's cctools.

comment:9 in reply to:  8 Changed 12 years ago by darylew@…

Replying to jeremyhu@…:

Replying to darylew@…:

Should I try cleaning/uninstalling apple-gcc42 and building it again, anyway?

Please

It worked.

On a related note, I reopened my issue #33268, since llvm-3.0 has become an indirect dependency for the later GCC lines. (Right after my "all-fixed?" comment, "llvm-3.0" followed "llvm_select" and failed building.)

See the dupe of it. Tiger/ppc is one of the least supported combinations due to lack of interest and resources. Please try llvm-2.9. If it builds, we'll use that for Tiger's cctools.

This worked too. Here's my Terminal transcript:

[daryle]$ sudo port clean llvm-3.0
Password:
--->  Cleaning llvm-3.0
[daryle]$ sudo port clean apple-gcc42
--->  Cleaning apple-gcc42
[daryle$ sudo port uninstall apple-gcc42
--->  Deactivating apple-gcc42 @5666.3_4
--->  Cleaning apple-gcc42
--->  Uninstalling apple-gcc42 @5666.3_4
--->  Cleaning apple-gcc42
[daryle]$ sudo port selfupdate
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.0.4 installed,
MacPorts base version 2.0.4 downloaded.
--->  Updating the ports tree
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated
[daryle]$ sudo port install apple-gcc42
--->  Computing dependencies for apple-gcc42
--->  Fetching archive for apple-gcc42
--->  Attempting to fetch apple-gcc42-5666.3_4.darwin_8.ppc.tbz2 from http://packages.macports.org/apple-gcc42
--->  Fetching apple-gcc42
--->  Verifying checksum(s) for apple-gcc42
--->  Extracting apple-gcc42
--->  Applying patches to apple-gcc42
--->  Configuring apple-gcc42
--->  Building apple-gcc42
--->  Staging apple-gcc42 into destroot
--->  Installing apple-gcc42 @5666.3_4
--->  Activating apple-gcc42 @5666.3_4
--->  Cleaning apple-gcc42
[daryle]$ sudo port install llvm-2.9
--->  Computing dependencies for llvm-2.9
--->  Fetching archive for llvm-2.9
--->  Attempting to fetch llvm-2.9-2.9_4.darwin_8.ppc.tbz2 from http://packages.macports.org/llvm-2.9
--->  Fetching llvm-2.9
--->  Attempting to fetch llvm-2.9.tgz from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/llvm
--->  Verifying checksum(s) for llvm-2.9
--->  Extracting llvm-2.9
--->  Applying patches to llvm-2.9
--->  Configuring llvm-2.9
--->  Building llvm-2.9
--->  Staging llvm-2.9 into destroot
--->  Installing llvm-2.9 @2.9_4
--->  Activating llvm-2.9 @2.9_4
--->  Cleaning llvm-2.9
[daryle@daryle-walkers-emac:daryle]$ 

After cctools gets running, I should be able to build current GCC (4.7) and LLVM/Clang (3.x) lines, right?

comment:10 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: newclosed

Ok, I'm closing this since the reported issue isn't reproducing.

As for llvm-3.x on Tiger/ppc, please see #33987

Note: See TracTickets for help on using tickets.