Opened 15 years ago

Last modified 7 years ago

#22066 assigned defect

gcc44, gcc45, gcc46, gcc48, gcc49, gcc5: error trying to exec 'ecj1': execvp: No such file or directory

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.8.1
Keywords: Cc: macports.org@…, maehne (Torsten Maehne), ballapete (Peter "Pete" Dyballa), lpsinger (Leo Singer), cielartisan@…, petrrr, larryv (Lawrence Velázquez), jjstickel (Jonathan Stickel)
Port: gcc44, gcc45, gcc46, gcc48, gcc49, gcc5

Description

I'm trying to add gcc44 support to pdftk (see #15420) but I'm running into this problem before I can build anything:

gcj-mp-4.4: error trying to exec 'ecj1': execvp: No such file or directory

I'm using gcc44 @4.4.1_0, and I see the same issue with gcc45 @4.5-20091001_0+java.

gcj-mp-4.5: error trying to exec 'ecj1': execvp: No such file or directory

This may be similar to #13553.

Mac OS X 10.6.1 Snow Leopard
Xcode 3.2.1

Change History (28)

comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Port: gcc46 added
Summary: gcc44, gcc45: error trying to exec 'ecj1': execvp: No such file or directorygcc44, gcc45, gcc46: error trying to exec 'ecj1': execvp: No such file or directory

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

comment:3 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Has duplicate #22692.

comment:4 in reply to:  description Changed 14 years ago by rechner@…

Just two days ago I installed pdftk with its gcc42 dependency. The gcc compile time of about one day (iMac G4 with 1 GHz) annoyed me, expecially since I already had gcc43 installed (which seems to be an Inkscape dependancy). Following Joshua Root's message to macport-users (sent 22 Jul 2010 08:37:20 +1000) I discovered there has already been much discussion on having pdftk use a later gcc.

I don't know how to use gcj directly, and I don't really intend to learn it, but it seems like my gcj-mp-4.3 has got the same defect:

$ gcj-mp-4.3 hello.java 
gcj-mp-4.3: error trying to exec 'ecj1': execvp: No such file or directory

This is what gcj-mp-42 says, in comparison:

$ gcj-mp-4.2 hello.java 
Undefined symbols:
  "_main", referenced from:
      __start in crt1.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

The hello.java is a simple "hello world" program and can be compiled with regular "java".

This comment may not be of much use - it is meant to be a verbatim "CcMe!".

Mac OS X 10.5.8 Leopard
Xcode 3.1.4 (with MacPorts patched to use gcc42)

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

Yes, I'm aware of all these things. As you see above I already fixed gcc46 and gcc45 so their gcj's now work; I should now be able to apply gentoo's patches to pdftk to let it build with those versions of gcc; see #15420. Unfortunately I was thus far unable to backport my changes to gcc45 and gcc46 to gcc43 and gcc44 because I could not figure out how to tell gcc where I wanted it to put ecj.jar, and without this, gcc43 and gcc44 tried to put ecj.jar in the same place and would thus conflict with one another, which isn't ok.

comment:6 Changed 14 years ago by diegotheblind+macports@…

Cc: diegotheblind+macports@… added

Cc Me!

comment:7 Changed 12 years ago by macports.org@…

Cc: macports.org@… added

Cc Me!

comment:8 Changed 11 years ago by maehne (Torsten Maehne)

Cc: Torsten.Maehne@… added

Cc Me!

comment:9 Changed 11 years ago by maehne (Torsten Maehne)

Also the gcc48 port is affected by this bug. I tried to compile a Hello World program with gcj-mp-4.8 from gcc48 @4.8.1_3 on an up-to-date MacPorts installation on OS X 10.8.5 (Mountain Lion) x86_64 and got as well:

$ gcj-mp-4.8 HelloWorldApp.java 
gcj-mp-4.8: error trying to exec 'ecj1': execvp: No such file or directory

In comparison, gcj-mp-4.7 said:

gcj-mp-4.7 HelloWorldApp.java
Undefined symbols for architecture x86_64:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status

and javac compiled the file without any error message.

comment:10 Changed 11 years ago by diegotheblind@…

Cc: diegotheblind@… added

Cc Me!

comment:11 Changed 11 years ago by maehne (Torsten Maehne)

The gcc-gcj package seems to be also affected by this problem as you can see by the comments on: https://aur.archlinux.org/packages/gcc-gcj/?setlang=de&comments=all

comment:12 Changed 11 years ago by ballapete (Peter "Pete" Dyballa)

Cc: Peter_Dyballa@… added

Cc Me!

comment:13 Changed 11 years ago by ballapete (Peter "Pete" Dyballa)

For me a 'make check' in gettext-0.14.5 (it's a starting point for me, I need libintl and libiconv since Apple can't provide fat libraries in /Developer/SDKs/MacOSX10.4u.sdk/usr/lib) failed with:

gcj: error trying to exec 'ecj1': execvp: No such file or directory
msgfmt: compilation of Java class failed, please try --verbose or set $JAVAC

This failure can be avoided by telling configure that JAVAC=javac.

comment:14 in reply to:  13 Changed 11 years ago by ballapete (Peter "Pete" Dyballa)

Interestingly when I use gcj from a Fink installation, this error does not appear! This happens with versions 4.5.4, 4.6.4, 4.7.3, and 4.8.2.

I performed these tests by configuring gettext to use /sw/bin/gcj via PATH. When 'make check' had finished, I installed the new version of GCC and gcj and then repeated the 'make check'. So every time a different version of gcj was used for the tests – and each succeeded!

comment:15 Changed 10 years ago by lpsinger (Leo Singer)

Any chance of applying the gcc44/gcc45/gcc46 fix to gcc48? This bug affects port nds2-client.

comment:16 Changed 10 years ago by lpsinger (Leo Singer)

Cc: aronnax@… added

Cc Me!

comment:17 Changed 10 years ago by petrrr

Port: gcc48 gcc49 added
Summary: gcc44, gcc45, gcc46: error trying to exec 'ecj1': execvp: No such file or directorygcc44, gcc45, gcc46, gcc48, gcc49: error trying to exec 'ecj1': execvp: No such file or directory

As partially already mentioned above this issue is present for gcc48 and gcc49 as well. This surfaces when looking at #37580, a blocker ticket for #33919.

comment:18 Changed 10 years ago by cielartisan@…

Cc: cielartisan@… added

Cc Me!

comment:19 Changed 10 years ago by cielartisan@…

I'd like to test the pdftk-2.02-src.zip after this problem is fixed.

Note: I have successfully built pdftk-2.02-src.zip with Ubuntu 14.10 gcj-jdk (4.9) just now. I'm sure solving this issue will also solve pdftk issue.

Last edited 10 years ago by cielartisan@… (previous) (diff)

comment:20 Changed 10 years ago by cielartisan@…

It looks like this (dirty) hack can be applied. http://www.kunugiken.com/os-x/compiling-pdftk-for-snow-leopard

comment:21 Changed 10 years ago by cielartisan@…

My current content of /opt/local/libexec/gcc/x86_64-apple-darwin14/4.8.3/ecj1 is:

#!/bin/sh
gij-mp-4.8 -cp /opt/local/libexec/gcc/x86_64-apple-darwin14/4.8.3/ecj.jar org.eclipse.jdt.internal.compiler.batch.GCCMain ${1+"$@"}

ecj.jar is ftp://sourceware.org/pub/java/ 's ecj-4.9.jar

comment:22 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: diegotheblind+macports@… diegotheblind@… removed

comment:23 Changed 10 years ago by petrrr

Cc: petr@… added

Cc Me!

comment:24 Changed 10 years ago by larryv (Lawrence Velázquez)

Cc: larryv@… added

Cc Me!

comment:25 Changed 10 years ago by jjstickel (Jonathan Stickel)

Cc: jjstickel@… added

Cc Me!

comment:26 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Port: gcc5 added
Summary: gcc44, gcc45, gcc46, gcc48, gcc49: error trying to exec 'ecj1': execvp: No such file or directorygcc44, gcc45, gcc46, gcc48, gcc49, gcc5: error trying to exec 'ecj1': execvp: No such file or directory

Has duplicate #50881.

comment:27 Changed 8 years ago by kurthindenburg (Kurt Hindenburg)

Owner: changed from mww@… to macports-tickets@…
Status: newassigned

comment:28 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

In e3b98f1eadf598515cc86648645256a03282705f/macports-ports:

gcc5: Update to 5.5.0 and fix gcj

Closes: #55068
Closes: #49227
See: #22066

Also use a common dist_subdir.

See: #50904

Note: See TracTickets for help on using tickets.