christopherpow / nesicide

Integrated Development Environment for the 8-bit Nintendo Entertainment System
316 stars 38 forks source link

Building on Ubuntu 18.04: Make = *** multiple target patterns. Stop. #35

Closed 3vi1 closed 5 years ago

3vi1 commented 5 years ago

Just wandered into this interesting project an hour ago and thought I'd have a go at building it on Linux (Ubuntu 18.04).

The problem I've encountered is in building deps/rtmidi. Make threw the error "Makefile:64: *** multiple target patterns. Stop." as soon as it got to building this.

The "multiple target patterns" made me think that maybe there were some extra colons in there. When I check out the file, there are a lottttt of colons in there... because it appears to be a Windows makefile full of C: paths? Not what I was expecting at all.

Are there supposed to be platform-specific macros in there for Linux that are missing?

christopherpow commented 5 years ago

I made rtmidi into a Qt project, so the Makefile is generated by qmake. rm -f Makefile* ; qmake && make should get you what you need.

On Wed, Oct 17, 2018 at 9:06 PM Jesse Litton notifications@github.com wrote:

Just wandered into this interesting project an hour ago and thought I'd have a go at building it on Linux (Ubuntu 18.04).

The problem I've encountered is in building deps/rtmidi. Make threw the error "Makefile:64: *** multiple target patterns. Stop." as soon as it got to building this.

The "multiple target patterns" made me think that maybe there were some extra colons in there. When I check out the file, there are a lottttt of colons in there... because it appears to be a Windows makefile full of C: paths? Not what I was expecting at all.

Are there supposed to be platform-specific macros in there for Linux that are missing?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/christopherpow/nesicide/issues/35, or mute the thread https://github.com/notifications/unsubscribe-auth/ABkI8BIwmV5VC1giTeP3rv8cRc_OyzN3ks5ul-I3gaJpZM4XshzF .

3vi1 commented 5 years ago

That did the trick; I haven't touched Qt in about a year and completely forgot that was generated by qmake! I had to remove the existing Windows qscintilla2 makefile too, but now it compiles. Thanks Christopher!

I look forward to experimenting with this as soon as I have the time. Alas, I'm off to work for now. :)

christopherpow commented 5 years ago

Did you see the build instructions on the readme on the project? https://github.com/christopherpow/nesicide#building I'm trying to un-manualize most of the stuff. Travis is still broken but I'm working on it.

3vi1 commented 5 years ago

Did you see the build instructions on the readme on the project?

Yes, and I followed them to the letter. The problem is, the tarballs (containing dep and the other dirs) that your build.sh pulls down include the Windows Makefiles. I'm guessing they don't get automagically updated during the build because they are newer than the .pro file. Clean.sh doesn't remove them either. So, I'd expect any Linux user attempting to build for the first time this should run into the same issue.

Now I'm debating whether I should try to update the code to work with newer Qt version (I prefer to work in 18.10, which is using 5.11.1) or just build the project in an old VM running the older Qt version. Have you already done any investigation as to what's broken with the newer Qt versions? I don't want to duplicate work you may have already done. I noticed it will successfully build against newer versions, but of course throws SEGV if you actually try to run the IDE. I created debug builds of everything in QtCreator at lunch, but haven't really had time to get into it.

christopherpow commented 5 years ago

I will create an 18.10 VM and give it a shot. I haven't built in Linux in quite some time. Thanks for pointing out the issue with the tarballs. I'll also get that corrected.

3vi1 commented 5 years ago

No problem, and consider me happy to help any way I can to get it working with newer Qt versions!

BTW: To build a debug version, I had to add the missing 'd' on the end of line 35 in qscintilla.pro. So you might want to toss that one on the pile when you're updating tarballs. If you don't get to it, I'll submit a pull request when I can really get my hands dirty this weekend.

christopherpow commented 5 years ago

Thanks for the offer. I can use some help, for sure. I am almost done creating a Linux VM.

christopherpow commented 5 years ago

I should also mention I'm building using 5.10.1 in OSX now, so 5.11 shouldn't be too much of a leap.