MSYS on Windows - Setting Directories?

classic Classic list List threaded Threaded
22 messages Options
12
Reply | Threaded
Open this post in threaded view
|

MSYS on Windows - Setting Directories?

Domonic Tom

I have built a number of libraries such as lipjpeg, zlib, etc on my pc in directories such as C:/zlib and C:/libjpeg etc.  I configured and built these

using MSYS but I believe I have left one important step out.  I know this because any library needing dependencies such as libpng which requires access to zlib cannot seem to find my zlib library.  I have multiple cases of this.


I understand that this is what the 'make install' command is for.  That is.. to place the header and library files in a location where MSYS can find them during the configuration process.


I have read this MinGW page in detail.

http://www.mingw.org/wiki/HOWTO_Specify_the_Location_of_Libraries_for_use_with_MinGW


When I try to just use 'make install' I get an error such as the below:


user@USER-PC ~
$ cd C:\jpeg-6b

user@USER-PC /c/jpeg-6b
$ make install
/bin/install -c cjpeg /usr/local/bin/cjpeg
/bin/install: cannot create regular file `/usr/local/bin/cjpeg.exe': No such file or directory
make: *** [install] Error 1



I believe this is because I am on a Windows Environment and not a Unix environment and I have to set my 'Include' and

'Lib' directories.  Right or wrong, the above 'make install' approach gives me an error every time.


So... I have read on the above link under:

Customising MinGW's Default Library Search Path


that I can manually set the Include and Lib directories by  placing the -I or -L option in front of the directory to permanently place the Include and Lib directories so they will be found there by MSYS every time I build a project and it requires one of my dependencies.   That's how I have interpreted this anyway.  


The question is, how do I use these options???

I'm guessing that it's this way but I'm probably wrong.

$ ./configure

$ make install -Ic:/zlib/include  -Lc:/zlib/lib     

Is this right?  If I'm completely wrong then how to in specify the permanent directories for Include and Lib files so they will

be found by MSYS going forward?


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Keith Marshall
On 03/03/16 16:51, Domonic Tom wrote:

> When I try to just use 'make install' I get an error such as the below:
>
> user@USER-PC ~
> $ cd C:\jpeg-6b
>
> user@USER-PC /c/jpeg-6b
> $ make install
> /bin/install -c cjpeg /usr/local/bin/cjpeg
> /bin/install: cannot create regular file `/usr/local/bin/cjpeg.exe': No such file or directory
> make: *** [install] Error 1
I see a number of potential issues here:

1) You didn't --prefix=c:/mingw as a configure option; that may not be a
problem, if you've arranged for, (i.e. mounted), /usr/local so that it
represents something other than its MSYS default, and you've followed
the instructions for mapping that alternative prefix into GCC's default
search paths.

2) Your makefile doesn't use $(EXEEXT) correctly; ideally, the .exe
suffix should appear in the file names specified to /bin/install

3) I don't see any 'mkdir -p /usr/local/bin' command executed by 'make
install'; (the GNU Coding Standards require installation directories to
be created, if necessary, during the 'make install' process).  Does your
/usr/local/bin directory actually exist?  (FWIW, you ARE running the
/bin/install command in an MSYS, i.e. unixy, environment, so your
assumption ...

> I believe this is because I am on a Windows Environment and not a
> Unix environment and I have to set my 'Include' and 'Lib' directories.

... that you would need Windows path syntax is incorrect).

> The question is, how do I use these [-I and -L] options???
>
> I'm guessing that it's this way but I'm probably wrong.
>
> $ ./configure
>
> $ make install -Ic:/zlib/include  -Lc:/zlib/lib
>
> Is this right?

No, it's quite wrong!  Both of these options are to be specified when
you run GCC, IF your libraries (-L) and/or their headers (-I) do not
already lie in the appropriate GCC search paths.  The correct way is,
(with c:/mingw representing the root of the installation tree; choose an
alternative, if you prefer):

 $ ./configure --prefix=c:/mingw

(or better still, create a separate build subdirectory, make it current
working directory, and run the above command as):

 $ ../configure --prefix=c:/mingw

then:

 $ make
 $ make install

However, you may need to ensure that all necessary installation
directories already exist, before you run 'make install', since your
makefile apparently doesn't fulfil its obligations in that respect.

--
Regards,
Keith.

Public key available from keys.gnupg.net
Key fingerprint: C19E C018 1547 DE50 E1D4 8F53 C0AD 36C6 347E 5A3F


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe

signature.asc (853 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Domonic Tom

Keith.. Thanks for your reply.

I'm aware that I don't understand this.

Basically, I'm trying to build all my dependencies for future use with other libraries.

I just made a test directory to see if the --prefix=c:/test_directory would end up containing headers and lib files .  Even if I do use the
--prefix command will this directory be searched the next time I build something and it needs dependencies?   The c:/test_directory ended up containing nothing after the following commands.  I tested this on building libjpeg

$ cd c:/libjpeg
$ ./configure --prefix=c:/test_directory
$ make
$ make install

I get the error below

$ make install
/bin/install -c cjpeg c:/test_directory/bin/cjpeg
/bin/install: cannot create regular file `c:/test_directory/bin/cjpeg.exe': No such file or directory
make: *** [install] Error 1


>From what you have said below I gather that all headers and lib files will be installed in the default directory somewhere in c:/mingw ?
I'm not sure what you mean by -I and -L are only used when you run gcc?   If so, how are they used?  

Overall, all I am trying to do is to build all my dependencies and have the headers and lib files easily found when I need to use them as dependencies when
I build other libraries which depend on them.   That's it.

You keep referring to user/local?     What is this?.  I have always operated on Windows and have never seen this directory.






________________________________________
From: Keith Marshall <[hidden email]>
Sent: Friday, 4 March 2016 5:07 AM
To: [hidden email]
Subject: Re: [Mingw-users] MSYS on Windows - Setting Directories?

On 03/03/16 16:51, Domonic Tom wrote:

> When I try to just use 'make install' I get an error such as the below:
>
> user@USER-PC ~
> $ cd C:\jpeg-6b
>
> user@USER-PC /c/jpeg-6b
> $ make install
> /bin/install -c cjpeg /usr/local/bin/cjpeg
> /bin/install: cannot create regular file `/usr/local/bin/cjpeg.exe': No such file or directory
> make: *** [install] Error 1

I see a number of potential issues here:

1) You didn't --prefix=c:/mingw as a configure option; that may not be a
problem, if you've arranged for, (i.e. mounted), /usr/local so that it
represents something other than its MSYS default, and you've followed
the instructions for mapping that alternative prefix into GCC's default
search paths.

2) Your makefile doesn't use $(EXEEXT) correctly; ideally, the .exe
suffix should appear in the file names specified to /bin/install

3) I don't see any 'mkdir -p /usr/local/bin' command executed by 'make
install'; (the GNU Coding Standards require installation directories to
be created, if necessary, during the 'make install' process).  Does your
/usr/local/bin directory actually exist?  (FWIW, you ARE running the
/bin/install command in an MSYS, i.e. unixy, environment, so your
assumption ...

> I believe this is because I am on a Windows Environment and not a
> Unix environment and I have to set my 'Include' and 'Lib' directories.

... that you would need Windows path syntax is incorrect).

> The question is, how do I use these [-I and -L] options???
>
> I'm guessing that it's this way but I'm probably wrong.
>
> $ ./configure
>
> $ make install -Ic:/zlib/include  -Lc:/zlib/lib
>
> Is this right?

No, it's quite wrong!  Both of these options are to be specified when
you run GCC, IF your libraries (-L) and/or their headers (-I) do not
already lie in the appropriate GCC search paths.  The correct way is,
(with c:/mingw representing the root of the installation tree; choose an
alternative, if you prefer):

 $ ./configure --prefix=c:/mingw

(or better still, create a separate build subdirectory, make it current
working directory, and run the above command as):

 $ ../configure --prefix=c:/mingw

then:

 $ make
 $ make install

However, you may need to ensure that all necessary installation
directories already exist, before you run 'make install', since your
makefile apparently doesn't fulfil its obligations in that respect.

--
Regards,
Keith.

Public key available from keys.gnupg.net
Key fingerprint: C19E C018 1547 DE50 E1D4 8F53 C0AD 36C6 347E 5A3F

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Domonic Tom
Further to the below, I have found that if I add a /bin directory to my --prefix path then all this does is build a bunch of binary files into the /bin folder?

Why doesn't it place headers and lib files in there?



________________________________________
From: Domonic Tom <[hidden email]>
Sent: Friday, 4 March 2016 12:09 PM
To: MinGW Users List
Subject: Re: [Mingw-users] MSYS on Windows - Setting Directories?

Keith.. Thanks for your reply.

I'm aware that I don't understand this.

Basically, I'm trying to build all my dependencies for future use with other libraries.

I just made a test directory to see if the --prefix=c:/test_directory would end up containing headers and lib files .  Even if I do use the
--prefix command will this directory be searched the next time I build something and it needs dependencies?   The c:/test_directory ended up containing nothing after the following commands.  I tested this on building libjpeg

$ cd c:/libjpeg
$ ./configure --prefix=c:/test_directory
$ make
$ make install

I get the error below

$ make install
/bin/install -c cjpeg c:/test_directory/bin/cjpeg
/bin/install: cannot create regular file `c:/test_directory/bin/cjpeg.exe': No such file or directory
make: *** [install] Error 1


>From what you have said below I gather that all headers and lib files will be installed in the default directory somewhere in c:/mingw ?
I'm not sure what you mean by -I and -L are only used when you run gcc?   If so, how are they used?

Overall, all I am trying to do is to build all my dependencies and have the headers and lib files easily found when I need to use them as dependencies when
I build other libraries which depend on them.   That's it.

You keep referring to user/local?     What is this?.  I have always operated on Windows and have never seen this directory.






________________________________________
From: Keith Marshall <[hidden email]>
Sent: Friday, 4 March 2016 5:07 AM
To: [hidden email]
Subject: Re: [Mingw-users] MSYS on Windows - Setting Directories?

On 03/03/16 16:51, Domonic Tom wrote:

> When I try to just use 'make install' I get an error such as the below:
>
> user@USER-PC ~
> $ cd C:\jpeg-6b
>
> user@USER-PC /c/jpeg-6b
> $ make install
> /bin/install -c cjpeg /usr/local/bin/cjpeg
> /bin/install: cannot create regular file `/usr/local/bin/cjpeg.exe': No such file or directory
> make: *** [install] Error 1

I see a number of potential issues here:

1) You didn't --prefix=c:/mingw as a configure option; that may not be a
problem, if you've arranged for, (i.e. mounted), /usr/local so that it
represents something other than its MSYS default, and you've followed
the instructions for mapping that alternative prefix into GCC's default
search paths.

2) Your makefile doesn't use $(EXEEXT) correctly; ideally, the .exe
suffix should appear in the file names specified to /bin/install

3) I don't see any 'mkdir -p /usr/local/bin' command executed by 'make
install'; (the GNU Coding Standards require installation directories to
be created, if necessary, during the 'make install' process).  Does your
/usr/local/bin directory actually exist?  (FWIW, you ARE running the
/bin/install command in an MSYS, i.e. unixy, environment, so your
assumption ...

> I believe this is because I am on a Windows Environment and not a
> Unix environment and I have to set my 'Include' and 'Lib' directories.

... that you would need Windows path syntax is incorrect).

> The question is, how do I use these [-I and -L] options???
>
> I'm guessing that it's this way but I'm probably wrong.
>
> $ ./configure
>
> $ make install -Ic:/zlib/include  -Lc:/zlib/lib
>
> Is this right?

No, it's quite wrong!  Both of these options are to be specified when
you run GCC, IF your libraries (-L) and/or their headers (-I) do not
already lie in the appropriate GCC search paths.  The correct way is,
(with c:/mingw representing the root of the installation tree; choose an
alternative, if you prefer):

 $ ./configure --prefix=c:/mingw

(or better still, create a separate build subdirectory, make it current
working directory, and run the above command as):

 $ ../configure --prefix=c:/mingw

then:

 $ make
 $ make install

However, you may need to ensure that all necessary installation
directories already exist, before you run 'make install', since your
makefile apparently doesn't fulfil its obligations in that respect.

--
Regards,
Keith.

Public key available from keys.gnupg.net
Key fingerprint: C19E C018 1547 DE50 E1D4 8F53 C0AD 36C6 347E 5A3F

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Greg Jung
In reply to this post by Domonic Tom


On Thu, Mar 3, 2016 at 6:39 PM, Domonic Tom <[hidden email]> wrote:

Keith.. Thanks for your reply.

I'm aware that I don't understand this.

When you read Keith's reply a month from now, you'll understand it contains correct info - you're
still too far in the dark, and it looks like your computer isn't cooperating.  Here's some output from my "most vanilla" mingw installation:

greg@Homerw7 ~
$ uname -a
MINGW32_NT-6.1 HOMERW7 1.0.18(0.48/3/2) 2012-11-21 22:34 i686 Msys

greg@Homerw7 ~
$ mount
E:\mingw\mingworg\msys\1.0 on /usr type user (binmode,noumount)
E:\mingw\mingworg\msys\1.0 on / type user (binmode,noumount)
D:\mingw\mingworg on /Dmingw type user (binmode)
E:\mingw\mingworg on /mingw type user (binmode)
D:\mingw\msys32 on /msysd type user (binmode)
C:\msys64 on /msysc type user (binmode)
D:\Temp on /tmp type user (binmode,noumount)
c: on /c type user (binmode,noumount)
d: on /d type user (binmode,noumount)
e: on /e type user (binmode,noumount)
f: on /f type user (binmode,noumount)
h: on /h type user (binmode,noumount)

greg@Homerw7 ~
$ cat /etc/fstab
E:\mingw\mingworg /mingw
D:\mingw\mingworg /Dmingw
D:/mingw/msys32 /msysd
C:/msys64 /msysc

greg@Homerw7 ~
$ cd c:/mingw

greg@Homerw7 /c/mingw
$ ls
MinGW how-to.htm  dll32-psxdw2  dll64-psxseh  pango

greg@Homerw7 /c/mingw
$ cd /mingw

greg@Homerw7 /mingw
$ ls -laF
total 360
drwxr-xr-x 14 greg Administrators   4096 Jan  7 14:33 ./
drwxr-xr-x 11 greg Administrators   4096 Jan  6 16:26 ../
-rw-r--r--  1 greg Administrators 146419 Jan  7 14:22 .MTREE
-rw-r--r--  1 greg Administrators    550 Jan  7 14:22 .PKGINFO
drwxr-xr-x  2 greg Administrators  65536 Jan  7 14:55 bin/
drwxr-xr-x  2 greg Administrators      0 Jan  7 14:33 doc/
drwxr-xr-x 14 greg Administrators  65536 Jan  7 14:55 include/
drwxr-xr-x 18 greg Administrators  81920 Jan  7 14:55 lib/
drwxr-xr-x  4 greg Administrators      0 Jan  6 16:23 libexec/
drwxr-xr-x  6 greg Administrators      0 Jan  6 16:24 mingw32/
drwxr-xr-x  6 greg Administrators      0 Jan  7 14:20 mingworg/
drwxr-xr-x  3 greg Administrators      0 Jan  6 16:23 msys/
drwxr-xr-x  6 greg Administrators      0 Jan  7 14:20 opt/
drwxr-xr-x  2 greg Administrators      0 Jan  7 14:31 pkg/
drwxr-xr-x 31 greg Administrators      0 Jan  7 14:55 share/
drwxr-xr-x  4 greg Administrators      0 Jan  6 16:14 var/

greg@Homerw7 /mingw
$ ls /usr
bin  etc  home  include  lib  m.ico  msys.bat  msys.ico  postinstall  sbin  share  var

You see, /usr directory (NOT /user) is buried two or three levels below the directory called /mingw,
in the msys section. If prefix= is not specified, the default is to assign /usr/local
to be the recipient of the "make install" command.
 
Basically, I'm trying to build all my dependencies for future use with other libraries.
And you should already have such a directory.  You can of course create more directories
so the libraries you create aren't mixed up with the  "factory issued" support directories.
 
I just made a test directory to see if the --prefix=c:/test_directory would end up containing headers and lib files .  Even if I do use the
--prefix command will this directory be searched the next time I build something and it needs dependencies?   
    No, there is nothing yet that tells gcc that anything special is kept in C:/test_directory.
So including -I/c/test_directory/include in CFLAGS and CXXFLAGS and also
-L/c/test_directory/lib in LDFLAGS will probably be called for.
 
The c:/test_directory ended up containing nothing after the following commands.  I tested this on building libjpeg
$ cd c:/libjpeg
$ ./configure --prefix=c:/test_directory
$ make
$ make install
 
 
I get the error below

$ make install
/bin/install -c cjpeg c:/test_directory/bin/cjpeg
/bin/install: cannot create regular file `c:/test_directory/bin/cjpeg.exe': No such file or directory
make: *** [install] Error 1

Your error looks like an error in creating a file. You probably have the permissions. If this is MSYS then you should be able to use /c/test_directory etc, and this may be an issue
in the configure or makefile, which are oriented to that lexicon for files.  
 
 
>From what you have said below I gather that all headers and lib files will be installed in the default directory somewhere in c:/mingw ?
Not automatically.  
I'm not sure what you mean by -I and -L are only used when you run gcc?   If so, how are they used?
To locate the extra directories.  GCC has it own set of directories to locate, for instance, stdlib.h,
and to link needed support libraries you don't have to worry about.   Configure will find more directories, when they are in standard locations, so you generally won't need -I/mingw/include
as a CFLAG, for instance.  If you want to shift them
 
You keep referring to user/local?     What is this?.  I have always operated on Windows and have never seen this directory.

/usr is a mount in support of MSYS. 
If you keep your nose clean and stick to mingw, you won't  have to look under msys/1.0 (where /usr
begins).  If you neglect to re-direct the install prefix then you should find files in /usr/local.


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Domonic Tom

Thanks again.


So can you answer one more question for me.


You see, /usr directory (NOT /user) is buried two or three levels below the directory called /mingw,
in the msys section. If prefix= is not specified, the default is to assign /usr/local
to be the recipient of the "make install" command.

If this is true, then why can't for example, my libpng not find my zlib installation?  If these headers and lib files are placed in the default 
searchable location as you have mentioned above, why am I having so much trouble getting my libraries from seeing eachother.  That is... despite teh fact that I have used the 'make install' command. 


From: Greg Jung <[hidden email]>
Sent: Friday, 4 March 2016 3:34 PM
To: MinGW Users List
Subject: Re: [Mingw-users] MSYS on Windows - Setting Directories?
 


On Thu, Mar 3, 2016 at 6:39 PM, Domonic Tom <[hidden email]> wrote:

Keith.. Thanks for your reply.

I'm aware that I don't understand this.

When you read Keith's reply a month from now, you'll understand it contains correct info - you're
still too far in the dark, and it looks like your computer isn't cooperating.  Here's some output from my "most vanilla" mingw installation:

greg@Homerw7 ~
$ uname -a
MINGW32_NT-6.1 HOMERW7 1.0.18(0.48/3/2) 2012-11-21 22:34 i686 Msys

greg@Homerw7 ~
$ mount
E:\mingw\mingworg\msys\1.0 on /usr type user (binmode,noumount)
E:\mingw\mingworg\msys\1.0 on / type user (binmode,noumount)
D:\mingw\mingworg on /Dmingw type user (binmode)
E:\mingw\mingworg on /mingw type user (binmode)
D:\mingw\msys32 on /msysd type user (binmode)
C:\msys64 on /msysc type user (binmode)
D:\Temp on /tmp type user (binmode,noumount)
c: on /c type user (binmode,noumount)
d: on /d type user (binmode,noumount)
e: on /e type user (binmode,noumount)
f: on /f type user (binmode,noumount)
h: on /h type user (binmode,noumount)

greg@Homerw7 ~
$ cat /etc/fstab
E:\mingw\mingworg /mingw
D:\mingw\mingworg /Dmingw
D:/mingw/msys32 /msysd
C:/msys64 /msysc

greg@Homerw7 ~
$ cd c:/mingw

greg@Homerw7 /c/mingw
$ ls
MinGW how-to.htm  dll32-psxdw2  dll64-psxseh  pango

greg@Homerw7 /c/mingw
$ cd /mingw

greg@Homerw7 /mingw
$ ls -laF
total 360
drwxr-xr-x 14 greg Administrators   4096 Jan  7 14:33 ./
drwxr-xr-x 11 greg Administrators   4096 Jan  6 16:26 ../
-rw-r--r--  1 greg Administrators 146419 Jan  7 14:22 .MTREE
-rw-r--r--  1 greg Administrators    550 Jan  7 14:22 .PKGINFO
drwxr-xr-x  2 greg Administrators  65536 Jan  7 14:55 bin/
drwxr-xr-x  2 greg Administrators      0 Jan  7 14:33 doc/
drwxr-xr-x 14 greg Administrators  65536 Jan  7 14:55 include/
drwxr-xr-x 18 greg Administrators  81920 Jan  7 14:55 lib/
drwxr-xr-x  4 greg Administrators      0 Jan  6 16:23 libexec/
drwxr-xr-x  6 greg Administrators      0 Jan  6 16:24 mingw32/
drwxr-xr-x  6 greg Administrators      0 Jan  7 14:20 mingworg/
drwxr-xr-x  3 greg Administrators      0 Jan  6 16:23 msys/
drwxr-xr-x  6 greg Administrators      0 Jan  7 14:20 opt/
drwxr-xr-x  2 greg Administrators      0 Jan  7 14:31 pkg/
drwxr-xr-x 31 greg Administrators      0 Jan  7 14:55 share/
drwxr-xr-x  4 greg Administrators      0 Jan  6 16:14 var/

greg@Homerw7 /mingw
$ ls /usr
bin  etc  home  include  lib  m.ico  msys.bat  msys.ico  postinstall  sbin  share  var

You see, /usr directory (NOT /user) is buried two or three levels below the directory called /mingw,
in the msys section. If prefix= is not specified, the default is to assign /usr/local
to be the recipient of the "make install" command.
 
Basically, I'm trying to build all my dependencies for future use with other libraries.
And you should already have such a directory.  You can of course create more directories
so the libraries you create aren't mixed up with the  "factory issued" support directories.
 
I just made a test directory to see if the --prefix=c:/test_directory would end up containing headers and lib files .  Even if I do use the
--prefix command will this directory be searched the next time I build something and it needs dependencies?   
    No, there is nothing yet that tells gcc that anything special is kept in C:/test_directory.
So including -I/c/test_directory/include in CFLAGS and CXXFLAGS and also
-L/c/test_directory/lib in LDFLAGS will probably be called for.
 
The c:/test_directory ended up containing nothing after the following commands.  I tested this on building libjpeg
$ cd c:/libjpeg
$ ./configure --prefix=c:/test_directory
$ make
$ make install
 
 
I get the error below

$ make install
/bin/install -c cjpeg c:/test_directory/bin/cjpeg
/bin/install: cannot create regular file `c:/test_directory/bin/cjpeg.exe': No such file or directory
make: *** [install] Error 1

Your error looks like an error in creating a file. You probably have the permissions. If this is MSYS then you should be able to use /c/test_directory etc, and this may be an issue
in the configure or makefile, which are oriented to that lexicon for files.  
 
 
>From what you have said below I gather that all headers and lib files will be installed in the default directory somewhere in c:/mingw ?
Not automatically.  
I'm not sure what you mean by -I and -L are only used when you run gcc?   If so, how are they used?
To locate the extra directories.  GCC has it own set of directories to locate, for instance, stdlib.h,
and to link needed support libraries you don't have to worry about.   Configure will find more directories, when they are in standard locations, so you generally won't need -I/mingw/include
as a CFLAG, for instance.  If you want to shift them
 
You keep referring to user/local?     What is this?.  I have always operated on Windows and have never seen this directory.

/usr is a mount in support of MSYS. 
If you keep your nose clean and stick to mingw, you won't  have to look under msys/1.0 (where /usr
begins).  If you neglect to re-direct the install prefix then you should find files in /usr/local.


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Keith Marshall
In reply to this post by Domonic Tom
On 04/03/16 02:39, Domonic Tom wrote:

> I just made a test directory to see if the --prefix=c:/test_directory
> would end up containing headers and lib files .  Even if I do use
> the --prefix command will this directory be searched the next time I
> build something and it needs dependencies?   The c:/test_directory
> ended up containing nothing after the following commands.  I tested
> this on building libjpeg
>
> $ cd c:/libjpeg
> $ ./configure --prefix=c:/test_directory
> $ make
> $ make install
>
> I get the error below
>
> $ make install
> /bin/install -c cjpeg c:/test_directory/bin/cjpeg
> /bin/install: cannot create regular file `c:/test_directory/bin/cjpeg.exe': No such file or directory
> make: *** [install] Error 1
This just, more or less, confirms that the makefile for libjpeg is
broken; it *should* have an install dependency to create any needed
installation directories, in the event that they don't already exist,
before it tries to populate them.  Since you said later:

> I have found that if I add a /bin directory to my --prefix path then
> all this does is build a bunch of binary files into the /bin folder?

It does seem that if the $prefix/bin already exists, (or %prefix%/bin,
if you prefer the, IMO less legible, Windows syntax), then it will be
populated by 'make install'; this is further confirmation, if any were
needed, that the makefile is lacking the 'installdirs' dependency.

> Why doesn't it place headers and lib files in there?

Because they don't belong there: headers belong in $prefix/include; libs
belong in $prefix/lib.

> From what you have said below ...

Please desist from using this top-posting style; respond in-line, as I
am doing.

> I gather that all headers and lib files will be installed in the
> default directory somewhere in c:/mingw ?

They will, if you've specified --prefix=c:/mingw; executables and DLLs
should then be installed in c:/mingw/bin, headers in c:/mingw/include,
and libs in c:/mingw/lib

> I'm not sure what you mean by -I and -L are only used when you run gcc?

When you run MinGW's GCC, (i.e. gcc, g++, gfortran, or whatever), these
commands will have certain default search paths for headers and libs;
for gcc, and g++, these are effectively c:/mingw/include for headers,
and c:/mingw/lib, for libraries, (in addition to a few other special
locations deep within the GCC tree itself).  If you've chosen to install
into some other $prefix, then you need to tell GCC about it:

> If so, how are they used?

The -I option may be specified, (as often as needed), to tell GCC where
to look for headers, (in addition to looking in its default locations);
similarly, -L may used to specify additional places to look for libs:

  $ gcc -I $prefix/include foomain.c -L $prefix/lib -lfoo

> You keep referring to user/local?  What is this?

No, I referred to /usr/local, which is a standard directory on pretty
much every Unix, Linux, or POSIX system under the sun.  MSYS maps it to
$MSYSROOT/local, but it doesn't necessarily exist, and you are advised
not to use it, unless you've mapped (i.e. mounted) it as something for
use within the MinGW tree.  Unfortunately, many makefiles, intended for
use primarily on unixy systems, specify it as a default installation
directory, which is why you should (almost) always override --prefix,
when you run configure for a MinGW build.

> I have always operated on Windows ...

You have my sympathy, for the appalling user experience that imbues :-)

--
Regards,
Keith.

Public key available from keys.gnupg.net
Key fingerprint: C19E C018 1547 DE50 E1D4 8F53 C0AD 36C6 347E 5A3F


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe

signature.asc (853 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Eli Zaretskii
> From: Keith Marshall <[hidden email]>
> Date: Fri, 4 Mar 2016 06:45:31 +0000
>
> On 04/03/16 02:39, Domonic Tom wrote:
> > I just made a test directory to see if the --prefix=c:/test_directory
> > would end up containing headers and lib files .  Even if I do use
> > the --prefix command will this directory be searched the next time I
> > build something and it needs dependencies?   The c:/test_directory
> > ended up containing nothing after the following commands.  I tested
> > this on building libjpeg
> >
> > $ cd c:/libjpeg
> > $ ./configure --prefix=c:/test_directory
> > $ make
> > $ make install
> >
> > I get the error below
> >
> > $ make install
> > /bin/install -c cjpeg c:/test_directory/bin/cjpeg
> > /bin/install: cannot create regular file `c:/test_directory/bin/cjpeg.exe': No such file or directory
> > make: *** [install] Error 1
>
> This just, more or less, confirms that the makefile for libjpeg is
> broken; it *should* have an install dependency to create any needed
> installation directories, in the event that they don't already exist,
> before it tries to populate them.

I don't believe there's any such breakage in libjpeg's Makefiles.  I
have built that library several times, and my notes don't indicate I
had to do anything special for "make install".  Moreover, just looking
at the Makefile clearly says it is doing TRT:

  install-binPROGRAMS: $(bin_PROGRAMS)
          @$(NORMAL_INSTALL)
          @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
          if test -n "$$list"; then \
            echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
            $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
          fi; \

where MKDIR_P is this:

  MKDIR_P = /bin/mkdir -p

So I think there's some other factor at work here.  I'd begin by
showing the complete transcript of the botched "make install", since
currently it's not clear which command caused the "No such file or
directory" error, so we are just randomly poking in the dark.

Btw, I'm not sure the OP doesn't think the installed files should end
up in the MSYS tree, which is a mistake, of course.  If true, this
might explain some of the problems he is having.

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Eli Zaretskii
In reply to this post by Domonic Tom
> From: Domonic Tom <[hidden email]>
> Date: Fri, 4 Mar 2016 06:25:30 +0000
>
> If this is true, then why can't for example, my libpng not find my zlib installation?  If these headers and lib files are placed in the default
> searchable location as you have mentioned above, why am I having so much trouble getting my libraries from seeing eachother.  That is... despite teh fact that I have used the 'make install' command.

What exactly do you mean by "cannot find"?  Please show an example of
this failure, since it's very hard to reason about a problem that is
not well understood.  In addition to showing the relevant error
messages of some command that led you to believe zlib cannot be found,
please show the directories where zlib files were installed.

In general, the header files, libraries, and DLLs should be in their
intended places under the directory you specify in --prefix, in order
for the configure scripts to find them.  And executable programs
should be on PATH.  If you keep your hierarchy in this order, nothing
bad will ever happen to you.

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Keith Marshall
In reply to this post by Domonic Tom
On 04/03/16 06:25, Domonic Tom wrote:
> why can't for example, my libpng not find my zlib installation?

Your understanding is still lacking: libpng *doesn't* "find" your zlib
installation; neither does it need to.  It is whichever one, or more, of
GCC's compilers is/are used to build libpng that needs to find zlib, at
build time, and that means that you either need to have installed zlib
into a $prefix which is known to GCC by default, or you need to tell it
specifically, through -I and/or -L options.

> If these headers and lib files are placed in the default searchable
> location ... why am I having so much trouble getting my libraries
> from seeing each other.

They don't need to "see" each other; see above.  It is GCC which needs
to see them all, either because you have installed them into a path
which GCC already knows about, by default, or because you've told it
where to look.

Where did you install your zlib?  If that was in /usr/local, (as you've
alluded to earlier, then that isn't a known default path for MinGW's GCC.

> That is... despite teh fact that I have used the 'make install'
> command.

Which you've already suggested may have failed; if so, or if you didn't
override the package default with something MinGW's GCC knows is a
default, then even though you have used 'make install', the files will
not be anywhere GCC knows to look for them.

--
Regards,
Keith.

Public key available from keys.gnupg.net
Key fingerprint: C19E C018 1547 DE50 E1D4 8F53 C0AD 36C6 347E 5A3F


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe

signature.asc (853 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Domonic Tom
You are right about zlib.. I never doubted you.  Zlib-1.2.8 requires me to set these libraries myself so I won't use that as an example.
Instead I'll use libjpeg as and example.  

I think my understanding of this process could be flawed as I think you have mentioned.  Before today I knew very little.

I thought that if I do the following in the following order, my headers and lib files will be automatically placed in directories MSYS can find when I am using
these libraries as dependencies.   But from the below it seems to me, because I'm on Windows, that I always have to spacify where to put these files with --prefix
even though there are other ways of doing this with  INCLUDE_PATH and LIBRARY_PATH using the export command.  I'm not sure what the difference is.

When I do specify a directory using --prefix, and then 'make install' MSYS puts all the binaries in that directory (c:/test/bin) and leaves c:/test/include and c:/test/lib empty.

Some relevant directories.

c:/mingw       //my compiler is in here.
c:/msys         // msys istalled here.
c:/libjpeg-6b   // lipjpeg.

see my commands below.

user@USER-PC /c/jpeg-6b
$ ./configure                                   ------------------------------------------------------------------------------./configure here.
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking how to run the C preprocessor... gcc -E
checking for function prototypes... yes
checking for stddef.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for size_t... yes
checking for type unsigned char... yes
checking for type unsigned short... yes
checking for type void... yes
checking for working const... yes
checking for inline... __inline__
checking for broken incomplete types... ok
checking for short external names... ok
checking to see if char is signed... yes
checking to see if right shift is signed... yes
checking to see if fopen accepts b spec... yes
checking for a BSD compatible install... /bin/install -c
checking for ranlib... ranlib
checking libjpeg version number... 62
creating ./config.status
creating Makefile
creating jconfig.h
jconfig.h is unchanged

user@USER-PC /c/jpeg-6b
$ make                                                                --------------------------------------------------built here
gcc -O2  -I.   -c -o jcapimin.o jcapimin.c
gcc -O2  -I.   -c -o jcapistd.o jcapistd.c
gcc -O2  -I.   -c -o jctrans.o jctrans.c
gcc -O2  -I.   -c -o jcparam.o jcparam.c
gcc -O2  -I.   -c -o jdatadst.o jdatadst.c
gcc -O2  -I.   -c -o jcinit.o jcinit.c
gcc -O2  -I.   -c -o jcmaster.o jcmaster.c
gcc -O2  -I.   -c -o jcmarker.o jcmarker.c
gcc -O2  -I.   -c -o jcmainct.o jcmainct.c
gcc -O2  -I.   -c -o jcprepct.o jcprepct.c
gcc -O2  -I.   -c -o jccoefct.o jccoefct.c
gcc -O2  -I.   -c -o jccolor.o jccolor.c
gcc -O2  -I.   -c -o jcsample.o jcsample.c
gcc -O2  -I.   -c -o jchuff.o jchuff.c
gcc -O2  -I.   -c -o jcphuff.o jcphuff.c
gcc -O2  -I.   -c -o jcdctmgr.o jcdctmgr.c
gcc -O2  -I.   -c -o jfdctfst.o jfdctfst.c
gcc -O2  -I.   -c -o jfdctflt.o jfdctflt.c
gcc -O2  -I.   -c -o jfdctint.o jfdctint.c
gcc -O2  -I.   -c -o jdapimin.o jdapimin.c
gcc -O2  -I.   -c -o jdapistd.o jdapistd.c
gcc -O2  -I.   -c -o jdtrans.o jdtrans.c
gcc -O2  -I.   -c -o jdatasrc.o jdatasrc.c
gcc -O2  -I.   -c -o jdmaster.o jdmaster.c
gcc -O2  -I.   -c -o jdinput.o jdinput.c
gcc -O2  -I.   -c -o jdmarker.o jdmarker.c
gcc -O2  -I.   -c -o jdhuff.o jdhuff.c
gcc -O2  -I.   -c -o jdphuff.o jdphuff.c
gcc -O2  -I.   -c -o jdmainct.o jdmainct.c
gcc -O2  -I.   -c -o jdcoefct.o jdcoefct.c
gcc -O2  -I.   -c -o jdpostct.o jdpostct.c
gcc -O2  -I.   -c -o jddctmgr.o jddctmgr.c
gcc -O2  -I.   -c -o jidctfst.o jidctfst.c
gcc -O2  -I.   -c -o jidctflt.o jidctflt.c
gcc -O2  -I.   -c -o jidctint.o jidctint.c
gcc -O2  -I.   -c -o jidctred.o jidctred.c
gcc -O2  -I.   -c -o jdsample.o jdsample.c
gcc -O2  -I.   -c -o jdcolor.o jdcolor.c
gcc -O2  -I.   -c -o jquant1.o jquant1.c
gcc -O2  -I.   -c -o jquant2.o jquant2.c
gcc -O2  -I.   -c -o jdmerge.o jdmerge.c
gcc -O2  -I.   -c -o jcomapi.o jcomapi.c
gcc -O2  -I.   -c -o jutils.o jutils.c
gcc -O2  -I.   -c -o jerror.o jerror.c
gcc -O2  -I.   -c -o jmemmgr.o jmemmgr.c
gcc -O2  -I.   -c -o jmemnobs.o jmemnobs.c
rm -f libjpeg.a
ar rc libjpeg.a  jcapimin.o jcapistd.o jctrans.o jcparam.o jdatadst.o jcinit.o jcmaster.o jcmarker.o jcmainct.o jcprepct.o jccoefct.o jccolor
.o jcsample.o jchuff.o jcphuff.o jcdctmgr.o jfdctfst.o jfdctflt.o jfdctint.o jdapimin.o jdapistd.o jdtrans.o jdatasrc.o jdmaster.o jdinput.o
jdmarker.o jdhuff.o jdphuff.o jdmainct.o jdcoefct.o jdpostct.o jddctmgr.o jidctfst.o jidctflt.o jidctint.o jidctred.o jdsample.o jdcolor.o jq
uant1.o jquant2.o jdmerge.o jcomapi.o jutils.o jerror.o jmemmgr.o jmemnobs.o
ranlib libjpeg.a
gcc -O2  -I.   -c -o cjpeg.o cjpeg.c
gcc -O2  -I.   -c -o rdppm.o rdppm.c
gcc -O2  -I.   -c -o rdgif.o rdgif.c
gcc -O2  -I.   -c -o rdtarga.o rdtarga.c
gcc -O2  -I.   -c -o rdrle.o rdrle.c
gcc -O2  -I.   -c -o rdbmp.o rdbmp.c
gcc -O2  -I.   -c -o rdswitch.o rdswitch.c
gcc -O2  -I.   -c -o cdjpeg.o cdjpeg.c
gcc  -o cjpeg cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o cdjpeg.o libjpeg.a
gcc -O2  -I.   -c -o djpeg.o djpeg.c
gcc -O2  -I.   -c -o wrppm.o wrppm.c
gcc -O2  -I.   -c -o wrgif.o wrgif.c
gcc -O2  -I.   -c -o wrtarga.o wrtarga.c
gcc -O2  -I.   -c -o wrrle.o wrrle.c
gcc -O2  -I.   -c -o wrbmp.o wrbmp.c
gcc -O2  -I.   -c -o rdcolmap.o rdcolmap.c
gcc  -o djpeg djpeg.o wrppm.o wrgif.o wrtarga.o wrrle.o wrbmp.o rdcolmap.o cdjpeg.o libjpeg.a
gcc -O2  -I.   -c -o jpegtran.o jpegtran.c
gcc -O2  -I.   -c -o transupp.o transupp.c
gcc  -o jpegtran jpegtran.o rdswitch.o cdjpeg.o transupp.o libjpeg.a
gcc -O2  -I.   -c -o rdjpgcom.o rdjpgcom.c
gcc  -o rdjpgcom rdjpgcom.o
gcc -O2  -I.   -c -o wrjpgcom.o wrjpgcom.c
gcc  -o wrjpgcom wrjpgcom.o

user@USER-PC /c/jpeg-6b
$ make install                                                   ----------------------------------------------------------------------------------------make install here.... SEE ERROR
/bin/install -c cjpeg /usr/local/bin/cjpeg
/bin/install: cannot create regular file `/usr/local/bin/cjpeg.exe': No such file or directory
make: *** [install] Error 1


________________________________________
From: Keith Marshall <[hidden email]>
Sent: Friday, 4 March 2016 4:54 PM
To: [hidden email]
Subject: Re: [Mingw-users] MSYS on Windows - Setting Directories?

On 04/03/16 06:25, Domonic Tom wrote:
> why can't for example, my libpng not find my zlib installation?

Your understanding is still lacking: libpng *doesn't* "find" your zlib
installation; neither does it need to.  It is whichever one, or more, of
GCC's compilers is/are used to build libpng that needs to find zlib, at
build time, and that means that you either need to have installed zlib
into a $prefix which is known to GCC by default, or you need to tell it
specifically, through -I and/or -L options.

> If these headers and lib files are placed in the default searchable
> location ... why am I having so much trouble getting my libraries
> from seeing each other.

They don't need to "see" each other; see above.  It is GCC which needs
to see them all, either because you have installed them into a path
which GCC already knows about, by default, or because you've told it
where to look.

Where did you install your zlib?  If that was in /usr/local, (as you've
alluded to earlier, then that isn't a known default path for MinGW's GCC.

> That is... despite teh fact that I have used the 'make install'
> command.

Which you've already suggested may have failed; if so, or if you didn't
override the package default with something MinGW's GCC knows is a
default, then even though you have used 'make install', the files will
not be anywhere GCC knows to look for them.

--
Regards,
Keith.

Public key available from keys.gnupg.net
Key fingerprint: C19E C018 1547 DE50 E1D4 8F53 C0AD 36C6 347E 5A3F

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Eli Zaretskii
> From: Domonic Tom <[hidden email]>
> Date: Fri, 4 Mar 2016 09:57:43 +0000
>
> I thought that if I do the following in the following order, my headers and lib files will be automatically placed in directories MSYS can find when I am using
> these libraries as dependencies.   But from the below it seems to me, because I'm on Windows, that I always have to spacify where to put these files with --prefix
> even though there are other ways of doing this with  INCLUDE_PATH and LIBRARY_PATH using the export command.  I'm not sure what the difference is.

You need to always use --prefix when running the 'configure' script,
yes.  And the directory you specify in --prefix=DIRECTORY should be
the same one under which you have the compiler.  Then it will all work
seamlessly.

> When I do specify a directory using --prefix, and then 'make install' MSYS puts all the binaries in that directory (c:/test/bin) and leaves c:/test/include and c:/test/lib empty.

If a package has no libraries and no include files it wants to
install, this is normal.  So the above doesn't tell much without an
example of a specific package that did that.

> Some relevant directories.
>
> c:/mingw       //my compiler is in here.
> c:/msys         // msys istalled here.
> c:/libjpeg-6b   // lipjpeg.
>
> see my commands below.
>
> user@USER-PC /c/jpeg-6b
> $ ./configure

This is wrong!  You should say this instead:

 $ ./configure --prefix=c:/mingw

> $ make install                                                   ----------------------------------------------------------------------------------------make install here.... SEE ERROR
> /bin/install -c cjpeg /usr/local/bin/cjpeg
> /bin/install: cannot create regular file `/usr/local/bin/cjpeg.exe': No such file or directory
> make: *** [install] Error 1

You don't have /usr/local.  But this problem will resolve itself if
you use the --prefix option to 'configure' as mentioned above.

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Domonic Tom
If a package has no libraries and no include files it wants to
install, this is normal.  So the above doesn't tell much without an
example of a specific package that did that.

The example I have provided below is an example of this. problem.  So I did as you indicated and made the prefix  as so:  --prefix=c:/mingw
and once  the make install was complete this was the error.  I just did the make install to isolate the problem I'm having.

I don't know what other information you need but I've also provided a directory dump of all the contents of C:/libjpeg-6b down below.


user@USER-PC ~
$ cd C:\jpeg-6b

user@USER-PC /c/jpeg-6b
$ make install
/bin/install -c cjpeg c:/mingw/bin/cjpeg
/bin/install -c djpeg c:/mingw/bin/djpeg
/bin/install -c jpegtran c:/mingw/bin/jpegtran
/bin/install -c rdjpgcom c:/mingw/bin/rdjpgcom
/bin/install -c wrjpgcom c:/mingw/bin/wrjpgcom
/bin/install -c -m 644 ./cjpeg.1 c:/mingw/man/man1/cjpeg.1
/bin/install: cannot create regular file `c:/mingw/man/man1/cjpeg.1': No such file or directory
make: *** [install] Error 1

Keep in mind that this error go's way if I place a 'bin' directory in my c:/mingw directory.  This process only installs binary files in a bin directory but not headers or library files.  

As you can see below, there is definitely a library file and a header file. 

user@USER-PC /c/jpeg-6b
$



Directory of C:\jpeg-6b

04/03/2016  09:25 PM    <DIR>          .
04/03/2016  09:25 PM    <DIR>          ..
20/01/1996  11:52 AM             1,565 ansi2knr.1
22/01/1996  08:53 PM            23,008 ansi2knr.c
18/12/1997  01:50 AM             5,381 cderror.h
08/09/1997  07:51 AM             4,863 cdjpeg.c
15/09/1997  08:32 AM             6,307 cdjpeg.h
04/03/2016  09:25 PM             1,214 cdjpeg.o
28/03/1998  10:35 AM             9,501 change.log
21/03/1998  12:29 PM            10,418 cjpeg.1
21/03/1998  12:21 PM            20,458 cjpeg.c
04/03/2016  09:25 PM           224,687 cjpeg.exe
04/03/2016  09:25 PM            11,412 cjpeg.o
03/08/1994  06:26 AM            12,568 ckconfig.c
07/01/1996  09:37 AM             5,482 coderules.doc
26/03/1998  02:25 AM            25,163 config.guess
04/03/2016  09:25 PM             6,088 config.log
04/03/2016  09:25 PM             8,499 config.status
26/03/1998  02:25 AM            20,756 config.sub
22/03/1998  06:08 AM            62,320 configure
23/08/1997  01:28 PM             7,669 djpeg.1
12/10/1997  09:29 AM            19,955 djpeg.c
04/03/2016  09:25 PM           238,960 djpeg.exe
04/03/2016  09:25 PM            12,372 djpeg.o
07/01/1996  10:23 AM            17,524 example.c
16/03/1998  05:57 AM             8,578 filelist.doc
02/03/1998  12:26 PM             5,834 install-sh
23/03/1998  12:42 PM            52,991 install.doc
25/01/1998  08:21 AM             9,401 jcapimin.c
04/03/2016  09:25 PM             2,806 jcapimin.o
07/01/1996  10:24 AM             6,042 jcapistd.c
04/03/2016  09:25 PM             1,583 jcapistd.o
16/11/1997  01:25 PM            16,849 jccoefct.c
04/03/2016  09:25 PM             3,729 jccoefct.o
07/01/1996  10:24 AM            15,307 jccolor.c
04/03/2016  09:25 PM             3,425 jccolor.o
14/01/1996  06:15 AM            12,856 jcdctmgr.c
04/03/2016  09:25 PM             3,883 jcdctmgr.o
21/10/1997  11:20 AM            29,131 jchuff.c
21/10/1997  10:12 AM             1,622 jchuff.h
04/03/2016  09:25 PM             7,513 jchuff.o
08/09/1997  07:50 AM             2,421 jcinit.c
04/03/2016  09:25 PM             1,449 jcinit.o
07/01/1996  10:24 AM             9,461 jcmainct.c
04/03/2016  09:25 PM             1,424 jcmainct.o
22/02/1998  08:54 AM            17,909 jcmarker.c
04/03/2016  09:25 PM             4,817 jcmarker.o
11/08/1997  10:40 AM            20,479 jcmaster.c
04/03/2016  09:25 PM             4,971 jcmaster.o
09/10/1997  11:01 AM             3,216 jcomapi.c
04/03/2016  09:25 PM             1,208 jcomapi.o
12/03/1995  09:36 AM             1,464 jconfig.bcc
07/12/1994  03:43 AM             1,223 jconfig.cfg
10/06/1994  07:40 AM             1,181 jconfig.dj
24/05/1994  06:51 AM             5,527 jconfig.doc
03/03/2016  10:48 PM             1,258 jconfig.h
22/02/1998  11:04 AM             1,242 jconfig.mac
24/05/1994  07:12 AM             1,240 jconfig.manx
24/05/1994  07:12 AM             1,720 jconfig.mc6
24/05/1994  07:12 AM             1,213 jconfig.sas
25/07/1995  10:37 AM             1,350 jconfig.st
19/10/1997  06:41 AM             1,378 jconfig.vc
02/09/1994  01:15 AM             1,016 jconfig.vms
21/06/1995  04:27 AM             1,177 jconfig.wat
22/02/1998  06:59 AM            21,885 jcparam.c
04/03/2016  09:25 PM             6,898 jcparam.o
21/10/1997  11:21 AM            25,948 jcphuff.c
04/03/2016  09:25 PM             8,803 jcphuff.o
07/01/1996  10:25 AM            12,427 jcprepct.c
04/03/2016  09:25 PM             3,132 jcprepct.o
07/01/1996  10:25 AM            19,378 jcsample.c
04/03/2016  09:25 PM             4,441 jcsample.o
22/02/1998  07:03 AM            14,365 jctrans.c
04/03/2016  09:25 PM             3,563 jctrans.o
25/01/1998  08:22 AM            13,032 jdapimin.c
04/03/2016  09:25 PM             3,488 jdapimin.o
07/01/1996  10:26 AM             9,623 jdapistd.c
04/03/2016  09:25 PM             2,387 jdapistd.o
07/01/1996  10:26 AM             5,270 jdatadst.c
04/03/2016  09:25 PM             1,475 jdatadst.o
07/01/1996  10:26 AM             7,816 jdatasrc.c
04/03/2016  09:25 PM             1,814 jdatasrc.o
28/10/1997  02:12 PM            25,891 jdcoefct.c
04/03/2016  09:25 PM             6,170 jdcoefct.o
04/08/1997  10:39 AM            13,358 jdcolor.c
04/03/2016  09:25 PM             3,463 jdcolor.o
07/01/1996  10:39 AM             7,217 jdct.h
14/01/1996  06:38 AM             8,562 jddctmgr.c
04/03/2016  09:25 PM             3,603 jddctmgr.o
21/10/1997  11:51 AM            21,517 jdhuff.c
21/10/1997  11:37 AM             8,339 jdhuff.h
04/03/2016  09:25 PM             5,095 jdhuff.o
08/11/1997  03:26 AM            13,881 jdinput.c
04/03/2016  09:25 PM             2,926 jdinput.o
07/01/1996  10:27 AM            20,878 jdmainct.c
04/03/2016  09:25 PM             3,022 jdmainct.o
22/02/1998  07:24 AM            42,478 jdmarker.c
04/03/2016  09:25 PM            10,776 jdmarker.o
08/11/1997  03:25 AM            20,267 jdmaster.c
04/03/2016  09:25 PM             4,610 jdmaster.o
07/01/1996  10:27 AM            14,316 jdmerge.c
04/03/2016  09:25 PM             3,147 jdmerge.o
18/07/1994  06:10 AM               775 jdosabcc.obj
18/07/1994  06:10 AM               657 jdosamsc.obj
28/03/1998  11:21 AM               724 jdosaobj.doc
21/10/1997  11:42 AM            21,227 jdphuff.c
04/03/2016  09:25 PM             6,078 jdphuff.o
07/01/1996  10:27 AM            10,013 jdpostct.c
04/03/2016  09:25 PM             2,145 jdpostct.o
07/01/1996  10:27 AM            16,859 jdsample.c
04/03/2016  09:25 PM             3,711 jdsample.o
04/08/1997  08:47 AM             5,233 jdtrans.c
04/03/2016  09:25 PM             1,345 jdtrans.o
22/02/1998  12:03 PM             8,053 jerror.c
19/10/1997  05:59 AM            14,227 jerror.h
04/03/2016  09:25 PM             9,233 jerror.o
07/01/1996  10:28 AM             5,654 jfdctflt.c
04/03/2016  09:25 PM             1,727 jfdctflt.o
07/01/1996  10:28 AM             7,802 jfdctfst.c
04/03/2016  09:25 PM             1,235 jfdctfst.o
07/01/1996  10:28 AM            11,349 jfdctint.c
04/03/2016  09:25 PM             1,423 jfdctint.o
15/01/1998  02:12 PM             8,693 jidctflt.c
04/03/2016  09:25 PM             2,331 jidctflt.o
15/01/1998  02:10 PM            13,538 jidctfst.c
04/03/2016  09:25 PM             1,975 jidctfst.o
15/01/1998  02:00 PM            15,204 jidctint.c
04/03/2016  09:25 PM             2,231 jidctint.o
15/01/1998  02:15 PM            13,926 jidctred.c
04/03/2016  09:25 PM             2,465 jidctred.o
02/04/1994  07:29 AM             3,341 jinclude.h
07/01/1996  10:29 AM             4,777 jmemansi.c
04/08/1997  11:22 AM            19,615 jmemdos.c
14/03/1992  01:12 PM             8,693 jmemdosa.asm
04/08/1997  11:26 AM             9,796 jmemmac.c
15/04/1997  11:56 AM            42,106 jmemmgr.c
04/03/2016  09:25 PM             6,906 jmemmgr.o
15/09/1997  08:35 AM             8,590 jmemname.c
07/01/1996  10:31 AM             2,881 jmemnobs.c
04/03/2016  09:25 PM             1,492 jmemnobs.o
04/08/1997  10:58 AM             8,428 jmemsys.h
10/08/1997  10:58 AM            12,821 jmorecfg.h
20/04/1997  10:44 AM            16,104 jpegint.h
22/02/1998  06:48 AM            47,301 jpeglib.h
04/08/1997  07:01 AM             7,700 jpegtran.1
24/07/1997  01:37 PM            16,731 jpegtran.c
04/03/2016  09:25 PM           232,281 jpegtran.exe
04/03/2016  09:25 PM             9,641 jpegtran.o
07/01/1996  10:31 AM            32,150 jquant1.c
04/03/2016  09:25 PM             5,793 jquant1.o
07/01/1996  10:31 AM            49,739 jquant2.c
04/03/2016  09:25 PM             7,546 jquant2.o
14/01/1996  06:51 AM             5,419 jutils.c
04/03/2016  09:25 PM             1,734 jutils.o
28/03/1998  10:34 AM               374 jversion.h
04/03/2016  09:25 PM           180,758 libjpeg.a
22/02/1998  08:08 AM           162,344 libjpeg.doc
26/03/1998  02:25 AM            44,609 ltconfig
26/03/1998  02:25 AM            73,432 ltmain.sh
22/03/1998  06:09 AM             1,808 makcjpeg.st
22/03/1998  06:09 AM             1,808 makdjpeg.st
22/03/1998  06:09 AM            22,159 makeapps.ds
04/03/2016  09:25 PM            15,592 Makefile
22/03/1998  06:08 AM            12,011 makefile.ansi
22/03/1998  06:08 AM            14,685 makefile.bcc
22/03/1998  06:08 AM            16,069 makefile.cfg
22/03/1998  06:08 AM            12,151 makefile.dj
22/03/1998  06:09 AM            11,937 makefile.manx
22/03/1998  06:08 AM            14,167 makefile.mc6
22/03/1998  06:09 AM            13,471 makefile.mms
22/03/1998  06:09 AM            12,838 makefile.sas
22/03/1998  06:08 AM            12,399 makefile.unix
22/03/1998  06:08 AM            12,387 makefile.vc
22/03/1998  06:09 AM             4,565 makefile.vms
22/03/1998  06:08 AM            12,654 makefile.wat
22/03/1998  06:08 AM            22,496 makelib.ds
22/03/1998  06:09 AM            10,587 makeproj.mac
22/03/1998  06:09 AM             4,399 makljpeg.st
22/03/1998  06:09 AM             1,385 maktjpeg.st
22/03/1998  06:09 AM               214 makvms.opt
07/01/1996  10:31 AM            14,231 rdbmp.c
04/03/2016  09:25 PM             4,204 rdbmp.o
20/11/1996  03:38 AM             7,102 rdcolmap.c
04/03/2016  09:25 PM             2,301 rdcolmap.o
23/08/1997  12:19 PM             1,310 rdgif.c
04/03/2016  09:25 PM             1,025 rdgif.o
12/10/1997  09:46 AM             1,615 rdjpgcom.1
12/10/1997  09:41 AM            14,375 rdjpgcom.c
04/03/2016  09:25 PM           138,109 rdjpgcom.exe
04/03/2016  09:25 PM             7,267 rdjpgcom.o
18/12/1997  01:39 AM            14,482 rdppm.c
04/03/2016  09:25 PM             3,915 rdppm.o
07/01/1996  10:32 AM            12,060 rdrle.c
04/03/2016  09:25 PM               418 rdrle.o
14/01/1996  06:42 AM            10,007 rdswitch.c
04/03/2016  09:25 PM             4,779 rdswitch.o
08/01/1996  04:42 AM            15,467 rdtarga.c
04/03/2016  09:25 PM             4,313 rdtarga.o
28/03/1998  10:34 AM            20,330 README
28/03/1998  11:20 AM               646 readme.dos
04/03/2016  12:00 AM             6,804 specs
22/11/1995  04:00 AM            52,844 structure.doc
23/08/1997  10:44 AM            35,050 testimg.bmp
30/07/1995  04:57 AM             5,756 testimg.jpg
30/07/1995  04:57 AM           101,484 testimg.ppm
30/07/1995  04:57 AM             5,645 testimgp.jpg
30/07/1995  04:57 AM             5,770 testorig.jpg
30/07/1995  04:57 AM             5,655 testprog.jpg
10/08/1997  11:15 AM            33,558 transupp.c
24/07/1997  01:39 PM             5,896 transupp.h
04/03/2016  09:25 PM             8,489 transupp.o
21/03/1998  12:34 PM            27,733 usage.doc
16/11/1995  03:30 AM             9,970 wizard.doc
07/01/1996  10:32 AM            14,355 wrbmp.c
04/03/2016  09:25 PM             3,879 wrbmp.o
25/09/1997  01:56 AM            13,287 wrgif.c
04/03/2016  09:25 PM             3,574 wrgif.o
16/06/1995  11:14 AM             2,730 wrjpgcom.1
23/10/1997  03:47 PM            17,146 wrjpgcom.c
04/03/2016  09:25 PM           137,828 wrjpgcom.exe
04/03/2016  09:25 PM             7,538 wrjpgcom.o
07/01/1996  10:32 AM             8,599 wrppm.c
04/03/2016  09:25 PM             2,400 wrppm.o
07/01/1996  10:32 AM             9,547 wrrle.c
04/03/2016  09:25 PM               418 wrrle.o
07/01/1996  10:32 AM             7,777 wrtarga.c
04/03/2016  09:25 PM             2,565 wrtarga.o
             225 File(s)      3,688,295 bytes
               2 Dir(s)  190,449,700,864 bytes free

C:\jpeg-6b>
































________________________________________
From: Eli Zaretskii <[hidden email]>
Sent: Friday, 4 March 2016 7:37 PM
To: MinGW Users List
Subject: Re: [Mingw-users] MSYS on Windows - Setting Directories?

> From: Domonic Tom <[hidden email]>
> Date: Fri, 4 Mar 2016 09:57:43 +0000
>
> I thought that if I do the following in the following order, my headers and lib files will be automatically placed in directories MSYS can find when I am using
> these libraries as dependencies.   But from the below it seems to me, because I'm on Windows, that I always have to spacify where to put these files with --prefix
> even though there are other ways of doing this with  INCLUDE_PATH and LIBRARY_PATH using the export command.  I'm not sure what the difference is.

You need to always use --prefix when running the 'configure' script,
yes.  And the directory you specify in --prefix=DIRECTORY should be
the same one under which you have the compiler.  Then it will all work
seamlessly.

> When I do specify a directory using --prefix, and then 'make install' MSYS puts all the binaries in that directory (c:/test/bin) and leaves c:/test/include and c:/test/lib empty.

If a package has no libraries and no include files it wants to
install, this is normal.  So the above doesn't tell much without an
example of a specific package that did that.

> Some relevant directories.
>
> c:/mingw       //my compiler is in here.
> c:/msys         // msys istalled here.
> c:/libjpeg-6b   // lipjpeg.
>
> see my commands below.
>
> user@USER-PC /c/jpeg-6b
> $ ./configure

This is wrong!  You should say this instead:

$ ./configure --prefix=c:/mingw

> $ make install                                                   ----------------------------------------------------------------------------------------make install here.... SEE ERROR
> /bin/install -c cjpeg /usr/local/bin/cjpeg
> /bin/install: cannot create regular file `/usr/local/bin/cjpeg.exe': No such file or directory
> make: *** [install] Error 1

You don't have /usr/local.  But this problem will resolve itself if
you use the --prefix option to 'configure' as mentioned above.

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Eli Zaretskii
> From: Domonic Tom <[hidden email]>
> Date: Fri, 4 Mar 2016 10:40:00 +0000
>
> The example I have provided below is an example of this. problem. So I did as you indicated and made the
> prefix as so: --prefix=c:/mingw
> and once the make install was complete this was the error. I just did the make install to isolate the problem I'm
> having.

It didn't complete, it errored out half-way, and that's why some files
were not installed.

> I don't know what other information you need but I've also provided a directory dump of all the contents of
> C:/libjpeg-6b down below.
>
> user@USER-PC ~
> $ cd C:\jpeg-6b
>
> user@USER-PC /c/jpeg-6b
> $ make install
> /bin/install -c cjpeg c:/mingw/bin/cjpeg
> /bin/install -c djpeg c:/mingw/bin/djpeg
> /bin/install -c jpegtran c:/mingw/bin/jpegtran
> /bin/install -c rdjpgcom c:/mingw/bin/rdjpgcom
> /bin/install -c wrjpgcom c:/mingw/bin/wrjpgcom
> /bin/install -c -m 644 ./cjpeg.1 c:/mingw/man/man1/cjpeg.1
> /bin/install: cannot create regular file `c:/mingw/man/man1/cjpeg.1': No such file or directory
> make: *** [install] Error 1

Jpeg-6b is an awfully old version of libjpeg.  I see that the Makefile
in that version indeed didn't bother creating these directories before
installing files in them.  So you will need to create these
directories manually (some of them might already exist):

  c:\mingw\bin
  c:\mingw\man\man1
  c:\mingw\lib
  c:\mingw\include

However, my advice would be to build and install a newer version of
libjpeg.  As I said, version 9a doesn't have these problems.  The
latest version seems to be 9b, released this January.

> Keep in mind that this error go's way if I place a 'bin' directory in my c:/mingw directory. This process only
> installs binary files in a bin directory but not headers or library files.

I don't understand what it means to place 'bin' in your c:/mingw.  The
commands you show, that did succeed, already copied the programs into
c:/mingw/bin, so I think I don't follow you.

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Domonic Tom
Thanks Eli.  You were right about libjpeg.  I upgraded to 9b and all was solved.

I still have a question though.   Let's say that I build zlib at c:/zlib:
./congigure --prefix=c:/my_directory
make
make install

Then I switch off my computer and come back later.  I restart MSYS and go to build libpng (which depends on zlib).
How does MSYS know that my zlib headers and library files are in    c:/my_directory ?

I'm going to guess.

By doing this:
./configure --prefix=c:/my_directory              when building libpng, am I also telling MSYS where to find the zlib headers and library files?
make
make install       this part also stores headers and library files into c:/my_directory 




________________________________________
From: Eli Zaretskii <[hidden email]>
Sent: Friday, 4 March 2016 8:44 PM
To: Domonic Tom
Cc: [hidden email]
Subject: Re: [Mingw-users] MSYS on Windows - Setting Directories?

> From: Domonic Tom <[hidden email]>
> Date: Fri, 4 Mar 2016 10:40:00 +0000
>
> The example I have provided below is an example of this. problem. So I did as you indicated and made the
> prefix as so: --prefix=c:/mingw
> and once the make install was complete this was the error. I just did the make install to isolate the problem I'm
> having.

It didn't complete, it errored out half-way, and that's why some files
were not installed.

> I don't know what other information you need but I've also provided a directory dump of all the contents of
> C:/libjpeg-6b down below.
>
> user@USER-PC ~
> $ cd C:\jpeg-6b
>
> user@USER-PC /c/jpeg-6b
> $ make install
> /bin/install -c cjpeg c:/mingw/bin/cjpeg
> /bin/install -c djpeg c:/mingw/bin/djpeg
> /bin/install -c jpegtran c:/mingw/bin/jpegtran
> /bin/install -c rdjpgcom c:/mingw/bin/rdjpgcom
> /bin/install -c wrjpgcom c:/mingw/bin/wrjpgcom
> /bin/install -c -m 644 ./cjpeg.1 c:/mingw/man/man1/cjpeg.1
> /bin/install: cannot create regular file `c:/mingw/man/man1/cjpeg.1': No such file or directory
> make: *** [install] Error 1

Jpeg-6b is an awfully old version of libjpeg.  I see that the Makefile
in that version indeed didn't bother creating these directories before
installing files in them.  So you will need to create these
directories manually (some of them might already exist):

  c:\mingw\bin
  c:\mingw\man\man1
  c:\mingw\lib
  c:\mingw\include

However, my advice would be to build and install a newer version of
libjpeg.  As I said, version 9a doesn't have these problems.  The
latest version seems to be 9b, released this January.

> Keep in mind that this error go's way if I place a 'bin' directory in my c:/mingw directory. This process only
> installs binary files in a bin directory but not headers or library files.

I don't understand what it means to place 'bin' in your c:/mingw.  The
commands you show, that did succeed, already copied the programs into
c:/mingw/bin, so I think I don't follow you.

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Earnie Boyd
PLEASE STOP THE TOP POSTING.
PLEASE USE TEXT FORMAT.

On 3/4/2016 8:19 AM, Domonic Tom wrote:
> Thanks Eli.  You were right about libjpeg.  I upgraded to 9b and all was
> solved.
>
> I still have a question though.   Let's say that I build zlib at c:/zlib:
> ./congigure --prefix=c:/my_directory

That had better be --prefix=c:/mingw and c:/mingw is assuming you
installed in the default location.  In other words change c:/mingw to
whatever path you installed it in.

> make
> make install
>
> Then I switch off my computer and come back later.  I restart MSYS and
> go to build libpng (which depends on zlib).
> *How does MSYS know that my zlib headers and library files are in  
> c:/my_directory ?*

It's not MSYS it's GCC.  MSYS is a tool to execute configure which in
turn executes GCC and other tools.

> ***
> *I'm going to guess.
>
> By doing this:
> ./configure --prefix=c:/my_directory              *when building libpng,
> am I also telling MSYS where to find the zlib headers and library files?*

Again it's not MSYS but GCC that you're telling where to find files.
--prefix is a configure script option that sets up GCC build options.

> make
> make install       this part also stores headers and library files into
> c:/my_directory
>

Yes because configure created your Makefile with that directory.

--
Earnie

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Eli Zaretskii
In reply to this post by Domonic Tom
> From: Domonic Tom <[hidden email]>
> CC: "[hidden email]" <[hidden email]>
> Date: Fri, 4 Mar 2016 13:19:27 +0000
>
> I still have a question though. Let's say that I build zlib at c:/zlib:
> ./congigure --prefix=c:/my_directory
> make
> make install
>
> Then I switch off my computer and come back later. I restart MSYS and go to build libpng (which depends on
> zlib).
> How does MSYS know that my zlib headers and library files are in c:/my_directory ?

If you use --prefix=c:/mingw, then the headers and the libraries will
all be installed in the place where GCC expects them to be, because
GCC's own installation is also rooted at c:/mingw.

> By doing this:
> ./configure --prefix=c:/my_directory when building libpng, am I also telling MSYS where to find the zlib
> headers and library files?
> make
> make install this part also stores headers and library files into c:/my_directory

They should all be in the same place: headers in c:/mingw/include,
libraries in c:/mingw/lib, executables and DLLs in c:/mingw/bin,
documentation and auxiliary files in c:/mingw/share, etc.

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Earnie Boyd
In reply to this post by Eli Zaretskii
On 3/4/2016 2:15 AM, Eli Zaretskii wrote:
>
> Btw, I'm not sure the OP doesn't think the installed files should end
> up in the MSYS tree, which is a mistake, of course.  If true, this
> might explain some of the problems he is having.
>

I think this is the true crux of the issue.  The OP is still stating
that MSYS is the one requiring to know where the lib and include
directories are when it is GCC that needs to know.

* MSYS is a tool to execute confingure
* configure is a tool to create a Makefile
* The Makefile is used by the make executable to execute commands for an
end result.
* For MinGW there are two root paths, one for MinGW and one for MSYS.
* You need to give --prefix=c:/mingw because GCC is a MinGW executable.
* MinGW executables know nothing of the /usr and other MSYS paths.

HTH
--
Earnie

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Greg Jung
In reply to this post by Domonic Tom


On Thu, Mar 3, 2016 at 10:25 PM, Domonic Tom <[hidden email]> wrote:

Thanks again.


So can you answer one more question for me.


You see, /usr directory (NOT /user) is buried two or three levels below the directory called /mingw,
in the msys section. If prefix= is not specified, the default is to assign /usr/local
to be the recipient of the "make install" command.

If this is true, then why can't for example, my libpng not find my zlib installation?  If these headers and lib files are placed in the default 
searchable location as you have mentioned above, why am I having so much trouble getting my libraries from seeing eachother.  That is... despite teh fact that I have used the 'make install' command. 

There is no default directory except what gcc uses for itself.  More directories are 
added by configure.  
/usr/ < anything> should not be one of them, because you are building for mingw (windows).
However something could end up there because it is a typical install destination.
zlib1.dll should be in /mingw/bin 
I don't know if configure will automatically look in /mingw - 
it will if you include -L/mingw/lib as one of the LDFLAGS.

My directories are not what every /mingw installation will look like.  I showed you mine as an invite
for you to give more info on yours; I might have said so explicitly, but I'm not commiting to 
a step-by-step.  If you lay it out though, somebody (maybe me) might step in for more help. Context-free statements, though, are not helpful.  You have to provide more details on 
your situation because it is failing at an elementary level nobody needs to worry about usually.



From: Greg Jung <[hidden email]>
Sent: Friday, 4 March 2016 3:34 PM
To: MinGW Users List
Subject: Re: [Mingw-users] MSYS on Windows - Setting Directories?
 


On Thu, Mar 3, 2016 at 6:39 PM, Domonic Tom <[hidden email]> wrote:

Keith.. Thanks for your reply.

I'm aware that I don't understand this.

When you read Keith's reply a month from now, you'll understand it contains correct info - you're
still too far in the dark, and it looks like your computer isn't cooperating.  Here's some output from my "most vanilla" mingw installation:

greg@Homerw7 ~
$ uname -a
MINGW32_NT-6.1 HOMERW7 1.0.18(0.48/3/2) 2012-11-21 22:34 i686 Msys

greg@Homerw7 ~
$ mount
E:\mingw\mingworg\msys\1.0 on /usr type user (binmode,noumount)
E:\mingw\mingworg\msys\1.0 on / type user (binmode,noumount)
D:\mingw\mingworg on /Dmingw type user (binmode)
E:\mingw\mingworg on /mingw type user (binmode)
D:\mingw\msys32 on /msysd type user (binmode)
C:\msys64 on /msysc type user (binmode)
D:\Temp on /tmp type user (binmode,noumount)
c: on /c type user (binmode,noumount)
d: on /d type user (binmode,noumount)
e: on /e type user (binmode,noumount)
f: on /f type user (binmode,noumount)
h: on /h type user (binmode,noumount)

greg@Homerw7 ~
$ cat /etc/fstab
E:\mingw\mingworg /mingw
D:\mingw\mingworg /Dmingw
D:/mingw/msys32 /msysd
C:/msys64 /msysc

greg@Homerw7 ~
$ cd c:/mingw

greg@Homerw7 /c/mingw
$ ls
MinGW how-to.htm  dll32-psxdw2  dll64-psxseh  pango

greg@Homerw7 /c/mingw
$ cd /mingw

greg@Homerw7 /mingw
$ ls -laF
total 360
drwxr-xr-x 14 greg Administrators   4096 Jan  7 14:33 ./
drwxr-xr-x 11 greg Administrators   4096 Jan  6 16:26 ../
-rw-r--r--  1 greg Administrators 146419 Jan  7 14:22 .MTREE
-rw-r--r--  1 greg Administrators    550 Jan  7 14:22 .PKGINFO
drwxr-xr-x  2 greg Administrators  65536 Jan  7 14:55 bin/
drwxr-xr-x  2 greg Administrators      0 Jan  7 14:33 doc/
drwxr-xr-x 14 greg Administrators  65536 Jan  7 14:55 include/
drwxr-xr-x 18 greg Administrators  81920 Jan  7 14:55 lib/
drwxr-xr-x  4 greg Administrators      0 Jan  6 16:23 libexec/
drwxr-xr-x  6 greg Administrators      0 Jan  6 16:24 mingw32/
drwxr-xr-x  6 greg Administrators      0 Jan  7 14:20 mingworg/
drwxr-xr-x  3 greg Administrators      0 Jan  6 16:23 msys/
drwxr-xr-x  6 greg Administrators      0 Jan  7 14:20 opt/
drwxr-xr-x  2 greg Administrators      0 Jan  7 14:31 pkg/
drwxr-xr-x 31 greg Administrators      0 Jan  7 14:55 share/
drwxr-xr-x  4 greg Administrators      0 Jan  6 16:14 var/

greg@Homerw7 /mingw
$ ls /usr
bin  etc  home  include  lib  m.ico  msys.bat  msys.ico  postinstall  sbin  share  var

You see, /usr directory (NOT /user) is buried two or three levels below the directory called /mingw,
in the msys section. If prefix= is not specified, the default is to assign /usr/local
to be the recipient of the "make install" command.
 
Basically, I'm trying to build all my dependencies for future use with other libraries.
And you should already have such a directory.  You can of course create more directories
so the libraries you create aren't mixed up with the  "factory issued" support directories.
 
I just made a test directory to see if the --prefix=c:/test_directory would end up containing headers and lib files .  Even if I do use the
--prefix command will this directory be searched the next time I build something and it needs dependencies?   
    No, there is nothing yet that tells gcc that anything special is kept in C:/test_directory.
So including -I/c/test_directory/include in CFLAGS and CXXFLAGS and also
-L/c/test_directory/lib in LDFLAGS will probably be called for.
 
The c:/test_directory ended up containing nothing after the following commands.  I tested this on building libjpeg
$ cd c:/libjpeg
$ ./configure --prefix=c:/test_directory
$ make
$ make install
 
 
I get the error below

$ make install
/bin/install -c cjpeg c:/test_directory/bin/cjpeg
/bin/install: cannot create regular file `c:/test_directory/bin/cjpeg.exe': No such file or directory
make: *** [install] Error 1

Your error looks like an error in creating a file. You probably have the permissions. If this is MSYS then you should be able to use /c/test_directory etc, and this may be an issue
in the configure or makefile, which are oriented to that lexicon for files.  
 
 
>From what you have said below I gather that all headers and lib files will be installed in the default directory somewhere in c:/mingw ?
Not automatically.  
I'm not sure what you mean by -I and -L are only used when you run gcc?   If so, how are they used?
To locate the extra directories.  GCC has it own set of directories to locate, for instance, stdlib.h,
and to link needed support libraries you don't have to worry about.   Configure will find more directories, when they are in standard locations, so you generally won't need -I/mingw/include
as a CFLAG, for instance.  If you want to shift them
 
You keep referring to user/local?     What is this?.  I have always operated on Windows and have never seen this directory.

/usr is a mount in support of MSYS. 
If you keep your nose clean and stick to mingw, you won't  have to look under msys/1.0 (where /usr
begins).  If you neglect to re-direct the install prefix then you should find files in /usr/local.
 

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe


------------------------------------------------------------------------------

_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
Reply | Threaded
Open this post in threaded view
|

Re: MSYS on Windows - Setting Directories?

Greg Jung
On Fri, Mar 4, 2016 at 9:23 AM, Greg Jung <[hidden email]> wrote:

>
>
>
> On Thu, Mar 3, 2016 at 10:25 PM, Domonic Tom <[hidden email]> wrote:
>>
>> Thanks again.
>>
>>
>> So can you answer one more question for me.
>>
>>

To all:

Sorry for the clutter, I hadn't refreshed my browser and seen the
messages since 10 hours ago.

------------------------------------------------------------------------------
_______________________________________________
MinGW-users mailing list
[hidden email]

This list observes the Etiquette found at
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:[hidden email]?subject=unsubscribe
12