Opened 11 years ago

Last modified 10 months ago

#20775 new defect

gnustep-base: gnustep-config: command not found

Reported by: ryandesign (Ryan Schmidt) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.7.1
Keywords: Cc: jmehnle (Julian Mehnle), israelnogueiramiranda@…, leonfeifei0@…, dgh@…, MaddTheSane (C.W. Betts), amadeus24, cooljeanius (Eric Gallager), andrewbass@…, szhorvat (Szabolcs Horvát), samuelandjw
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 (2)

main.log (19.9 KB) - added by jmehnle (Julian Mehnle) 9 years ago.
gnustep-base-log (16.5 KB) - added by dgh@… 8 years ago.

Download all attachments as: .zip

Change History (36)

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

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

Changed 9 years ago by jmehnle (Julian Mehnle)

Attachment: main.log added

comment:2 Changed 9 years ago by jmehnle (Julian Mehnle)

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 9 years ago by jmehnle (Julian Mehnle)

Cc: julian@… added

Cc Me!

comment:4 Changed 9 years ago by jmehnle (Julian Mehnle)

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 9 years 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 9 years ago by israelnogueiramiranda@…

Cc: israelnogueiramiranda@… added

Cc Me!

comment:7 Changed 9 years 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 9 years ago by ryandesign (Ryan Schmidt)

Cc: leonfeifei0@… added

Has duplicate #32699.

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

Cc: dgh@… added

Has duplicate #33449.

comment:10 Changed 8 years 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 8 years ago by ryandesign (Ryan Schmidt)

Remember to use WikiFormatting and to preview before submitting.

comment:12 Changed 8 years 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 8 years ago by dgh@…

Attachment: gnustep-base-log added

comment:13 Changed 8 years 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 8 years ago by ryandesign (Ryan Schmidt)

Cc: computers57@… added

Has duplicate #33842.

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

Cc: ag@… added

Has duplicate #34496.

comment:16 in reply to:  13 ; Changed 8 years 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 ; Changed 8 years ago by ryandesign (Ryan Schmidt)

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 ; Changed 8 years 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 ; Changed 8 years ago by ryandesign (Ryan Schmidt)

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 8 years 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 7 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:21 in reply to:  19 ; Changed 8 years 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 8 years 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 7 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:23 Changed 8 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:24 Changed 7 years ago by cooljeanius (Eric Gallager)

Has duplicate #28063

comment:25 in reply to:  24 Changed 7 years ago by ryandesign (Ryan Schmidt)

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.

comment:26 Changed 7 years ago by mf2k (Frank Schima)

I've been researching this and I believe the problem lies in gnustep_make. In my install, the Makefiles are located as follows:

$ port installed gnustep-make
The following ports are currently installed:
  gnustep-make @2.6.1_0+gnustep_layout (active)

$ port contents gnustep-make
Port gnustep-make contains:
  /opt/local/GNUstep/Local/.turd_gnustep-make
  /opt/local/GNUstep/System/Library/GNUstep.conf
  /opt/local/GNUstep/bin/debugapp
  /opt/local/GNUstep/bin/gnustep-config
  /opt/local/GNUstep/bin/gnustep-tests
  /opt/local/GNUstep/bin/openapp
  /opt/local/GNUstep/bin/opentool
  /opt/local/GNUstep/share/GNUstep/Makefiles/GNUstep-reset.sh
  /opt/local/GNUstep/share/GNUstep/Makefiles/GNUstep.csh
  /opt/local/GNUstep/share/GNUstep/Makefiles/GNUstep.sh
...

According to this link, I think that is one too many GNUstep directories. I believe the standard install should be - assuming ${prefix} is /opt/local:

/opt/local/share/GNUstep/Makefiles/GNUstep.sh

But given that, I think gnustep-config is in the wrong location because we would have the following:

/opt/local/GNUstep/bin/gnustep-config

The GNUstep directory is at different levels. I'm not sure of the proper location for the files in order to be consistent. The existing Macports gnustep 1.0 portgroup expects the Makefiles here:

/opt/local/share/GNUstep/Makefiles

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

I would say the problem is at least partly the existence of the fhs_layout and gnustep_layout variants in the gnustep-make port. These variants change where files are installed, which is incompatible with the requirement that other ports depending on gnustep-make be able to know where files are installed. We should decide where the files should go, and make the port always install them there, and delete these variants, and then audit all ports using gnustep-make to ensure they understand this new location.

Last edited 7 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:28 Changed 7 years ago by cooljeanius (Eric Gallager)

The +fhs_layout variant says that it's not really supported by MacPorts, and +gnustep_layout is a default variant already anyways, and its description says it's the default layout, and plus it has the +gnustep_layout variant the model for where all the files should go by default, and either make the +fhs_layout variant a dummy legacy compatibility variant (to be removed after a year), or just remove it entirely now.

Edit: darn it, it looks like my comment got mangled from how I originally thought I was writing it...

Last edited 7 years ago by cooljeanius (Eric Gallager) (previous) (diff)

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

I cannot confirm or deny the statements made in that portfile. I would be more inclined to believe that the portfile is completely out of date and I think someone who understands gnustep or can spend the necessary time to research it needs to come to a conclusion about what layout is appropriate -- whether it be that which is currently embodied by the gnustep_layout variant, that which is embodied by the fhs_layout variant, or something else -- and make the port and its dependents unconditionally use that.

comment:30 Changed 7 years ago by andrewbass@…

Cc: andrewbass@… added

Cc Me!

comment:31 in reply to:  29 Changed 6 years ago by cooljeanius (Eric Gallager)

Replying to ryandesign@…:

I cannot confirm or deny the statements made in that portfile. I would be more inclined to believe that the portfile is completely out of date and I think someone who understands gnustep or can spend the necessary time to research it needs to come to a conclusion about what layout is appropriate -- whether it be that which is currently embodied by the gnustep_layout variant, that which is embodied by the fhs_layout variant, or something else -- and make the port and its dependents unconditionally use that.

I found a Portfile repo that one of the upstream GNUstep maintainers has on GitHub, and they force the use of the gnustep layout, with this comment explaining why the fhs layout will not work:

# we can not use the fhs layout, because that uses /opt/local/lib as the GNUstep system library
# directory, and gnustep-make adds the system library directory to DYLD_LIBRARY_PATH when
# GNUstep.sh is sourced.
# having /opt/local/lib in DYLD_LIBRARY_PATH can mess up macports. e.g. pkg-config
# will stop working because it loads the macports libjpeg when it should load the system
# libjpeg.

Source: https://github.com/ericwa/gnustep-macports-fixes/blob/master/gnustep/gnustep-make/Portfile#L27

comment:32 Changed 6 years ago by ryandesign (Ryan Schmidt)

Cc: szhorvat@… added

Has duplicate #44211.

comment:33 Changed 6 years ago by samuelandjw

Cc: samuelandjw@… added

Cc Me!

comment:34 Changed 10 months ago by rmottola (Riccardo)

did you try latest gnustep-base release?

did you try passing --with-layout=gnustep instead as option? That is what I use standard on linux and solaris.

Also, sourcing GNUstep.sh is mandatory.

Note: See TracTickets for help on using tickets.