#2642 closed defect (fixed)
0.9.0 from SVN does not build on Solaris 10
Reported by: | SF/lblume | Owned by: | sev- |
---|---|---|---|
Priority: | high | Component: | Port: Solaris |
Version: | Keywords: | ||
Cc: | Game: |
Description
On Solaris 10 AMD54, the build fails with the following:
mkdir -p backends/fs/posix/.deps g++ -Wp,-MMD,"backends/fs/posix/.deps/posix-fs.d",-MQ,"backends/fs/posix/posix-fs.o",-MP -Wall -m64 -mtune=opteron -R/opt/games/scummvm/lib -I/opt/games/scummvm/include -g -ansi -W -Wno-unused-parameter -O -Wuninitialized -Wno-long-long -Wno-multichar -Wno-unknown-pragmas -pedantic -Wpointer-arith -Wcast-qual -Wconversion -Wshadow -Wimplicit -Wundef -Wnon-virtual-dtor -Wno-reorder -Wwrite-strings -fno-rtti -fno-exceptions -fcheck-new -DHAVE_CONFIG_H -DUNIX -DDISABLE_CINE -DDISABLE_AGI -I. -I. -I./engines -I/opt/games/scummvm/include -I/opt/games/scummvm/include -I/opt/games/scummvm/include -I/opt/games/scummvm/include -I/opt/games/scummvm/include -I/opt/games/scummvm/include/SDL -D_REENTRANT -c backends/fs/posix/posix-fs.cpp -o backends/fs/posix/posix-fs.o backends/fs/posix/posix-fs.cpp: In member function `virtual bool POSIXFilesystemNode::listDir(AbstractFSList&, FilesystemNode::ListMode) const': backends/fs/posix/posix-fs.cpp:177: error: 'struct dirent' has no member named 'd_type' backends/fs/posix/posix-fs.cpp:177: error: `DT_UNKNOWN' undeclared (first use this function) backends/fs/posix/posix-fs.cpp:177: error: (Each undeclared identifier is reported only once for each function it appears in.) backends/fs/posix/posix-fs.cpp:183: error: 'struct dirent' has no member named 'd_type' backends/fs/posix/posix-fs.cpp:183: error: `DT_DIR' undeclared (first use this function) backends/fs/posix/posix-fs.cpp:183: error: 'struct dirent' has no member named 'd_type' backends/fs/posix/posix-fs.cpp:183: error: `DT_REG' undeclared (first use this function) backends/fs/posix/posix-fs.cpp:183: error: 'struct dirent' has no member named 'd_type' backends/fs/posix/posix-fs.cpp:183: error: `DT_LNK' undeclared (first use this function) backends/fs/posix/posix-fs.cpp:184: error: 'struct dirent' has no member named 'd_type' backends/fs/posix/posix-fs.cpp:191: error: 'struct dirent' has no member named 'd_type' gmake: *** [backends/fs/posix/posix-fs.o] Error 1
The parameters used were the exact same I used successfully for 0.8.2:
CFLAGS='-m64 -mtune=opteron' \ CXXFLAGS="-m64 -mtune=opteron -R/opt/games/scummvm/lib" \ CPPFLAGS="-I/opt/games/scummvm/include" \ LDFLAGS="-m64 -mtune=opteron -lX11 -lXext -lnsl -lsocket -L/usr/openwin/lib/64 -R/usr/openwin/lib/64 -L/usr/X11/lib/64 -R/usr/X11/lib/64 -L/opt/games/scummvm/lib -R/opt/games/scummvm/lib" \ ./configure --prefix=/opt/games/scummvm \ --enable-plugins \ --with-ogg-prefix=/opt/games/scummvm \ --with-vorbis-prefix=/opt/games/scummvm \ --with-mad-prefix=/opt/games/scummvm \ --with-flac-prefix=/opt/games/scummvm \ --with-mpeg2-prefix=/opt/games/scummvm \ --enable-kyra \ --enable-lure LD_OPTIONS='-R$ORIGIN/../lib' gmake MAKE=gmake CC=gcc
From dirent.h(3HEAD):
The header also defines the structure dirent, which includes the following members:
ino_t d_ino /* file serial number */ char d_name[] /* name of entry */
The type ino_t is defined as described in <sys/types.h>. See types(3HEAD).
So d_type can't be used, but I can't help about what would be a good workaround for that platform.
Ticket imported from: #1497973. Ticket imported from: bugs/2642.
Change History (6)
comment:1 by , 18 years ago
comment:2 by , 18 years ago
Owner: | set to |
---|---|
Priority: | normal → high |
comment:3 by , 18 years ago
Perfect, I did the checkout, configured again, and it built without a hitch:
$ file scummvm scummvm: ELF 64-bit LSB executable AMD64 Version 1, dynamically linked, stripped
I'll start testing at home tonight. Thanks a lot!
comment:4 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:5 by , 6 years ago
Component: | --Unset-- → Ports |
---|
comment:6 by , 6 years ago
Component: | Ports → Port: Solaris |
---|
I tweaked configure. Please, test.