Opened 3 months ago

Last modified 3 months ago

#61681 assigned defect

mingw-w64: needs gmake dependency on Tiger

Reported by: alex-free (Alex Free) Owned by: mojca (Mojca Miklavec)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: tiger Cc:
Port: mingw-w64

Description

I know this definitely does not happen when using Leopard's latest Xcode, as I've successfully compiled mingw-w64 on PowerPC Leopard earlier this month.

Leopard's latest Xcode has a slightly newer GNUmake, so when I saw i686-w64-mingw32-crt fail when parsing the Makefile I knew exactly what was going on as I've seen this in plenty of other non-MacPorts projects. I did an extremely ugly hack to get install this on Tiger:

cp /usr/bin/make /usr/bin/make.og ln -s /opt/local/bin/gmake /usr/bin/make

While I know for sure this at least affects i686-w64-mingw32-crt and almost certainly i686-w64-mingw32-crt, I don't know for sure if any of the other dependencies required by mingw-w64 (listed below) are also affected as I left the hack in effect for the rest of the compile:

i686-w64-mingw32-binutils i686-w64-mingw32-crt i686-w64-mingw32-gcc-bootstrap i686-w64-mingw32-gcc-nothreads i686-w64-mingw32-headers i686-w64-mingw32-winpthreads x86_64-w64-mingw32-binutils x86_64-w64-mingw32-crt x86_64-w64-mingw32-gcc-bootstrap x86_64-w64-mingw32-headers x86_64-w64-mingw32-winpthreads

To be safe, I think all of the above ports should specify MacPort's latest gmake instead, at least on Tiger.

Change History (7)

comment:1 Changed 3 months ago by alex-free (Alex Free)

*While I know for sure this at least affects i686-w64-mingw32-crt and almost certainly x86_64-w64-mingw32-crt, I don't know for sure if any of the other dependencies required by mingw-w64 (listed below) are also affected as I left the hack in effect for the rest of the compile:

comment:2 Changed 3 months ago by kencu (Ken)

there are many ports that specify gmake for the build.cmd in the portfile. I put it in, or others have, when we see it is needed, like this:

plarform darwin 8 {
    depends_build-append port:gmake
    build.cmd   gmake
}

For a while I also made such a symlink on my Tiger machines, but I did eventually come across some ports that actually would not build on Tiger because gmake was too new ! So I agree with adding it where it is needed.

Welcome! I like Tiger, and have several machines running it around here. Thousands of ports build on Tiger; I recently got octave running on Tiger. Don't miss out on TenFourFox (not a port in MacPorts at present, a browser you can download).

post up tickets when something you need won't build; not everything can build on Tiger, but we'll fix what can be fixed.

comment:3 Changed 3 months ago by kencu (Ken)

Keywords: added; mingw-w64 powerpc removed
Summary: (Tiger) Xcode 2.5 GNUmake not sufficient for compilingmingw ports: (Tiger) Xcode 2.5 GNUmake not sufficient for compiling

comment:4 Changed 3 months ago by jmroot (Joshua Root)

Keywords: removed
Owner: set to mojca
Status: newassigned
Summary: mingw ports: (Tiger) Xcode 2.5 GNUmake not sufficient for compilingmingw-w64: needs gmake dependency on Tiger

comment:5 in reply to:  2 ; Changed 3 months ago by alex-free (Alex Free)

Replying to kencu:

there are many ports that specify gmake for the build.cmd in the portfile. I put it in, or others have, when we see it is needed, like this:

plarform darwin 8 {
    depends_build-append port:gmake
    build.cmd   gmake
}

For a while I also made such a symlink on my Tiger machines, but I did eventually come across some ports that actually would not build on Tiger because gmake was too new ! So I agree with adding it where it is needed.

Welcome! I like Tiger, and have several machines running it around here. Thousands of ports build on Tiger; I recently got octave running on Tiger. Don't miss out on TenFourFox (not a port in MacPorts at present, a browser you can download).

post up tickets when something you need won't build; not everything can build on Tiger, but we'll fix what can be fixed.

Wow, I didn't expect a response from you @kencu ! Just a few minutes ago I used your GLEW from TigerPorts, I'm installing all this stuff to see if I can compile my fork of SM64EX (already working on Leopard) for Tiger https://github.com/sm64pc/sm64ex . Thanks for all your work. I was wondering, how do you have Tiger Ports setup in your MacPorts config files?

Now that I know what the standard way is to specify gmake, I'm more then happy to look at the MacPorts documentation and create some patches for the affected mingw-w64 ports.

comment:6 in reply to:  5 Changed 3 months ago by kencu (Ken)

Replying to alex-free:

I was wondering, how do you have Tiger Ports setup in your MacPorts config files?

MacPorts has an extremely useful feature (one of many) wherein you can have your own "overlay" of portfiles that MacPorts will look in first when it looks for a port, and then will fall back to the main repository if the port is not found in your repo.

So I put the TigerPorts repo ahead of the main ports repo in the search list. It requires, in the end, adding just one single line to the file /opt/local/etc/macports/sources.conf. The full instructions are here.

comment:7 Changed 3 months ago by mojca (Mojca Miklavec)

If you are willing to commit the changes directly (Ken) or open a pull request ...

Do you have any idea if this also effects any other cross-compiler tools? In that case the fix could also go to the crossgcc/crossbinutils portgroup. Then again, this is not a gcc/binutils build itself, so a fix for crt is needed in any case.

Note: See TracTickets for help on using tickets.