Git Product home page Git Product logo

Comments (20)

zerothi avatar zerothi commented on May 26, 2024

Right place ;)

Sadly, I don't have a mac to test this on.
The problem is that the install-sh command does not exist on your mac.

Could you figure out if you have install (i.e. do which install)

Alternatively you can install coreutils

brew install coretutils

that should fix this (hopefully).

from fdict.

kyrtle avatar kyrtle commented on May 26, 2024

Thank you for your reply and I am really sorry for replying back only now.
I found install as in /usr/bin/install and also installed coreutils but the problem persists.
I shall try it on Ubuntu and keep you posted.
Regards,
dT

from fdict.

zerothi avatar zerothi commented on May 26, 2024

Thank you for your reply and I am really sorry for replying back only now.
I found install as in /usr/bin/install and also installed coreutils but the problem persists.
I shall try it on Ubuntu and keep you posted.
Regards,
dT

Ok, could yo uthen do:

make INSTALL=install

I think this would work?

from fdict.

kyrtle avatar kyrtle commented on May 26, 2024

from fdict.

zerothi avatar zerothi commented on May 26, 2024

Ok, could you try and apply this patch:

diff --git a/Makefile.project b/Makefile.project
index 29dfb07..0c2b8fa 100644
--- a/Makefile.project
+++ b/Makefile.project
@@ -43,17 +43,18 @@ endif
 .NOTPARALLEL: install-mod
 smeka-install: install-mod
 install-mod: $(F_MODS)
-	$(INSTALL) -m $(_OCT_rwrr) -t $(DESTDIR)$(FMOD_DIR) $(F_MODS)
+	$(INSTALL) -m $(_OCT_rwrxrx) -d $(DESTDIR)$(FMOD_DIR)
+	$(INSTALL) -m $(_OCT_rwrr) $(F_MODS) $(DESTDIR)$(FMOD_DIR)
 
 .NOTPARALLEL: install-settings
 smeka-install: install-settings
-install-settings: settings.bash
-	$(INSTALL) -m $(_OCT_rwrr) -t $(DESTDIR)$(BIN_DIR) settings.bash
+install-settings: settings.bash smeka-install-init-dir
+	$(INSTALL) -m $(_OCT_rwrr) settings.bash $(DESTDIR)$(BIN_DIR)
 
 .NOTPARALLEL: install-header
 smeka-install: install-header
-install-header: fdict.inc
-	$(INSTALL) -m $(_OCT_rwrr) -t $(DESTDIR)$(INC_DIR) fdict.inc
+install-header: fdict.inc smeka-install-init-dir
+	$(INSTALL) -m $(_OCT_rwrr) fdict.inc $(DESTDIR)$(INC_DIR)
 
 
 # Force the deletion of both libraries
diff --git a/smeka/Makefile.install b/smeka/Makefile.install
index 997e976..2fbf4c8 100644
--- a/smeka/Makefile.install
+++ b/smeka/Makefile.install
@@ -21,16 +21,14 @@ smeka-install-lib: smeka-install-init-dir
 # Note that the x flag is common practice for libraries
 # although it may surprise first-time users.
 ifneq ($(LIBRARIES),)
-	$(INSTALL) -m $(_OCT_rwxrxrx) -t $(DESTDIR)$(LIB_DIR) $(LIBRARIES)
+	$(INSTALL) -m $(_OCT_rwxrxrx) $(LIBRARIES) $(DESTDIR)$(LIB_DIR)
 endif
 
 
 .PHONY: smeka-install-init-dir
 .NOTPARALLEL: smeka-install-init-dir
 smeka-install-init-dir:
-	-$(MKDIR) $(MKDIR_FLAG_PARENT) $(DESTDIR)$(INC_DIR)
-	-$(MKDIR) $(MKDIR_FLAG_PARENT) $(DESTDIR)$(LIB_DIR)
-	-$(MKDIR) $(MKDIR_FLAG_PARENT) $(DESTDIR)$(BIN_DIR)
+	$(INSTALL) -m $(_OCT_rwxrxrx) -d $(DESTDIR)$(LIB_DIR) $(DESTDIR)$(INC_DIR) $(DESTDIR)$(BIN_DIR)
 
 
 # Issuing uninstall will forcefully remove the installation directory

Then do make INSTALL=install?

from fdict.

kyrtle avatar kyrtle commented on May 26, 2024

from fdict.

zerothi avatar zerothi commented on May 26, 2024

No worries, good to have somebody with a mac testing ;)

from fdict.

zerothi avatar zerothi commented on May 26, 2024

@kyrtle ping, did it work? :)

from fdict.

zerothi avatar zerothi commented on May 26, 2024

I'll close assuming it worked out!

from fdict.

sankalpjena avatar sankalpjena commented on May 26, 2024
+install-settings: settings.bash smeka-install-init-dir
+	$(INSTALL) -m $(_OCT_rwrr) settings.bash $(DESTDIR)$(BIN_DIR)

Hello, I'm on MacOS Monterey Version: 12.4 (21F79). I'm having the issue with make PREFIX=path/to/fdict install. I get the following error:
install-sh -m 755 -t /Users/sankalp/Desktop/Semester4/MPS/Beleg/collisionV1/supplementary/fdict/lib libfdict.a
make: install-sh: No such file or directory
make: *** [smeka-install-lib] Error 1

I'm not able to figure out where to add the patch. Could you please help?

Thanking you

Best regards,
Sankalp

from fdict.

zerothi avatar zerothi commented on May 26, 2024
+install-settings: settings.bash smeka-install-init-dir
+	$(INSTALL) -m $(_OCT_rwrr) settings.bash $(DESTDIR)$(BIN_DIR)

Hello, I'm on MacOS Monterey Version: 12.4 (21F79). I'm having the issue with make PREFIX=path/to/fdict install. I get the following error: install-sh -m 755 -t /Users/sankalp/Desktop/Semester4/MPS/Beleg/collisionV1/supplementary/fdict/lib libfdict.a make: install-sh: No such file or directory make: *** [smeka-install-lib] Error 1

I'm not able to figure out where to add the patch. Could you please help?

Thanking you

Did you try with:

make INSTALL="install -p" ...

or?

Also, try and return the value of which install and which install-sh, thanks.

from fdict.

sankalpjena avatar sankalpjena commented on May 26, 2024

So, this is what I did. From inside the 'fdict' folder, I ran 'make' in the terminal. This is what I get:
sankalp@jenambp fdict % make
VPATH="." ./setup.sh --default
VPATH="." ./src/variable.sh
gfortran -E -P -x c -I./src -I./src -I. ./src/variable_pp.F90 | sed -f ./src/filter.sed > variable.f90
gfortran -c -o variable.o -g variable.f90
VPATH="." ./src/dictionary.sh
gfortran -E -P -x c -I./src -I./src -I. ./src/dictionary_pp.F90 | sed -f ./src/filter.sed > dictionary.f90
gfortran -c -o dictionary.o -g dictionary.f90
ar rv libfdict.a variable.o dictionary.o
ar: creating archive libfdict.a
a - variable.o
a - dictionary.o
ranlib libfdict.a

Then, with your suggestion. I get the following:
sankalp@jenambp fdict % make INSTALL="install -p"
make: Nothing to be done for default'. (data_sc_env) sankalp@jenambp fdict % make INSTALL="install -p" ... make: *** No rule to make target ...'. Stop.

Here are the return values you asked for:
(data_sc_env) sankalp@jenambp fdict % which install
/usr/bin/install
(data_sc_env) sankalp@jenambp fdict % which install-sh
install-sh not found

from fdict.

sankalpjena avatar sankalpjena commented on May 26, 2024

So, this is what I did. From inside the 'fdict' folder, I ran 'make' in the terminal. This is what I get: sankalp@jenambp fdict % make VPATH="." ./setup.sh --default VPATH="." ./src/variable.sh gfortran -E -P -x c -I./src -I./src -I. ./src/variable_pp.F90 | sed -f ./src/filter.sed > variable.f90 gfortran -c -o variable.o -g variable.f90 VPATH="." ./src/dictionary.sh gfortran -E -P -x c -I./src -I./src -I. ./src/dictionary_pp.F90 | sed -f ./src/filter.sed > dictionary.f90 gfortran -c -o dictionary.o -g dictionary.f90 ar rv libfdict.a variable.o dictionary.o ar: creating archive libfdict.a a - variable.o a - dictionary.o ranlib libfdict.a

Then, with your suggestion. I get the following: sankalp@jenambp fdict % make INSTALL="install -p" make: Nothing to be done for default'. (data_sc_env) sankalp@jenambp fdict % make INSTALL="install -p" ... make: *** No rule to make target ...'. Stop.

Here are the return values you asked for: (data_sc_env) sankalp@jenambp fdict % which install /usr/bin/install (data_sc_env) sankalp@jenambp fdict % which install-sh install-sh not found

My gfortran version:
sankalp@jenambp fdict % gfortran --version
GNU Fortran (Homebrew GCC 11.3.0_1) 11.3.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

from fdict.

zerothi avatar zerothi commented on May 26, 2024

Sorry, I should have been more clear. When just doing make INSTALL="..." it will only try to build fdict, not install it.

So it should be:

make INSTALL="install -p" PREFIX=... install

from fdict.

sankalpjena avatar sankalpjena commented on May 26, 2024

I tried this and I got the error install: illegal option -- t
Here's, what I did:

(data_sc_env) sankalp@jenambp fdict % make
VPATH="." ./setup.sh --default
VPATH="." ./src/variable.sh
gfortran -E -P -x c  -I./src -I./src -I. ./src/variable_pp.F90 | sed -f ./src/filter.sed > variable.f90
gfortran -c -o variable.o -g  variable.f90
VPATH="." ./src/dictionary.sh
gfortran -E -P -x c  -I./src -I./src -I. ./src/dictionary_pp.F90 | sed -f ./src/filter.sed > dictionary.f90
gfortran -c -o dictionary.o -g  dictionary.f90
ar rv libfdict.a variable.o dictionary.o
ar: creating archive libfdict.a
a - variable.o
a - dictionary.o
ranlib  libfdict.a
(data_sc_env) sankalp@jenambp fdict % make INSTALL="install -p" PREFIX=... install
mkdir -p .../include
mkdir -p .../lib
mkdir -p .../bin
install -p -m 755 -t .../lib libfdict.a
install: illegal option -- t
usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
               [-o owner] file1 file2
       install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
               [-o owner] file1 ... fileN directory
       install -d [-v] [-g group] [-m mode] [-o owner] directory ...
make: *** [smeka-install-lib] Error 64

from fdict.

zerothi avatar zerothi commented on May 26, 2024

Could you try the patch in #24 (comment)

I.e. copy it to a file, then do:

cd <root-dir of fdict>
patch -p 1 < file

from fdict.

sankalpjena avatar sankalpjena commented on May 26, 2024

I think the patch worked.

 % make INSTALL="install -p" PREFIX=parent install
install -p -m 755 -d parent/lib parent/include parent/bin
install: the -d and -C options may not be specified together
install -p -m 755 libfdict.a parent/lib
install -p -m 755 -d parent/include
install: the -d and -C options may not be specified together
install -p -m 644  variable.mod  dictionary.mod parent/include
install -p -m 644 settings.bash parent/bin
install -p -m 644 fdict.inc parent/include
mkdir -p parent/lib/pkgconfig
sed "s:@PREFIX@:parent:g;\
                s:@PROJECT_NAME@:fdict:g;\
                s:@PROJECT_VERSION@:0.8.1:g;\
                s:@INC_DIR@:parent/include:g;\
                s:@LIB_DIR@:parent/lib:g;\
                s:@BIN_DIR@:parent/bin:g" \
                ./fdict.pc.in > parent/lib/pkgconfig/fdict.pc

Now, I need to add the path to the folder parent to my program's Makefile, right?

from fdict.

zerothi avatar zerothi commented on May 26, 2024

Great! Yes, you need your own program that uses fdict to be able to locate the library and the module files, just like ordinary fortran modules/libraries.

The exact method depends on how you have created your makefile. :)

from fdict.

sankalpjena avatar sankalpjena commented on May 26, 2024

Great! Yes, you need your own program that uses fdict to be able to locate the library and the module files, just like ordinary fortran modules/libraries.

The exact method depends on how you have created your makefile. :)

Thank you very much for the support!

from fdict.

zerothi avatar zerothi commented on May 26, 2024

The patch has been incorporated and should work. I'll close this, thanks!

from fdict.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.