VOGONS


Reply 41 of 51, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Swapping makefiles wouldn't be too good. Look at thee src/makefile.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 42 of 51, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie

OK, understood. I didn't want to swap makefiles simply - just to see what I was missing. But I'll abandon this effort until I learn more about it. I've already learned a lot with the help of everyone here, and the next time I ask a question, I'll know how to make better use of the answers. Thanks again for pointing in the right direction.

Reply 43 of 51, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie

SUCCESS! By looking very closely at Dominus's instructions again, and by taking a few extra steps, I succeeded in compiling a statically linked copy of DOSBox SVN under OS X.

The extra steps involved brute force methods rather than more elegant methods, but the authors' comments in various configuration files indicated that these methods might work, and they did. Because I did not need SDL_net or SDL_sound and because I assume that DOSBox under OS X does not need X11 support, I simply renamed these three files in /opt/local/lib:

libSDL_net.dylib
libSDL_sound.dylib
libX11.6.dylib

Then, after ./autogen.sh and ./configure, I modified the make files in the top-level directory and the src directory, according to Dominus's instructions, and then launched make.

The resulting executable works perfectly well for my application when copied to a machine with a clean OS X system (no MacPorts).

Many thanks again to Dominus and everyone else who tolerated a beginner's questions. I know how annoying that kind of question can be.

Reply 44 of 51, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

If these files were still present in /opt/local/lib, then you didn't deactivate them as I wrote some posts ago...

Congrats to makeing it work

Reply 45 of 51, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:

If these files were still present in /opt/local/lib, then you didn't deactivate them as I wrote some posts ago...

I think I forgot to report that MacPorts wouldn't allow me to deactivate those files without uninstalling DOSBox first, and I thought (mistakenly, I now see) that I shouldn't uninstall that. Now I see that I should have taken your advice more seriously - and simply uninstalled DOSBox from MacPorts and then deactivated those files. If I had done that, I could have saved you a lot of time answering my questions.

I have a FAQ page on my WordPerfect site that is filled with warnings about NOT following the instructions. I should have taken my own warnings more seriously, and saved you and myself a lot of trouble.

Anyway, I'll know better next time if I ask any more questions... Thank you again.[/url]

Reply 46 of 51, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Yes, proper feedback would have been nice... (because there is asimple switch to force deactivation...)

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 47 of 51, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:

Yes, proper feedback would have been nice... (because there is asimple switch to force deactivation...)

Now I see it:

port -f deactivate whatever

I mentioned the deactivation problem in an earlier post on this thread, but it seems to have got lost when I went on to report other problems. Here's what I wrote earlier:

Before I could deactivate libpng, libsdl_net, and libsdl_sound, I had to use "port uninstall dosbox". That was all right with me, because I didn't want to use 0.73 anyway. I was able to compile svn after uninstalling dosbox. But when I deactivated libpng, libsdl_net, and libsdl_sound, I was unable to compile svn. Make failed with Error 2, after a few hundred lines of error messages.

I'm now going to reactivate those three libraries, and try to compile with sdl statically linked, just to see if that will work. More reports coming next.

It's my fault for not studying the port docs more closely. I could have saved us all a lot of time. I still would have had trouble with libX11, which doesn't seem to want to deactivate, but that would have been a single problem, easy to solve. Thanks again for your patience.

Reply 48 of 51, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

yes, the problem is that SDL is getting compiled with X11. If you want to make it cleaner:
sudo port -f uninstall libsdl
sudo port install libsdl +universal +no_x11

so best get rid of the other stuff
sudo port uninstall dosbox
sudo port uninstall libsdl_sound
sudo port uninstall libsdl_net

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 49 of 51, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie

That looks perfect. I'm away from my test machine for a few hours, but will try this when I get back. Thank you again - I now understand this whole process far better than I did.

By the way, am I right in thinking that I will still need to make the replacement in the LIBS= line in the makefile to use the static-linked string? (I've also made the same replacement in the SDLLIBS= line, though I don't know if that's necessary.)

Reply 50 of 51, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

yes, better change both, you don't want the dynamic lib creeping in somehow...

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 51 of 51, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
Dominus wrote:
yes, the problem is that SDL is getting compiled with X11. If you want to make it cleaner: sudo port -f uninstall libsdl sudo po […]
Show full quote

yes, the problem is that SDL is getting compiled with X11. If you want to make it cleaner:
sudo port -f uninstall libsdl
sudo port install libsdl +universal +no_x11

so best get rid of the other stuff
sudo port uninstall dosbox
sudo port uninstall libsdl_sound
sudo port uninstall libsdl_net

This advice worked exactly as you said. Thank you again. I had to add one further detail:

After performing the above steps, I ran ./autogen.sh and ./configure. I then edited the makefiles, as specified in your earlier post. When I ran make, it built an executable that was dynamically linked to libX11.6.dylib. I was able to fix this simply by making one more change in the makefiles: the LIBS= line included -lX11; I removed that string, and the resulting executable works perfectly on a clean system.

Thank you again. I hope all this may be of use to some other people also.