windows 64 bit of help needed

104 views
Skip to first unread message

bat

unread,
Sep 19, 2015, 10:53:10 PM9/19/15
to fltk.general
Trying to install via mingw64, test/demo works but I get the following when I try the next step...

$ make install
=== installing FL ===
Installing include files in /usr/local/include...
=== installing jpeg ===
Installing ../lib/libfltk_jpeg.a in /usr/local/lib...
ranlib: '/usr/local/lib/libfltk_jpeg.a': No such file
makefile:98: recipe for target 'install' failed
make[1]: *** [install] Error 1
makefile:30: recipe for target 'install' failed
make: *** [install] Error 1

...I have checked and  '/usr/local/lib/libfltk_jpeg.a' does exist where it should, I think.

Greg Ercolano

unread,
Sep 19, 2015, 11:59:17 PM9/19/15
to fltkg...@googlegroups.com
Make sure /usr/local exists first, and retry.


bat

unread,
Sep 20, 2015, 9:30:00 PM9/20/15
to fltk.general, erco_...@seriss.com
Thanks Greg.

I am doing this with something called Msys2. The /usr/local does exist as:

c:\msys64\usr\local\ 

and trying again hasn't helped, but on looking at the forum more I see that maybe 'make install' is not needed. 

Accordingly, I found that 'fltk-config --compile' works fine for my prog if I copy the .a files in:

c:\msys64\home\jon\fltk-1.3.3\lib\

to:

c:\msys64\usr\local\

... but the 'make install' for fltk still stops with the 'No such file' error even though its there.

Anyhow, I am sorted so thanks for that again. Probably I missed out something in the installation. 

MacArthur, Ian (Selex ES, UK)

unread,
Sep 21, 2015, 11:59:54 AM9/21/15
to fltkg...@googlegroups.com
> Trying to install via mingw64, test/demo works but
> I get the following when I try the next step...

I'd caution against *ever* doing a "make install" under mingw[64] in any case, as it is not necessary to get fltk working, and can produce some unusual behaviours.

In particular, my (very limited) experience with the various 64-bit mingw ports suggests they have a number of ongoing "difficulties", and that whilst they build and run fltk very well in the tree, trying to "install" the lib is probably not a good idea!





Selex ES Ltd
Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex SS14 3EL
A company registered in England & Wales. Company no. 02426132
********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************

bat

unread,
Sep 21, 2015, 6:27:54 PM9/21/15
to fltk.general, ian.ma...@selex-es.com
Thanks for that. Actually I found out rather late that if you use MSYS2 you are supposed to use its own package manager (called pacman in the command line) to install mingw64 and fltk. I guess that if you do that, it knows where everything is. Anyhow, I'm not terribly keen to start all over again, so I would be interested to know if anyone has tried going the pacman route...  

Greg Ercolano

unread,
Sep 21, 2015, 7:53:42 PM9/21/15
to fltkg...@googlegroups.com
On 9/21/15, 11:59 AM, MacArthur, Ian (Selex ES, UK) wrote:
> I'd caution against *ever* doing a "make install" under mingw[64]

Perhaps we should have a check for mingw env
in the install target to warn it isn't necessary.

Also, I wonder if there isn't a better default for
a mingw environment than /usr/local? (e.g. "c:/fltk-1.1.x?")

If in the OP's case /usr/local does exist,
it seems like we should fix whatever prevents that from working.

bat

unread,
Sep 21, 2015, 10:28:49 PM9/21/15
to fltk.general, erco_...@seriss.com
Sorry folks, it does work exactly as it should if I use MSYS instead of MSYS2. I thought the latter was a 64 bit version of MSYS or something but its more of a son-of-cygwin thing (who said 'too complicated for its own good'?). Even the 'make install' works with the old MSYS! You just need to have mingw-w64 binaries folder in your path.

MacArthur, Ian (Selex ES, UK)

unread,
Sep 22, 2015, 5:08:53 AM9/22/15
to fltkg...@googlegroups.com
> On 9/21/15, 11:59 AM, MacArthur, Ian (Selex ES, UK) wrote:
> > I'd caution against *ever* doing a "make install" under mingw[64]
>
> Perhaps we should have a check for mingw env
> in the install target to warn it isn't necessary.

To be clear; there is no problem doing a "make install" under mingw in the general case, and I would not modify the build target.

It usually works fine, but there are some caveats:-

- The "regular" 32-bit mingw/Msys setup works absolutely fine.

- There are a few 64-bit mingw ports kicking about; they are still somewhat immature and have a variety of "interesting features", so I would *not* advise using them to install the libs.

- I never install fltk anyway, on any platform; doing so is seldom (if ever) necessary (and since many linux distros already have a "system" fltk based on some older variant, actually installing something recent can lead to unusual side effects...)

- If installed in the "usual way" from an Msys shell, the install paths only make sense from within Msys, so using a fltk "installed" in that way, from (say) a DOS shell may not work.




> Also, I wonder if there isn't a better default for
> a mingw environment than /usr/local? (e.g. "c:/fltk-1.1.x?")
>
> If in the OP's case /usr/local does exist,
> it seems like we should fix whatever prevents that from working.


Greg, I think you don't use mingw much, but it has some features to ease working with "posix" code, which may be counter-intuitive if you are expecting a DOS environment.

Note in particular that the Msys environment has an fstab that mounts the "DOS style" paths onto "posix style" paths to ease portability, so the "/usr/local" that bat reports is (almost certainly) not a real path in the DOS file system, but rather a mount over some DOS path.

For example; On this box I get:-

$ mount

C:\Users\IAN~1.MAC\AppData\Local\Temp on /tmp type user (binmode,noumount)
D:\MinGW\msys\1.0 on /usr type user (binmode,noumount)
D:\MinGW\msys\1.0 on / type user (binmode,noumount)
D:\MinGW on /mingw type user (binmode)
b: on /b 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)
g: on /g type user (binmode,noumount)


So in this case, the path "/usr/local" equates to the DOS path "D:\MinGW\msys\1.0\local", but if executed from within the Msys environ, tools can safely use "/usr/local" and get the Right Thing.

I assume that is roughly what bat has on his set-up too.

MacArthur, Ian (Selex ES, UK)

unread,
Sep 22, 2015, 5:12:22 AM9/22/15
to fltkg...@googlegroups.com
> Sorry folks, it does work exactly as it should
> if I use MSYS instead of MSYS2. I thought the
> latter was a 64 bit version of MSYS or something
> but its more of a son-of-cygwin thing (who said
> 'too complicated for its own good'?). Even the
> 'make install' works with the old MSYS! You just
> need to have mingw-w64 binaries folder in your path.


Ah... right... I should have picked that up; you did say Msys2 in your post but I missed it.

As things stand right now, I’d be wary of Msys2; it is not ready...

Use the stock Msys shell for now; it too has its quirks but is mainly good. I use it in preference to a DOS shell for, well, everything...
Reply all
Reply to author
Forward
0 new messages