New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #20775 (new defect)

Opened 4 years ago

Last modified 7 days ago

gnustep-base: gnustep-config: command not found

Reported by: ryandesign@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.7.1
Keywords: Cc: julian@…, israelnogueiramiranda@…, leonfeifei0@…, dgh@…, computers57@…, ag@…, egall@…
Port: gnustep-base

Description

I can't seem to install gnustep-base on (Mac OS X 10.4.11 Intel) because it cannot find gnustep-config:

$ port install Etoile
--->  Fetching gnustep-make
--->  Attempting to fetch gnustep-make-2.2.0.tar.gz from http://distfiles.macports.org/gnustep-make
--->  Verifying checksum(s) for gnustep-make
--->  Extracting gnustep-make
--->  Configuring gnustep-make
--->  Building gnustep-make
--->  Staging gnustep-make into destroot
Warning: gnustep-make requests to install files outside the common directory structure!
--->  Installing gnustep-make @2.2.0_0+gnustep_layout

##########################################################
To have a fully working GNUstep make system, please add
'. /mp/GNUstep/System/Library/Makefiles/GNUstep.sh'
to your shell login (in ~/.profile)

You may also want to set up your MANPATH :
export MANPATH=$GNUSTEP_LOCAL_ROOT/Library/Documentation/man:$GNUSTEP_SYSTEM_ROOT/Library/Documentation/man:/mp/share/man:/usr/share/man
##########################################################
        
--->  Activating gnustep-make @2.2.0_0+gnustep_layout
--->  Cleaning gnustep-make
--->  Fetching gnustep-base
--->  Attempting to fetch gnustep-base-1.19.1.tar.gz from http://distfiles.macports.org/gnustep-base
--->  Verifying checksum(s) for gnustep-base
--->  Extracting gnustep-base
--->  Applying patches to gnustep-base
Warning: reinplace s|GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_SYSTEM_ROOT)|GNUSTEP_INSTALLATION_DOMAIN=SYSTEM|g didn't change anything in /mp/var/macports/build/_Users_rschmidt_macports_dports_gnustep_gnustep-base/work/gnustep-base-1.19.1/GNUmakefile
--->  Configuring gnustep-base
Error: Target org.macports.configure returned: configure failure: shell command " cd "/mp/var/macports/build/_Users_rschmidt_macports_dports_gnustep_gnustep-base/work/gnustep-base-1.19.1" && ./configure --prefix=/mp CC=gcc-mp-4.2 GNUSTEP_MAKEFILES=/mp/share/GNUstep/Makefiles --disable-tls --enable-libffi --with-ffi-include=/mp/include/gcc42 --with-ffi-library=/mp/lib/gcc42 " returned error 1
Command output: ./configure: line 1: gnustep-config: command not found
configure: error: cannot find install-sh or install.sh in /mp/share/GNUstep/Makefiles .//mp/share/GNUstep/Makefiles

Error: The following dependencies failed to build: SQLClient Performance gnustep-base oniguruma5 poppler openjpeg poppler-data
Error: Status 1 encountered during processing.
$

Attachments

main.log (19.9 KB) - added by julian@… 17 months ago.
gnustep-base-log (16.5 KB) - added by dgh@… 15 months ago.

Change History

comment:1 Changed 3 years ago by ryandesign@…

I saw this on Leopard too, but simply cleaning gnustep-base and trying again allowed it to work. I don't know why.

Changed 17 months ago by julian@…

comment:2 Changed 17 months ago by julian@…

I'm still experiencing this problem on Mac OS X 10.7.2, Xcode 4.2 (not 4.2.1). See the log file I just attached. The last few log lines are:

:debug:configure Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnustep_gnustep-base/gnustep-base/work/gnustep-base-1.19.1" && ./configure --prefix=/opt/local CC=/Developer/usr/bin/clang GNUSTEP_MAKEFILES=/opt/local/share/GNUstep/Makefiles --disable-tls --enable-libffi --with-ffi-include=/opt/local/include/gcc42 --with-ffi-library=/opt/local/lib/gcc42 
:info:configure ./configure: line 1401: gnustep-config: command not found
:info:configure configure: error: cannot find install-sh or install.sh in /opt/local/share/GNUstep/Makefiles .//opt/local/share/GNUstep/Makefiles
:info:configure shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnustep_gnustep-base/gnustep-base/work/gnustep-base-1.19.1" && ./configure --prefix=/opt/local CC=/Developer/usr/bin/clang GNUSTEP_MAKEFILES=/opt/local/share/GNUstep/Makefiles --disable-tls --enable-libffi --with-ffi-include=/opt/local/include/gcc42 --with-ffi-library=/opt/local/lib/gcc42 " returned error 1
:error:configure Target org.macports.configure returned: configure failure: shell command failed (see log for details)
:debug:configure Backtrace: configure failure: shell command failed (see log for details)
    while executing
"$procedure $targetname"
:info:configure Warning: the following items did not execute (for gnustep-base): org.macports.activate org.macports.configure org.macports.build org.macports.destroot org.macports.install
:notice:configure Log for gnustep-base is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnustep_gnustep-base/gnustep-base/main.log

For what it's worth, gnustep-config is in /opt/local/GNUstep/bin/, which of course is not in the path. Furthermore, install-sh is in /opt/local/GNUstep/share/GNUstep/Makefiles/, not in /opt/local/share/GNUstep/Makefiles or (WTF?) in .//opt/local/share/GNUstep/Makefiles.

All this seems horribly broken, and unfortunately it's preventing me from installing the pdfkit port.

comment:3 Changed 17 months ago by julian@…

  • Cc julian@… added

Cc Me!

comment:4 Changed 17 months ago by julian@…

By the way, gnustep-make was installed as the "gnustep_layout" variant by default when I said port install pdfkit:

...
--->  Extracting gnustep-make
--->  Configuring gnustep-make
--->  Building gnustep-make
--->  Staging gnustep-make into destroot
Warning: gnustep-make installs files outside the common directory structure.
--->  Installing gnustep-make @2.6.1_0+gnustep_layout
--->  Activating gnustep-make @2.6.1_0+gnustep_layout

##########################################################
To have a fully working GNUstep make system, please add
'. /opt/local/GNUstep/System/Library/Makefiles/GNUstep.sh'
to your shell login (in ~/.profile)

You may also want to set up your MANPATH :
export
MANPATH=$GNUSTEP_LOCAL_ROOT/Library/Documentation/man:$GNUSTEP_SYSTEM_ROOT/Library/Documentation/man:/opt/local/share/man:/usr/share/man
##########################################################

--->  Cleaning gnustep-make
...

comment:5 Changed 17 months ago by israelnogueiramiranda@…

on #22751 I see the same error:

Command output: ./configure: line 1401: gnustep-config: command not found
configure: error: cannot find install-sh or install.sh in /opt/local/share/GNUstep/Makefiles .//opt/local/share/GNUstep/Makefiles

comment:6 Changed 17 months ago by israelnogueiramiranda@…

  • Cc israelnogueiramiranda@… added

Cc Me!

comment:7 Changed 17 months ago by israelnogueiramiranda@…

forgot to mention, I am using the latest macports with snow 10.6.8 on x86_64 same error while I was trying to build gnustep-make

comment:8 Changed 17 months ago by ryandesign@…

  • Cc leonfeifei0@… added

Has duplicate #32699.

comment:9 Changed 15 months ago by ryandesign@…

  • Cc dgh@… added

Has duplicate #33449.

comment:10 Changed 15 months ago by dgh@…

As far as I can tell, the gnustep-config executable is invoked because the environment variable GNUSTEP_MAKEFILES is not set.

In particular, here is the code snippet that uses gnustep-config found inside GNUmakefile:

ifeq ($(GNUSTEP_MAKEFILES),)
 GNUSTEP_MAKEFILES := $(shell gnustep-config --variable=GNUSTEP_MAKEFILES 2>/dev/null)
  ifeq ($(GNUSTEP_MAKEFILES),)
    $(info )
    $(info Unable to obtain GNUSTEP_MAKEFILES setting from gnustep-config!)
    $(info Perhaps gnustep-make is not properly installed,)
    $(info so gnustep-config is not in your PATH.)
    $(info )
    $(info Your PATH is currently $(PATH))
    $(info )
  endif
endif

ifeq ($(GNUSTEP_MAKEFILES),)
  $(error You need to set GNUSTEP_MAKEFILES before compiling!)
endif

comment:11 Changed 15 months ago by ryandesign@…

Remember to use WikiFormatting and to preview before submitting.

comment:12 Changed 15 months ago by dgh@…

./configure options seem relevant:

--disable-environment-config-file

Disables the use of the GNUSTEP_CONFIG_FILE environment variable to specify/override the location of the GNUstep config file at runtime. This option is occasionally useful to disable the environment variable for sites which wish to 'lock down' users to always work with a specific system-wide configuration. On unix-like systems the default is for this option to be enabled. It is disabled by default on windows systems so that the base library will not use a config file intended for the gnustep-make system (and containing unix-style paths which cannot be used by widnows apps). Normally this should be left at its default setting.

--disable-importing-config-file

Disable importing of an existing GNUstep config file and use inbuilt defaults instead.

Changed 15 months ago by dgh@…

comment:13 follow-up: ↓ 16 Changed 15 months ago by dgh@…

The default variant gnustep_layout has the gnustep-make install using a different directory structure from gnustep-base. The portfile code for this variant specifies "configure.pre_args --prefix=${prefix}/GNUstep"

gnustep-base has no such variant, and can't find the needed configuration files in its directory structure.

To fix this, turn off the default variant for gnustep-make

I get a whole lot further when doing the following:

  1. sudo port install gnustep-make -gnustep_layout
  2. manually edit .profile and .rc to set PATH correctly and source /opt/local/share/GNUstep/Makefiles/GNUstep.sh
  3. sudo port install gnustep-base

The autoconf configure process for gnustep-base now halts when its trying to invoke the objective-c compiler to make binaries. I dont know enough about autoconf to understand what its testing so I'm stuck behind this learning curve. The error message gives a hit that libraries might be needed.

The logfile from the configure step for gnustep-base is attached as file gnustep-base-log.

comment:14 Changed 14 months ago by ryandesign@…

  • Cc computers57@… added

Has duplicate #33842.

comment:15 Changed 12 months ago by ryandesign@…

  • Cc ag@… added

Has duplicate #34496.

comment:16 in reply to: ↑ 13 ; follow-up: ↓ 17 Changed 11 months ago by drh@…

I am lost with this advice. "2. manually edit .profile and .rc to set PATH correctly and source /opt/local/share/GNUstep/Makefiles/GNUstep.sh"

does not seem relevant.

".profile" and ".rc" are either empty or don't exist, and "source" is not a recognisable command. Is the intention to execute the .sh script?

Replying to dgh@…:

The default variant gnustep_layout has the gnustep-make install using a different directory structure from gnustep-base. The portfile code for this variant specifies "configure.pre_args --prefix=${prefix}/GNUstep"

gnustep-base has no such variant, and can't find the needed configuration files in its directory structure.

To fix this, turn off the default variant for gnustep-make

I get a whole lot further when doing the following:

  1. sudo port install gnustep-make -gnustep_layout
  2. manually edit .profile and .rc to set PATH correctly and source /opt/local/share/GNUstep/Makefiles/GNUstep.sh
  3. sudo port install gnustep-base

The autoconf configure process for gnustep-base now halts when its trying to invoke the objective-c compiler to make binaries. I dont know enough about autoconf to understand what its testing so I'm stuck behind this learning curve. The error message gives a hit that libraries might be needed.

The logfile from the configure step for gnustep-base is attached as file gnustep-base-log.

comment:17 in reply to: ↑ 16 ; follow-up: ↓ 18 Changed 11 months ago by ryandesign@…

Replying to drh@…:

".profile" and ".rc" are either empty or don't exist,

Use whatever file you use for shell startup commands. If you don't use .profile, perhaps you use .bash_profile or .bashrc.

and "source" is not a recognisable command. Is the intention to execute the .sh script?

"source" is a normal built-in bash command. It executes the contents of a file as a bash script.

comment:18 in reply to: ↑ 17 ; follow-up: ↓ 19 Changed 11 months ago by drh@…

Replying to ryandesign@…:

Replying to drh@…:

Many thanks for the reply. I seem to have progressed. On Mac OS X 10.7.4 the path is defined in /etc/paths and I fixed that. The "source" command was suddenly found, having previously been "Command not found" (a path problem???)

However, "sudo port install gnustep-base" now fails because it can't use the gcc-4.2 compiler which is freshly installed in /usr/bin (AFAIK, that is the right place). As this isn't gcc-3.x, libgcc_s and libobjc would seem to be irrelevant, but what equivalents for gcc-4.2 are expected and where should they be? There seem to be no equivalents on this machine

:info:configure configure: error: The Objective-C compiler does not work or is not installed properly.
:info:configure Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnustep_gnustep-base/gnustep-base/work/gnustep-base-1.19.1" && ./configure --prefix=/opt/local CC=/usr/bin/clang GNUSTEP_MAKEFILES=/opt/local/share/GNUstep/Makefiles --disable-tls --enable-libffi --with-ffi-include=/opt/local/include/gcc42 --with-ffi-library=/opt/local/lib/gcc42 
:info:configure Exit code: 1
:error:configure org.macports.configure for port gnustep-base returned: configure failure: command execution failed
:debug:configure Error code: NONE
:debug:configure Backtrace: configure failure: command execution failed
    while executing
"$procedure $targetname"

".profile" and ".rc" are either empty or don't exist,

Use whatever file you use for shell startup commands. If you don't use .profile, perhaps you use .bash_profile or .bashrc.

and "source" is not a recognisable command. Is the intention to execute the .sh script?

"source" is a normal built-in bash command. It executes the contents of a file as a bash script.

comment:19 in reply to: ↑ 18 ; follow-ups: ↓ 20 ↓ 21 Changed 11 months ago by ryandesign@…

Remember to use WikiFormatting when writing in Trac.

Replying to drh@…:

However, "sudo port install gnustep-base" now fails because it can't use the gcc-4.2 compiler which is freshly installed in /usr/bin (AFAIK, that is the right place). As this isn't gcc-3.x, libgcc_s and libobjc would seem to be irrelevant, but what equivalents for gcc-4.2 are expected and where should they be? There seem to be no equivalents on this machine

:info:configure configure: error: The Objective-C compiler does not work or is not installed properly.

What Xcode are you using? Apple no longer provides gcc-4.2 as of Xcode 4.3. (However, the portfile makes no mention of requiring gcc-4.2.) What does the gnustep-base main.log say? What does the gnustep-base config.log say?

comment:20 in reply to: ↑ 19 Changed 11 months ago by drh@…

Replying to ryandesign@…:

Remember to use WikiFormatting when writing in Trac.

Thanks for the fast response.

I have xcode 4.2.1, but loaded gcc-4.2 as a separate exercise because there was an implication in the log that gcc-3.x was deprecated (why would it be mentioned, otherwise), and there's no mention of LLVM GCC 4.2 or LLVM compiler 3.0, which are the two possibilities from Xcode 4.2.1. Before I installed gcc-4.2 I had tried installing gnu step-base relying on what was installed with xcode and got the same error messages, including:

:info:configure If you are using gcc-3.x make sure that your compiler's libgcc_s and libobjc
:info:configure can be found by the dynamic linker - usually that requires you to play
:info:configure with LD_LIBRARY_PATH or /etc/ld.so.conf.
:info:configure Please refer to your compiler installation instructions for more help.

If the Macport gnu step installation depends on having Xcode 4.3 installed, perhaps this should be stated somewhere (if it is, I missed it, but I can upgrade and try again).

Here's the segment of the gnu step-base config.log that is relevant to the failure:

:info:configure checking whether objc really works... no
:info:configure I don't seem to be able to use your Objective-C compiler to produce
:info:configure working binaries!  Please check your Objective-C compiler installation.
:info:configure If you are using gcc-3.x make sure that your compiler's libgcc_s and libobjc
:info:configure can be found by the dynamic linker - usually that requires you to play
:info:configure with LD_LIBRARY_PATH or /etc/ld.so.conf.
:info:configure Please refer to your compiler installation instructions for more help.
:info:configure configure: error: The Objective-C compiler does not work or is not installed properly.
:info:configure Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnustep_gnustep-base/gnustep-base/work/gnustep-base-1.19.1" && ./configure --prefix=/opt/local CC=/usr/bin/clang GNUSTEP_MAKEFILES=/opt/local/share/GNUstep/Makefiles --disable-tls --enable-libffi --with-ffi-include=/opt/local/include/gcc42 --with-ffi-library=/opt/local/lib/gcc42 
:info:configure Exit code: 1
:error:configure org.macports.configure for port gnustep-base returned: configure failure: command execution failed
:debug:configure Error code: NONE
:debug:configure Backtrace: configure failure: command execution failed
    while executing
"$procedure $targetname"
:info:configure Warning: targets not executed for gnustep-base: org.macports.activate org.macports.configure org.macports.build org.macports.destroot org.macports.install
:notice:configure Please see the log file for port gnustep-base for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnustep_gnustep-base/gnustep-base/main.log

Replying to drh@…:

However, "sudo port install gnustep-base" now fails because it can't use the gcc-4.2 compiler which is freshly installed in /usr/bin (AFAIK, that is the right place). As this isn't gcc-3.x, libgcc_s and libobjc would seem to be irrelevant, but what equivalents for gcc-4.2 are expected and where should they be? There seem to be no equivalents on this machine

:info:configure configure: error: The Objective-C compiler does not work or is not installed properly.

What Xcode are you using? Apple no longer provides gcc-4.2 as of Xcode 4.3. (However, the portfile makes no mention of requiring gcc-4.2.) What does the gnustep-base main.log say? What does the gnustep-base config.log say?

Last edited 3 months ago by ryandesign@… (previous) (diff)

comment:21 in reply to: ↑ 19 ; follow-up: ↓ 22 Changed 11 months ago by drh@…

Replying to ryandesign@…:

Remember to use WikiFormatting when writing in Trac.

Follow-up to first reply: Sorry, I gave just the segment from the gnu step-base main.log. Can't seem to find anything called config.log

Replying to drh@…:

However, "sudo port install gnustep-base" now fails because it can't use the gcc-4.2 compiler which is freshly installed in /usr/bin (AFAIK, that is the right place). As this isn't gcc-3.x, libgcc_s and libobjc would seem to be irrelevant, but what equivalents for gcc-4.2 are expected and where should they be? There seem to be no equivalents on this machine

:info:configure configure: error: The Objective-C compiler does not work or is not installed properly.

What Xcode are you using? Apple no longer provides gcc-4.2 as of Xcode 4.3. (However, the portfile makes no mention of requiring gcc-4.2.) What does the gnustep-base main.log say? What does the gnustep-base config.log say?

comment:22 in reply to: ↑ 21 Changed 11 months ago by drh@…

Replying to drh@…:

Replying to ryandesign@…:

Remember to use WikiFormatting when writing in Trac.

Follow-up to first reply: Sorry, I gave just the segment from the gnu step-base main.log. Can't seem to find anything called config.log

Found it! This is probably the segment of the config.log file that is relevant:

configure:2252: checking for /usr/bin/clang option to accept ANSI C
configure:2322: /usr/bin/clang  -c -pipe -O2 -arch x86_64 -I/opt/local/include -I/opt/local/include -I/opt/local/include conftest.c >&5
configure:2328: $? = 0
configure:2332: test -z 
			 || test ! -s conftest.err
configure:2335: $? = 0
configure:2338: test -s conftest.o
configure:2341: $? = 0
configure:2359: result: none needed
configure:2377: /usr/bin/clang -c -pipe -O2 -arch x86_64 -I/opt/local/include -I/opt/local/include -I/opt/local/include conftest.c >&5
conftest.c:2:3: error: unknown type name 'choke'
  choke me
  ^
conftest.c:2:11: error: expected ';' after top level declarator
  choke me
          ^
          ;
2 errors generated.
configure:2383: $? = 1
configure: failed program was:
| #ifndef __cplusplus
|   choke me
| #endif
configure:2521: checking how to run the C preprocessor
configure:2556: /usr/bin/clang -E -I/opt/local/include -I/opt/local/include -I/opt/local/include conftest.c
configure:2562: $? = 0
configure:2594: /usr/bin/clang -E -I/opt/local/include -I/opt/local/include -I/opt/local/include conftest.c
conftest.c:9:10: fatal error: 'ac_nonexistent.h' file not found
#include <ac_nonexistent.h>
         ^
1 error generated.
configure:2600: $? = 1
configure: failed program was:
| /* confdefs.h.  */

Replying to drh@…:

However, "sudo port install gnustep-base" now fails because it can't use the gcc-4.2 compiler which is freshly installed in /usr/bin (AFAIK, that is the right place). As this isn't gcc-3.x, libgcc_s and libobjc would seem to be irrelevant, but what equivalents for gcc-4.2 are expected and where should they be? There seem to be no equivalents on this machine

:info:configure configure: error: The Objective-C compiler does not work or is not installed properly.

What Xcode are you using? Apple no longer provides gcc-4.2 as of Xcode 4.3. (However, the portfile makes no mention of requiring gcc-4.2.) What does the gnustep-base main.log say? What does the gnustep-base config.log say?

Last edited 3 months ago by ryandesign@… (previous) (diff)

comment:23 Changed 4 months ago by egall@…

  • Cc egall@… added

Cc Me!

comment:24 follow-up: ↓ 25 Changed 3 months ago by egall@…

Has duplicate #28063

comment:25 in reply to: ↑ 24 Changed 7 days ago by ryandesign@…

Replying to egall@…:

Has duplicate #28063

gnustep-base being unable to find gnustep-config is #20775.

gnustep-base being unable to use the Objective-C compiler is #28063.

Note: See TracTickets for help on using tickets.