#1243: Linking error of ALUT
-------------------------------+--------------------------------------------
 Reporter:  guest              |          Owner:         
     Type:  bug                |         Status:  new    
 Priority:  normal             |      Milestone:         
Component:  libraries (other)  |        Version:  6.6    
 Severity:  normal             |     Resolution:         
 Keywords:                     |     Difficulty:  Unknown
 Testcase:                     |   Architecture:  Unknown
       Os:  Windows            |  
-------------------------------+--------------------------------------------
Comment (by guest):

 I installed "OpenAL 1.1 SDK for Windows"
 from http://www.openal.org/downloads.html
 then, got "freealut Binary ZIP"(for Windows, version 1.1.0) from the same
 URI and extract.
 I placed *.dll to c:\windows\system32

 Then I tried two ways:
  1. I placed original *.lib files which are contained in "OpenAL 1.1 SDK"
 and "freealut Binary ZIP" to C:\ghc\ghc-6.6 and  C:\MinGW\lib
  2. I made libalut.a and libopenal32.a with pexports and dlltool, and I
 placed them to the same place of 1.

 Now my environment is 2.(because I do not know *.lib files can be used by
 mingw)
 My mingw tools are dupulicated. One is GHC's, the other is MinGW/MSYS.
 This is why I placed library files to two places.

 The following is command line of making *.a files
 {{{
 >pexports.exe OpenAL32.dll > OpenAL32.def
 >dlltool.exe --dllname OpenAL32.dll --def OpenAL32.def --output-lib
 libOpenAL32.a
 >pexports.exe alut.dll > alut.def
 >dlltool.exe --dllname alut.dll --def alut.def --output-lib libalut.a
 }}}
 Next, I installed OpenAL and ALUT haskell packages.
 http://hackage.haskell.org/cgi-bin/hackage-scripts/package/OpenAL-1.3
 http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ALUT-2.0

 installing OpenAL package
 {{{
 >runghc Setup.hs configure
 Configuring OpenAL-1.3...
 configure: C:\ghc\ghc-6.6\bin\ghc-pkg.exe
 configure: Dependency base-any: using base-2.0
 configure: Dependency OpenGL-any: using OpenGL-2.1
 configure: Using install prefix: C:\Program Files
 configure: Binaries installed in: C:\Program Files\Haskell\bin
 configure: Libraries installed in: C:\Program
 Files\Haskell\OpenAL-1.3\ghc-6.6
 configure: Private binaries installed in: C:\Program Files\OpenAL-1.3
 configure: Data files installed in: C:\Program Files\Common
 Files\OpenAL-1.3
 configure: Using compiler: C:\ghc\ghc-6.6\bin\ghc.exe
 configure: Compiler flavor: GHC
 configure: Compiler version: 6.6
 configure: Using package tool: C:\ghc\ghc-6.6\bin\ghc-pkg.exe
 configure: Using ar found on system at: C:\ghc\ghc-6.6\bin\ar.exe
 configure: No haddock found
 configure: No pfesetup found
 configure: Using ranlib found on system at: c:\MinGW\bin\ranlib.exe
 configure: Using runghc found on system at: C:\ghc\ghc-6.6\bin\runghc.exe
 configure: No runhugs found
 configure: No happy found
 configure: No alex found
 configure: Using hsc2hs: C:\ghc\ghc-6.6\bin\hsc2hs.exe
 configure: No c2hs found
 configure: No cpphs found
 configure: No greencard found
 checking for gcc... gcc
 checking for C compiler default output... a.exe
 checking whether the C compiler works... yes
 checking whether we are cross compiling... no
 checking for suffix of executables... .exe
 checking for suffix of object files... o
 checking whether we are using the GNU C compiler... yes
 checking whether gcc accepts -g... yes
 checking for gcc option to accept ANSI C... none needed
 checking for library containing alGenSources... -lopenal32
 checking how to run the C preprocessor... gcc -E
 checking for egrep... grep -E
 checking for ANSI C header files... yes
 checking for sys/types.h... yes
 checking for sys/stat.h... yes
 checking for stdlib.h... yes
 checking for string.h... yes
 checking for memory.h... yes
 checking for strings.h... yes
 checking for inttypes.h... yes
 checking for stdint.h... yes
 checking for unistd.h... yes
 checking AL/al.h usability... yes
 checking AL/al.h presence... yes
 checking for AL/al.h... yes
 checking AL/alc.h usability... yes
 checking AL/alc.h presence... yes
 checking for AL/alc.h... yes
 checking AL/alext.h usability... no
 checking AL/alext.h presence... no
 checking for AL/alext.h... no
 checking OpenAL/alext.h usability... no
 checking OpenAL/alext.h presence... no
 checking for OpenAL/alext.h... no
 checking whether alcCloseDevice returns void... no
 checking whether alcMakeContextCurrent returns void... no
 checking whether alcProcessContext returns void... yes
 checking whether alcDestroyContext returns void... yes
 checking Haskell type for ALboolean... Int8
 checking Haskell type for ALchar... Int8
 checking Haskell type for ALbyte... Int8
 checking Haskell type for ALubyte... Word8
 checking Haskell type for ALshort... Int16
 checking Haskell type for ALushort... Word16
 checking Haskell type for ALint... Int32
 checking Haskell type for ALuint... Word32
 checking Haskell type for ALsizei... Int32
 checking Haskell type for ALenum... Int32
 checking Haskell type for ALfloat... Float
 checking Haskell type for ALdouble... Double
 checking Haskell type for ALCboolean... Int8
 checking Haskell type for ALCchar... Int8
 checking Haskell type for ALCbyte... Int8
 checking Haskell type for ALCubyte... Word8
 checking Haskell type for ALCshort... Int16
 checking Haskell type for ALCushort... Word16
 checking Haskell type for ALCint... Int32
 checking Haskell type for ALCuint... Word32
 checking Haskell type for ALCsizei... Int32
 checking Haskell type for ALCenum... Int32
 checking Haskell type for ALCfloat... Float
 checking Haskell type for ALCdouble... Double
 checking value of AL_FALSE... -1
 checking value of AL_TRUE... -1
 checking value of AL_NO_ERROR... -1
 checking value of AL_INVALID_NAME... -1
 checking value of AL_INVALID_ENUM... 40962
 checking value of AL_INVALID_VALUE... -1
 checking value of AL_INVALID_OPERATION... 40964
 checking value of AL_OUT_OF_MEMORY... -1
 checking value of AL_DOPPLER_FACTOR... -1
 checking value of AL_SPEED_OF_SOUND... 49155
 checking value of AL_DISTANCE_MODEL... -1
 checking value of AL_VERSION... -1
 checking value of AL_RENDERER... -1
 checking value of AL_VENDOR... -1
 checking value of AL_EXTENSIONS... -1
 checking value of AL_NONE... -1
 checking value of AL_INVERSE_DISTANCE... -1
 checking value of AL_INVERSE_DISTANCE_CLAMPED... -1
 checking value of AL_LINEAR_DISTANCE... 53251
 checking value of AL_LINEAR_DISTANCE_CLAMPED... 53252
 checking value of AL_EXPONENT_DISTANCE... 53253
 checking value of AL_EXPONENT_DISTANCE_CLAMPED... 53254
 checking value of AL_POSITION... -1
 checking value of AL_VELOCITY... -1
 checking value of AL_GAIN... -1
 checking value of AL_ORIENTATION... -1
 checking value of AL_SOURCE_RELATIVE... -1
 checking value of AL_SOURCE_TYPE... -1
 checking value of AL_LOOPING... -1
 checking value of AL_BUFFER... -1
 checking value of AL_BUFFERS_QUEUED... -1
 checking value of AL_BUFFERS_PROCESSED... -1
 checking value of AL_MIN_GAIN... -1
 checking value of AL_MAX_GAIN... -1
 checking value of AL_REFERENCE_DISTANCE... -1
 checking value of AL_ROLLOFF_FACTOR... -1
 checking value of AL_MAX_DISTANCE... -1
 checking value of AL_PITCH... -1
 checking value of AL_DIRECTION... -1
 checking value of AL_CONE_INNER_ANGLE... -1
 checking value of AL_CONE_OUTER_ANGLE... -1
 checking value of AL_CONE_OUTER_GAIN... -1
 checking value of AL_SEC_OFFSET... 4132
 checking value of AL_SAMPLE_OFFSET... 4133
 checking value of AL_BYTE_OFFSET... 4134
 checking value of AL_SOURCE_STATE... -1
 checking value of AL_UNDETERMINED... 4144
 checking value of AL_STATIC... 4136
 checking value of AL_STREAMING... -1
 checking value of AL_INITIAL... -1
 checking value of AL_PLAYING... -1
 checking value of AL_PAUSED... -1
 checking value of AL_STOPPED... -1
 checking value of AL_FREQUENCY... -1
 checking value of AL_SIZE... -1
 checking value of AL_BITS... -1
 checking value of AL_CHANNELS... -1
 checking value of AL_FORMAT_MONO8... -1
 checking value of AL_FORMAT_MONO16... -1
 checking value of AL_FORMAT_STEREO8... -1
 checking value of AL_FORMAT_STEREO16... -1
 checking value of ALC_FALSE... 0
 checking value of ALC_TRUE... 1
 checking value of ALC_FREQUENCY... 4103
 checking value of ALC_REFRESH... 4104
 checking value of ALC_SYNC... 4105
 checking value of ALC_MONO_SOURCES... 4112
 checking value of ALC_STEREO_SOURCES... 4113
 checking value of ALC_NO_ERROR... 0
 checking value of ALC_INVALID_DEVICE... 40961
 checking value of ALC_INVALID_CONTEXT... 40962
 checking value of ALC_INVALID_ENUM... 40963
 checking value of ALC_INVALID_VALUE... 40964
 checking value of ALC_INVALID_OPERATION... 40966
 checking value of ALC_OUT_OF_MEMORY... 40965
 checking value of ALC_DEFAULT_DEVICE_SPECIFIER... 4100
 checking value of ALC_DEVICE_SPECIFIER... 4101
 checking value of ALC_EXTENSIONS... 4102
 checking value of ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER... 785
 checking value of ALC_CAPTURE_DEVICE_SPECIFIER... 784
 checking value of ALC_ATTRIBUTES_SIZE... 4098
 checking value of ALC_ALL_ATTRIBUTES... 4099
 checking value of ALC_MAJOR_VERSION... 4096
 checking value of ALC_MINOR_VERSION... 4097
 checking value of ALC_CAPTURE_SAMPLES... 786
 configure: creating ./config.status
 config.status: creating config.mk
 config.status: creating OpenAL.buildinfo
 config.status: creating include/HsOpenALConfig.h
 config.status: creating include/HsOpenAL.h
 sed: -e expression #1, char 2: Extra characters after command

 >runghc Setup.hs build
 Preprocessing library OpenAL-1.3...
 Building OpenAL-1.3...
 [ 1 of 30] Compiling Sound.OpenAL.Config ( Sound/OpenAL/Config.hs,
 dist\build/So
 und/OpenAL/Config.o )
 [ 2 of 30] Compiling Sound.OpenAL.Constants ( Sound/OpenAL/Constants.hs,
 dist\bu
 ild/Sound/OpenAL/Constants.o )
 [ 3 of 30] Compiling Sound.OpenAL.AL.PeekPoke (
 Sound/OpenAL/AL/PeekPoke.hs, dis
 t\build/Sound/OpenAL/AL/PeekPoke.o )
 [ 4 of 30] Compiling Sound.OpenAL.ALC.BasicTypes (
 Sound/OpenAL/ALC/BasicTypes.h
 s, dist\build/Sound/OpenAL/ALC/BasicTypes.o )
 [ 5 of 30] Compiling Sound.OpenAL.ALC.ALCboolean (
 Sound/OpenAL/ALC/ALCboolean.h
 s, dist\build/Sound/OpenAL/ALC/ALCboolean.o )
 [ 6 of 30] Compiling Sound.OpenAL.ALC.String ( Sound/OpenAL/ALC/String.hs,
 dist\
 build/Sound/OpenAL/ALC/String.o )
 [ 7 of 30] Compiling Sound.OpenAL.ALC.QueryUtils (
 Sound/OpenAL/ALC/QueryUtils.h
 s, dist\build/Sound/OpenAL/ALC/QueryUtils.o )
 [ 8 of 30] Compiling Sound.OpenAL.ALC.Device ( Sound/OpenAL/ALC/Device.hs,
 dist\
 build/Sound/OpenAL/ALC/Device.o )
 [ 9 of 30] Compiling Sound.OpenAL.ALC.Context (
 Sound/OpenAL/ALC/Context.hs, dis
 t\build/Sound/OpenAL/ALC/Context.o )
 [10 of 30] Compiling Sound.OpenAL.ALC.Errors ( Sound/OpenAL/ALC/Errors.hs,
 dist\
 build/Sound/OpenAL/ALC/Errors.o )
 [11 of 30] Compiling Sound.OpenAL.ALC.Extensions (
 Sound/OpenAL/ALC/Extensions.h
 s, dist\build/Sound/OpenAL/ALC/Extensions.o )
 [12 of 30] Compiling Sound.OpenAL.AL.BasicTypes (
 Sound/OpenAL/AL/BasicTypes.hs,
  dist\build/Sound/OpenAL/AL/BasicTypes.o )
 [13 of 30] Compiling Sound.OpenAL.AL.Format ( Sound/OpenAL/AL/Format.hs,
 dist\bu
 ild/Sound/OpenAL/AL/Format.o )
 [14 of 30] Compiling Sound.OpenAL.AL.SourceState (
 Sound/OpenAL/AL/SourceState.h
 s, dist\build/Sound/OpenAL/AL/SourceState.o )
 [15 of 30] Compiling Sound.OpenAL.AL.String ( Sound/OpenAL/AL/String.hs,
 dist\bu
 ild/Sound/OpenAL/AL/String.o )
 [16 of 30] Compiling Sound.OpenAL.AL.QueryUtils (
 Sound/OpenAL/AL/QueryUtils.hs,
  dist\build/Sound/OpenAL/AL/QueryUtils.o )
 [17 of 30] Compiling Sound.OpenAL.AL.Errors ( Sound/OpenAL/AL/Errors.hs,
 dist\bu
 ild/Sound/OpenAL/AL/Errors.o )
 [18 of 30] Compiling Sound.OpenAL.AL.Listener (
 Sound/OpenAL/AL/Listener.hs, dis
 t\build/Sound/OpenAL/AL/Listener.o )
 [19 of 30] Compiling Sound.OpenAL.AL.StringQueries (
 Sound/OpenAL/AL/StringQueri
 es.hs, dist\build/Sound/OpenAL/AL/StringQueries.o )
 [20 of 30] Compiling Sound.OpenAL.AL.Attenuation (
 Sound/OpenAL/AL/Attenuation.h
 s, dist\build/Sound/OpenAL/AL/Attenuation.o )
 [21 of 30] Compiling Sound.OpenAL.AL.ALboolean (
 Sound/OpenAL/AL/ALboolean.hs, d
 ist\build/Sound/OpenAL/AL/ALboolean.o )
 [22 of 30] Compiling Sound.OpenAL.AL.BufferInternal (
 Sound/OpenAL/AL/BufferInte
 rnal.hs, dist\build/Sound/OpenAL/AL/BufferInternal.o )
 [23 of 30] Compiling Sound.OpenAL.AL.Buffer ( Sound/OpenAL/AL/Buffer.hs,
 dist\bu
 ild/Sound/OpenAL/AL/Buffer.o )
 [24 of 30] Compiling Sound.OpenAL.ALC.Capture (
 Sound/OpenAL/ALC/Capture.hs, dis
 t\build/Sound/OpenAL/ALC/Capture.o )
 [25 of 30] Compiling Sound.OpenAL.ALC ( Sound/OpenAL/ALC.hs,
 dist\build/Sound/Op
 enAL/ALC.o )
 [26 of 30] Compiling Sound.OpenAL.AL.Extensions (
 Sound/OpenAL/AL/Extensions.hs,
  dist\build/Sound/OpenAL/AL/Extensions.o )
 [27 of 30] Compiling Sound.OpenAL.AL.Doppler ( Sound/OpenAL/AL/Doppler.hs,
 dist\
 build/Sound/OpenAL/AL/Doppler.o )
 [28 of 30] Compiling Sound.OpenAL.AL.Source ( Sound/OpenAL/AL/Source.hs,
 dist\bu
 ild/Sound/OpenAL/AL/Source.o )
 [29 of 30] Compiling Sound.OpenAL.AL  ( Sound/OpenAL/AL.hs,
 dist\build/Sound/Ope
 nAL/AL.o )
 [30 of 30] Compiling Sound.OpenAL     ( Sound/OpenAL.hs,
 dist\build/Sound/OpenAL
 .o )
 C:\ghc\ghc-6.6\bin\ar.exe: creating dist\build\libHSOpenAL-1.3.a

 >runghc Setup.hs install
 Installing: C:\Program Files\Haskell\OpenAL-1.3\ghc-6.6 & C:\Program
 Files\Haske
 ll\bin OpenAL-1.3...
 Registering OpenAL-1.3...
 Reading package info from ".installed-pkg-config" ... done.
 Saving old package config file... done.
 Writing new package config file... done.

 }}}

 installing ALUT package
 {{{
 >runghc Setup.hs configure
 Configuring ALUT-2.0...
 configure: C:\ghc\ghc-6.6\bin\ghc-pkg.exe
 configure: Dependency base-any: using base-2.0
 configure: Dependency OpenGL-any: using OpenGL-2.1
 configure: Dependency OpenAL-any: using OpenAL-1.3
 configure: Using install prefix: C:\Program Files
 configure: Binaries installed in: C:\Program Files\Haskell\bin
 configure: Libraries installed in: C:\Program
 Files\Haskell\ALUT-2.0\ghc-6.6
 configure: Private binaries installed in: C:\Program Files\ALUT-2.0
 configure: Data files installed in: C:\Program Files\Common Files\ALUT-2.0
 configure: Using compiler: C:\ghc\ghc-6.6\bin\ghc.exe
 configure: Compiler flavor: GHC
 configure: Compiler version: 6.6
 configure: Using package tool: C:\ghc\ghc-6.6\bin\ghc-pkg.exe
 configure: Using ar found on system at: C:\ghc\ghc-6.6\bin\ar.exe
 configure: No haddock found
 configure: No pfesetup found
 configure: Using ranlib found on system at: c:\MinGW\bin\ranlib.exe
 configure: Using runghc found on system at: C:\ghc\ghc-6.6\bin\runghc.exe
 configure: No runhugs found
 configure: No happy found
 configure: No alex found
 configure: Using hsc2hs: C:\ghc\ghc-6.6\bin\hsc2hs.exe
 configure: No c2hs found
 configure: No cpphs found
 configure: No greencard found
 checking build system type... i686-pc-mingw32
 checking host system type... i686-pc-mingw32
 checking target system type... i686-pc-mingw32
 checking for gcc... gcc
 checking for C compiler default output... a.exe
 checking whether the C compiler works... yes
 checking whether we are cross compiling... no
 checking for suffix of executables... .exe
 checking for suffix of object files... o
 checking whether we are using the GNU C compiler... yes
 checking whether gcc accepts -g... yes
 checking for gcc option to accept ANSI C... none needed
 checking for library containing alGenSources... -lopenal32
 checking for library containing alutExit... -lalut
 checking how to run the C preprocessor... gcc -E
 checking for egrep... grep -E
 checking for ANSI C header files... yes
 checking for sys/types.h... yes
 checking for sys/stat.h... yes
 checking for stdlib.h... yes
 checking for string.h... yes
 checking for memory.h... yes
 checking for strings.h... yes
 checking for inttypes.h... yes
 checking for stdint.h... yes
 checking for unistd.h... yes
 checking AL/alut.h usability... yes
 checking AL/alut.h presence... yes
 checking for AL/alut.h... yes
 checking whether alutInit returns void... no
 checking for alutInitWithoutContext... yes
 checking whether alutExit returns void... no
 checking for alutGetError... yes
 checking for alutGetErrorString... yes
 checking for alutCreateBufferFromFile... yes
 checking for alutCreateBufferFromFileImage... yes
 checking for alutCreateBufferHelloWorld... yes
 checking for alutCreateBufferWaveform... yes
 checking for alutLoadMemoryFromFile... yes
 checking for alutLoadMemoryFromFileImage... yes
 checking for alutLoadMemoryHelloWorld... yes
 checking for alutLoadMemoryWaveform... yes
 checking for alutGetMIMETypes... yes
 checking for alutGetMajorVersion... yes
 checking for alutGetMinorVersion... yes
 checking for alutSleep... yes
 checking value of ALUT_API_MAJOR_VERSION... 1
 checking value of ALUT_API_MINOR_VERSION... 1
 checking value of ALUT_WAVEFORM_SINE... 256
 checking value of ALUT_WAVEFORM_SQUARE... 257
 checking value of ALUT_WAVEFORM_SAWTOOTH... 258
 checking value of ALUT_WAVEFORM_WHITENOISE... 259
 checking value of ALUT_WAVEFORM_IMPULSE... 260
 checking value of ALUT_LOADER_BUFFER... 768
 checking value of ALUT_LOADER_MEMORY... 769
 configure: creating ./config.status
 config.status: creating config.mk
 config.status: creating ALUT.buildinfo
 config.status: creating include/HsALUTConfig.h
 config.status: creating include/HsALUT.h
 sed: -e expression #1, char 2: Extra characters after command

 >runghc Setup.hs build
 Preprocessing library ALUT-2.0...
 Building ALUT-2.0...
 [1 of 8] Compiling Sound.ALUT.Constants ( Sound/ALUT/Constants.hs,
 dist\build/So
 und/ALUT/Constants.o )
 [2 of 8] Compiling Sound.ALUT.Config ( Sound/ALUT/Config.hs,
 dist\build/Sound/AL
 UT/Config.o )
 [3 of 8] Compiling Sound.ALUT.Errors ( Sound/ALUT/Errors.hs,
 dist\build/Sound/AL
 UT/Errors.o )
 [4 of 8] Compiling Sound.ALUT.Version ( Sound/ALUT/Version.hs,
 dist\build/Sound/
 ALUT/Version.o )
 [5 of 8] Compiling Sound.ALUT.Loaders ( Sound/ALUT/Loaders.hs,
 dist\build/Sound/
 ALUT/Loaders.o )
 [6 of 8] Compiling Sound.ALUT.Sleep ( Sound/ALUT/Sleep.hs,
 dist\build/Sound/ALUT
 /Sleep.o )
 [7 of 8] Compiling Sound.ALUT.Initialization (
 Sound/ALUT/Initialization.hs, dis
 t\build/Sound/ALUT/Initialization.o )
 [8 of 8] Compiling Sound.ALUT       ( Sound/ALUT.hs,
 dist\build/Sound/ALUT.o )
 C:\ghc\ghc-6.6\bin\ar.exe: creating dist\build\libHSALUT-2.0.a

 >runghc Setup.hs install
 Installing: C:\Program Files\Haskell\ALUT-2.0\ghc-6.6 & C:\Program
 Files\Haskell
 \bin ALUT-2.0...
 Registering ALUT-2.0...
 Reading package info from ".installed-pkg-config" ... done.
 Saving old package config file... done.
 Writing new package config file... done.
 }}}

 That's all what I did for install of OpenAL/ALUT.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1243>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to