Opened 12 years ago

Closed 12 years ago

Last modified 17 months ago

#3783 closed defect (fixed)

OSX: Startup crash on OSX Leopard

Reported by: SF/trondah Owned by: fingolfin
Priority: normal Component: Port: Mac OS X
Keywords: Cc:
Game:

Description

ScummVM exits with the following error:

$ ScummVM.app/Contents/MacOS/scummvm Using configuration file: /Users/trondare/Library/Preferences/ScummVM Preferences 2008-06-23 17:06:01.350 scummvm[44040:10b] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz. Couldn't load fontfile_normal font 'helvr12-l1.bdf'!

Starts up fine if I use --gui-theme=classic.

This is ScummVM 0.12.0 r32761 configured and built like this:

LDFLAGS="-L/opt/local/lib" CXX="g++-mp-4.3" CXXFLAGS="-O2 -march=core2 -msse4.1 -pipe" CPPFLAGS="-I/opt/local/include" \ ./configure --prefix=/opt/local --disable-debug --enable-cruise && make bundle

Ticket imported from: #2000931. Ticket imported from: bugs/3783.

Attachments (1)

config.log (3.6 KB ) - added by SF/trondah 12 years ago.
config.log

Download all attachments as: .zip

Change History (13)

comment:1 by fingolfin, 12 years ago

Very odd. The file helvr12-l1.bdf is part of gui/themes/modern.zip, which is in turn copied into the .app bundle, and thus should be found automatically there. Can you please verify that ScummVM.app/Contents/Resources/modern.zip exists?

BTW, offtopic: If you want to optimize for your system, try using "-fast", which should give better results than your above options.

comment:2 by fingolfin, 12 years ago

Owner: set to fingolfin
Summary: Startup crash on OSX LeopardOSX: Startup crash on OSX Leopard

comment:3 by SF/trondah, 12 years ago

$ unzip -l /Applications/ScummVM.app/Contents/Resources/modern.zip | grep helvr12-l1.bdf 23108 01-31-06 03:55 helvr12-l1.bdf

It's there and it contains the fontfile. Very odd indeed. It did work a month ago, I just recently did an svn up and it broke. I found another guy seeing the same thing after a quick google search.

-fast doesn't seem to be an option in GCC 4.3, those optimizations are just the minimum that I have enabled in my var anyways. My cpu is pretty fast too :)

comment:4 by fingolfin, 12 years ago

Maybe you have set an invalid themepath? Try removing the themepath from your config file. Does that help?

Regarding -fast: AThis option is an Apple specific option, so it won't be available in FSF GCC builds -- are you using a self-compiled GCC by chance, or is this from some NDA Apple pre-release?

comment:5 by jvprat, 12 years ago

Are you building with zlib? I think I've seen this behavior when zlib was disabled.

by SF/trondah, 12 years ago

Attachment: config.log added

config.log

comment:6 by SF/trondah, 12 years ago

Hm, didn't notice until now, neither zlib or any of my other libraries are getting built in. This is true for both my machine at home and at work, which I normally build ScummVM on.

When I run configure, 'mktemp' seems to do something weird:

$ LDFLAGS="-L/opt/local/lib" CPPFLAGS="-I/opt/local/include" ./configure --prefix=/opt/local --disable-debug --enable-cruise usage: mktemp [-d] [-q] [-t prefix] [-u] template ... mktemp [-d] [-q] [-u] -t prefix Running ScummVM configure... Looking for C++ compiler... g++ Checking for compiler version... 4.0.1, ok Checking endianness... little Type with 1 byte... char Type with 2 bytes... short Type with 4 bytes... int Running on x86... yes Checking hosttype... darwin9.3.0 Alignment required... yes Checking whether building plugins was requested... no Checking for Ogg Vorbis... no Checking for Tremor... no Checking for FLAC >= 1.0.1... no Checking for MAD... no Checking for ALSA >= 0.9... no Checking for zlib... no Checking for libmpeg2 >= 0.3.2... no Checking for libfluidsynth... no Checking for nasm... /usr/bin/nasm

Attaching config.log File Added: config.log

comment:7 by SF/trondah, 12 years ago

After a closer look I found this in configure:

# Determine a tmp file name, using mktemp(1) when available. if type mktemp > /dev/null 2>&1 ; then TMPO=`mktemp` else TMPO=${_srcdir}/scummvm-conf fi

Changing this into i.e. TMPO=`mktemp /tmp/foo` fixes things.

comment:8 by SF/trondah, 12 years ago

I've just confirmed that mktemp without arguments does the right thing on Linux, but BSD mktemp is different.

comment:9 by jvprat, 12 years ago

I've commited the fix for mktemp usage. Thanks for reporting it.

Anyway, the original error message should probably be changed to point to this issue in case it isn't built with zlib support. What about adding at the end "(this may be inside a zip file but zlib support is disabled)"?

comment:10 by jvprat, 12 years ago

I've commited the fix for mktemp usage. Thanks for reporting it.

Anyway, the original error message should probably be changed to point to this issue in case it isn't built with zlib support. What about adding at the end "(this may be inside a zip file but zlib support is disabled)"?

comment:11 by SF/trondah, 12 years ago

Resolution: fixed
Status: newclosed

comment:12 by digitall, 17 months ago

Component: Port: Mac OS X
Note: See TracTickets for help on using tickets.