RE: Installing HOpenGL

Michael Stout <[email protected]>
Newsgroups gmane.comp.lang.haskell.hopengl
Message-ID <[email protected]>
Sven thanks

I've removed [ghc]/include/mingw/GL

Here is my config.log
(from a completery fresh untar into a directory called 
//c/ghc/ghc-5.04.1/HOpenGL-1.03)

--------------------
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.52.  Invocation command line was

  $ ./configure

## ---------- ##
## Platform.  ##
## ---------- ##

hostname = BLACK
uname -m = i586
uname -r = 1.3.2(0.39/3/2)
uname -s = CYGWIN_98-4.10
uname -v = 2001-05-20 23:28

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
hostinfo               = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH = 
/bin:/bin:/usr/local/bin:/usr/X11R6.4/bin:/home/stoutm/bin:/usr/local/bi  
n:/usr/bin:/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/PROGRA~1/TCL/BI  
N:/cygdrive/c/GHC/GHC-5.04.1/BIN:/cygdrive/c/GREENCARD:/cygdrive/c/WINDO  
WS:/cygdrive/c/WINDOWS/COMMAND:/cygdrive/c/PROGRA~1/ATITEC~1/ATICON~1:/h  
ome/stoutm/bin:/usr/X11R6/bin:/usr/X11R6/lib://c/Program Files/Tcl/bin

## ------------ ##
## Core tests.  ##
## ------------ ##

configure:941: PATH=".;."; conftest.sh
conftest.sh: not found
configure:944: $? = 127
configure:1066: checking for gcc
configure:1081: found /bin/gcc
configure:1089: result: gcc
configure:1317: checking for C compiler version
configure:1320: gcc --version </dev/null >&5
2.95.3-5
configure:1323: $? = 0
configure:1325: gcc -v </dev/null >&5
Reading specs from /bin/../lib/gcc-lib/i686-pc-cygwin/2.95.3-5/specs
gcc version 2.95.3-5 (cygwin special)
configure:1328: $? = 0
configure:1330: gcc -V </dev/null >&5
gcc: argument to `-V' is missing
configure:1333: $? = 1
configure:1353: checking for C compiler default output
configure:1356: gcc    conftest.c  >&5
configure:1359: $? = 0
configure:1388: result: a.exe
configure:1393: checking whether the C compiler works
configure:1399: ./a.exe
configure:1402: $? = 0
configure:1417: result: yes
configure:1424: checking whether we are cross compiling
configure:1426: result: no
configure:1429: checking for executable suffix
configure:1431: gcc -o conftest.exe    conftest.c  >&5
configure:1434: $? = 0
configure:1456: result: .exe
configure:1462: checking for object suffix
configure:1480: gcc -c   conftest.c >&5
configure:1483: $? = 0
configure:1502: result: o
configure:1506: checking whether we are using the GNU C compiler
configure:1527: gcc -c   conftest.c >&5
configure:1530: $? = 0
configure:1533: test -s conftest.o
configure:1536: $? = 0
configure:1548: result: yes
configure:1554: checking whether gcc accepts -g
configure:1572: gcc -c -g  conftest.c >&5
configure:1575: $? = 0
configure:1578: test -s conftest.o
configure:1581: $? = 0
configure:1591: result: yes
configure:1618: gcc -c -g -O2  conftest.c >&5
conftest.c:2: parse error before `me'
configure:1621: $? = 1
configure: failed program was:
#ifndef __cplusplus
  choke me
#endif
configure:1722: checking for green-card
configure:1739: found /cygdrive/c/GREENCARD/green-card
configure:1750: result: /cygdrive/c/GREENCARD/green-card
configure:1765: checking for ghc
configure:1782: found /cygdrive/c/GHC/GHC-5.04.1/BIN/ghc
configure:1793: result: /cygdrive/c/GHC/GHC-5.04.1/BIN/ghc
configure:1807: checking for etags
configure:1838: result: no
configure:1842: WARNING: etags not found
configure:1847: checking for hstags
configure:1878: result: no
configure:1884: WARNING: hstags not found
configure:1896: checking for ghc-pkg
configure:1913: found /cygdrive/c/GHC/GHC-5.04.1/BIN/ghc-pkg
configure:1924: result: /cygdrive/c/GHC/GHC-5.04.1/BIN/ghc-pkg
configure:1949: checking syslib for GetOpt
configure:1969: result: util
configure:1973: checking syslib for Addr
configure:1993: result: lang
configure:1997: checking for buggy readXXXOffAddr/inliner and 
hGetBufFull/Foreign
configure:2014: result: no
configure:2018: checking for -package-name GHC flag
configure:2028: result: yes
configure:2036: checking for -split-objs bug
configure:2058: result: no
configure:2071: checking whether Green Card has comma bug
configure:2090: result: no
configure:2168: checking how to run the C preprocessor
configure:2194: gcc -E  conftest.c
configure:2200: $? = 0
configure:2227: gcc -E  conftest.c
configure:2224: ac_nonexistent.h: No such file or directory
configure:2233: $? = 1
configure: failed program was:
#line 2223 "configure"
#include "confdefs.h"
#include <ac_nonexistent.h>
configure:2270: result: gcc -E
configure:2285: gcc -E  conftest.c
configure:2291: $? = 0
configure:2318: gcc -E  conftest.c
configure:2315: ac_nonexistent.h: No such file or directory
configure:2324: $? = 1
configure: failed program was:
#line 2314 "configure"
#include "confdefs.h"
#include <ac_nonexistent.h>
configure:2363: checking for X
configure:2572: result: libraries /usr/X11R6/lib, headers 
/usr/X11R6/include
configure:2711: gcc -o conftest.exe -g -O2   conftest.c   -L/usr/X11R6/lib 
-lX11 >&5
configure:2714: $? = 0
configure:2717: test -s conftest.exe
configure:2720: $? = 0
configure:2846: checking for gethostbyname
configure:2883: gcc -o conftest.exe -g -O2   conftest.c  >&5
configure:2886: $? = 0
configure:2889: test -s conftest.exe
configure:2892: $? = 0
configure:2902: result: yes
configure:3023: checking for connect
configure:3060: gcc -o conftest.exe -g -O2   conftest.c  >&5
configure:3063: $? = 0
configure:3066: test -s conftest.exe
configure:3069: $? = 0
configure:3079: result: yes
configure:3139: checking for remove
configure:3176: gcc -o conftest.exe -g -O2   conftest.c  >&5
configure:3179: $? = 0
configure:3182: test -s conftest.exe
configure:3185: $? = 0
configure:3195: result: yes
configure:3255: checking for shmat
configure:3292: gcc -o conftest.exe -g -O2   conftest.c  >&5
/cygdrive/c/WINDOWS/TEMP/ccHqrMUd.o: In function `main':
//c/ghc/ghc-5.04.1/HOpenGL-1.03/configure:3283: undefined reference to 
`shmat'
collect2: ld returned 1 exit status
configure:3295: $? = 1
configure: failed program was:
#line 3261 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char shmat (); below.  */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error.  */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
   builtin and then its argument prototype would still apply.  */
char shmat ();
char (*f) ();

int
main ()
{
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_shmat) || defined (__stub___shmat)
choke me
#else
f = shmat;
#endif

  ;
  return 0;
}
configure:3311: result: no
configure:3315: checking for shmat in -lipc
configure:3342: gcc -o conftest.exe -g -O2   conftest.c -lipc   >&5
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/../../../../i686-pc-cygwin/bin/ld: 
cannot find -lipc
collect2: ld returned 1 exit status
configure:3345: $? = 1
configure: failed program was:
#line 3323 "configure"
#include "confdefs.h"

/* Override any gcc2 internal prototype to avoid an error.  */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
   builtin and then its argument prototype would still apply.  */
char shmat ();
int
main ()
{
shmat ();
  ;
  return 0;
}
configure:3362: result: no
configure:3380: checking for IceConnectionNumber in -lICE
configure:3407: gcc -o conftest.exe -g -O2   -L/usr/X11R6/lib conftest.c 
-lICE   >&5
configure:3410: $? = 0
configure:3413: test -s conftest.exe
configure:3416: $? = 0
configure:3427: result: yes
configure:3468: checking build system type
configure:3486: result: i586-pc-cygwin
configure:3496: checking host system type
configure:3510: result: i586-pc-cygwin
configure:3710: checking for library containing glEnd
configure:3730: gcc -o conftest.exe -g -O2   -I/usr/X11R6/include 
 conftest.c  -lSM -lICE  -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi 
  >&5
/cygdrive/c/WINDOWS/TEMP/ccxxmr1T.o: In function `main':
//c/ghc/ghc-5.04.1/HOpenGL-1.03/configure:3723: undefined reference to 
`glEnd'
collect2: ld returned 1 exit status
configure:3733: $? = 1
configure: failed program was:
#line 3718 "configure"
#include "confdefs.h"
#include <GL/glut.h>
int
main ()
{
glEnd()
  ;
  return 0;
}
configure:3762: gcc -o conftest.exe -g -O2   -I/usr/X11R6/include 
 conftest.c -lGL   -lSM -lICE  -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt 
-lXi   >&5
configure:3765: $? = 0
configure:3768: test -s conftest.exe
configure:3771: $? = 0
configure:3783: result: -lGL
configure:3792: checking for library containing gluNewQuadric
configure:3812: gcc -o conftest.exe -g -O2   -I/usr/X11R6/include 
 conftest.c -lGL  -lSM -lICE  -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi 
  >&5
/cygdrive/c/WINDOWS/TEMP/ccufxSik.o: In function `main':
//c/ghc/ghc-5.04.1/HOpenGL-1.03/configure:3805: undefined reference to 
`gluNewQuadric'
collect2: ld returned 1 exit status
configure:3815: $? = 1
configure: failed program was:
#line 3800 "configure"
#include "confdefs.h"
#include <GL/glut.h>
int
main ()
{
gluNewQuadric()
  ;
  return 0;
}
configure:3844: gcc -o conftest.exe -g -O2   -I/usr/X11R6/include 
 conftest.c -lGLU  -lGL  -lSM -lICE  -L/usr/X11R6/lib -lX11 -lXext -lXmu 
-lXt -lXi   >&5
configure:3847: $? = 0
configure:3850: test -s conftest.exe
configure:3853: $? = 0
configure:3865: result: -lGLU
configure:3874: checking for library containing glXWaitX
configure:3894: gcc -o conftest.exe -g -O2   -I/usr/X11R6/include 
 conftest.c -lGLU -lGL  -lSM -lICE  -L/usr/X11R6/lib -lX11 -lXext -lXmu 
-lXt -lXi   >&5
configure:3897: $? = 0
configure:3900: test -s conftest.exe
configure:3903: $? = 0
configure:3947: result: none required
configure:3956: checking for library containing glutMainLoop
configure:3976: gcc -o conftest.exe -g -O2   -I/usr/X11R6/include 
 conftest.c -lGLU -lGL  -lSM -lICE  -L/usr/X11R6/lib -lX11 -lXext -lXmu 
-lXt -lXi   >&5
/cygdrive/c/WINDOWS/TEMP/ccChKCdh.o: In function `main':
//c/ghc/ghc-5.04.1/HOpenGL-1.03/configure:3969: undefined reference to 
`glutMainLoop'
collect2: ld returned 1 exit status
configure:3979: $? = 1
configure: failed program was:
#line 3964 "configure"
#include "confdefs.h"
#include <GL/glut.h>
int
main ()
{
glutMainLoop()
  ;
  return 0;
}
configure:4008: gcc -o conftest.exe -g -O2   -I/usr/X11R6/include 
 conftest.c -lglut32  -lGLU -lGL  -lSM -lICE  -L/usr/X11R6/lib -lX11 -lXext 
-lXmu -lXt -lXi   >&5
/cygdrive/c/WINDOWS/TEMP/cch3aFaO.o: In function `main':
//c/ghc/ghc-5.04.1/HOpenGL-1.03/configure:4001: undefined reference to 
`glutMainLoop'
collect2: ld returned 1 exit status
configure:4011: $? = 1
configure: failed program was:
#line 3996 "configure"
#include "confdefs.h"
#include <GL/glut.h>
int
main ()
{
glutMainLoop()
  ;
  return 0;
}
configure:4008: gcc -o conftest.exe -g -O2   -I/usr/X11R6/include 
 conftest.c -lglut  -lGLU -lGL  -lSM -lICE  -L/usr/X11R6/lib -lX11 -lXext 
-lXmu -lXt -lXi   >&5
/cygdrive/c/WINDOWS/TEMP/ccsThYnj.o: In function `main':
//c/ghc/ghc-5.04.1/HOpenGL-1.03/configure:4001: undefined reference to 
`glutMainLoop'
collect2: ld returned 1 exit status
configure:4011: $? = 1
configure: failed program was:
#line 3996 "configure"
#include "confdefs.h"
#include <GL/glut.h>
int
main ()
{
glutMainLoop()
  ;
  return 0;
}
configure:4029: result: no
configure:4045: checking OpenGL flags
configure:4052: result:   -I/usr/X11R6/include
configure:4056: checking OpenGL libs
configure:4063: result:  -lGLU -lGL  -lSM -lICE  -L/usr/X11R6/lib -lX11 
-lXext -lXmu -lXt -lXi
configure:4101: checking GL version
configure:4122: gcc -c -g -O2    -I/usr/X11R6/include conftest.c >&5
configure:4125: $? = 0
configure:4128: test -s conftest.o
configure:4131: $? = 0
configure:4175: result: 1.2
configure:4184: checking GLU version
configure:4205: gcc -c -g -O2    -I/usr/X11R6/include conftest.c >&5
configure:4208: $? = 0
configure:4211: test -s conftest.o
configure:4214: $? = 0
configure:4258: result: 1.3
configure:4267: checking for GL/glut.h
configure:4277: gcc -E    -I/usr/X11R6/include conftest.c
configure:4283: $? = 0
configure:4302: result: yes
configure:4312: checking GLUT API version
configure:4373: result: 3
configure:4382: checking GLUT Xlib implementation
configure:4446: result: >= 13
configure:4452: checking size of char
configure:4473: gcc -o conftest.exe -g -O2    -I/usr/X11R6/include 
 conftest.c  >&5
configure:4476: $? = 0
configure:4478: ./conftest.exe
configure:4481: $? = 0
configure:4493: result: 1
configure:4497: checking alignment of char
configure:4526: gcc -o conftest.exe -g -O2    -I/usr/X11R6/include 
 conftest.c  >&5
configure:4529: $? = 0
configure:4531: ./conftest.exe
configure:4534: $? = 0
configure:4547: result: 1
configure:4551: checking size of int
configure:4572: gcc -o conftest.exe -g -O2    -I/usr/X11R6/include 
 conftest.c  >&5
configure:4575: $? = 0
configure:4577: ./conftest.exe
configure:4580: $? = 0
configure:4592: result: 4
configure:4596: checking alignment of int
configure:4625: gcc -o conftest.exe -g -O2    -I/usr/X11R6/include 
 conftest.c  >&5
configure:4628: $? = 0
configure:4630: ./conftest.exe
configure:4633: $? = 0
configure:4646: result: 4
configure:4650: checking size of void *
configure:4671: gcc -o conftest.exe -g -O2    -I/usr/X11R6/include 
 conftest.c  >&5
configure:4674: $? = 0
configure:4676: ./conftest.exe
configure:4679: $? = 0
configure:4691: result: 4
configure:4695: checking alignment of void *
configure:4724: gcc -o conftest.exe -g -O2    -I/usr/X11R6/include 
 conftest.c  >&5
configure:4727: $? = 0
configure:4729: ./conftest.exe
configure:4732: $? = 0
configure:4745: result: 4
configure:4749: checking size of float
configure:4770: gcc -o conftest.exe -g -O2    -I/usr/X11R6/include 
 conftest.c  >&5
configure:4773: $? = 0
configure:4775: ./conftest.exe
configure:4778: $? = 0
configure:4790: result: 4
configure:4794: checking alignment of float
configure:4823: gcc -o conftest.exe -g -O2    -I/usr/X11R6/include 
 conftest.c  >&5
configure:4826: $? = 0
configure:4828: ./conftest.exe
configure:4831: $? = 0
configure:4844: result: 4
configure:4848: checking size of double
configure:4869: gcc -o conftest.exe -g -O2    -I/usr/X11R6/include 
 conftest.c  >&5
configure:4872: $? = 0
configure:4874: ./conftest.exe
configure:4877: $? = 0
configure:4889: result: 8
configure:4893: checking alignment of double
configure:4922: gcc -o conftest.exe -g -O2    -I/usr/X11R6/include 
 conftest.c  >&5
configure:4925: $? = 0
configure:4927: ./conftest.exe
configure:4930: $? = 0
configure:4943: result: 8
configure:5063: creating ./config.status

## ----------------------- ##
## Running config.status.  ##
## ----------------------- ##

This file was extended by config.status 2.52, executed with
  CONFIG_FILES    =
  CONFIG_HEADERS  =
  CONFIG_LINKS    =
  CONFIG_COMMANDS =
  > ./config.status
on BLACK

config.status:5540: creating config.mk
config.status:5540: creating lib/HOpenGL.conf
config.status:5540: creating lib/Makefile
config.status:5540: creating lib/GL_FFI.hs
config.status:5540: creating lib/GL_CoordTrans.gc
config.status:5540: creating lib/GL_Colors.gc
config.status:5540: creating lib/GL_VertexArray.gc
config.status:5540: creating lib/GL_PixelRect.gc
config.status:5540: creating lib/GL_Texturing.gc
config.status:5540: creating lib/GL_PerFragment.gc
config.status:5540: creating lib/GL_EnumQueries2.gc
config.status:5540: creating lib/GL_EnumQueries3.gc
config.status:5540: creating lib/GL_EnumQueries4.gc
config.status:5540: creating lib/GL_EnumQueries5.gc
config.status:5540: creating lib/GL_EnumQueries7.gc
config.status:5540: creating lib/GL.hs
config.status:5540: creating lib/GLU_NURBS.gc
config.status:5540: creating lib/GLUT.hs
config.status:5540: creating lib/GLUT_CBWindow.gc
config.status:5540: creating lib/GLUT_CBGlobal.gc
config.status:5540: creating lib/GLUT_Fonts.gc
config.status:5540: creating lib/GLUT_Game.gc
config.status:5540: creating lib/GLUT_Init.gc
config.status:5540: creating lib/GLUT_Misc.gc
config.status:5540: creating lib/GLUT_Overlay.hs
config.status:5540: creating lib/GLUT_Resize.gc
config.status:5540: creating lib/GLUT_State.gc
config.status:5540: creating lib/GLUT_Window.gc
config.status:5540: creating examples/misc/Makefile
config.status:5540: creating examples/misc/TestGLUT.hs
config.status:5540: creating examples/redbook_HS/Makefile
config.status:5540: creating examples/redbook_C/Makefile.linux

## ----------------- ##
## Cache variables.  ##
## ----------------- ##

hopengl_cv_sizeof_void_p='4'
hopengl_cv_glu_version='1.3'
hopengl_cv_gl_version='1.2'
ac_cv_path_with_green_card='/cygdrive/c/GREENCARD/green-card'
hopengl_cv_alignof_void_p='4'
hopengl_cv_sizeof_int='4'
mdl_cv_gl_libs=' -lGLU -lGL  -lSM -lICE  -L/usr/X11R6/lib -lX11 -lXext 
-lXmu -lXt -lXi  '
ac_cv_path_with_ghc_pkg='/cygdrive/c/GHC/GHC-5.04.1/BIN/ghc-pkg'
ac_cv_lib_ipc_shmat='no'
hopengl_cv_alignof_int='4'
mdl_cv_gl_cflags='  -I/usr/X11R6/include'
ac_cv_prog_cc_g='yes'
ac_cv_env_LDFLAGS_set=''
ac_cv_search_glXWaitX='none required'
ac_cv_c_compiler_gnu='yes'
ac_cv_exeext='.exe'
ac_cv_env_CFLAGS_set=''
hopengl_cv_sizeof_char='1'
ac_cv_search_gluNewQuadric='-lGLU'
ac_cv_header_GL_glut_h='yes'
hopengl_cv_alignof_char='1'
hopengl_cv_sizeof_float='4'
ac_cv_path_HC='/cygdrive/c/GHC/GHC-5.04.1/BIN/ghc'
ac_cv_env_CPP_value=''
ac_cv_env_CPPFLAGS_set=''
hopengl_cv_alignof_float='4'
hopengl_cv_green_card_comma_bug='no'
ac_cv_env_host_alias_set=''
ac_cv_search_glEnd='-lGL'
ac_cv_func_remove='yes'
hopengl_cv_syslib_Addr='lang'
ac_cv_env_build_alias_set=''
ac_cv_env_LDFLAGS_value=''
ac_cv_env_target_alias_set=''
ac_cv_host_alias='i586-pc-cygwin'
ac_cv_env_CFLAGS_value=''
ac_cv_env_CC_set=''
ac_cv_func_shmat='no'
ac_cv_have_x='have_x=yes                ac_x_includes=/usr/X11R6/include 
ac_x_libraries=/usr/X11R6/lib'
ac_cv_build_alias='i586-pc-cygwin'
ac_cv_func_gethostbyname='yes'
hopengl_cv_split_objs_bug='no'
ac_cv_env_CPPFLAGS_value=''
ac_cv_host='i586-pc-cygwin'
ac_cv_env_host_alias_value=''
ac_cv_search_glutMainLoop='no'
ac_cv_build='i586-pc-cygwin'
ac_cv_func_connect='yes'
ac_cv_prog_CPP='gcc -E'
ac_cv_env_build_alias_value=''
ac_cv_prog_ac_ct_CC='gcc'
hopengl_cv_sizeof_double='8'
ac_cv_env_target_alias_value=''
ac_cv_env_CC_value=''
hopengl_cv_alignof_double='8'
ac_cv_env_CPP_set=''
ac_cv_lib_ICE_IceConnectionNumber='yes'
hopengl_cv_syslib_GetOpt='util'
ac_cv_objext='o'


configure: exit 0



--------------------

If I remove the copy of GL I made in [ghc]/include/mingw/GL
The make all gives:

--------------------
Administrator@BLACK //c/ghc/ghc-5.04.1/HOpenGL-1.03
$ make all
------------------------------------------------------------------------
Recursively making `all' in lib examples ...
PWD = //c/ghc/ghc-5.04.1/HOpenGL-1.03
------------------------------------------------------------------------
------------------------------------------------------------------------
make all - --unix;
in //c/ghc/ghc-5.04.1/HOpenGL-1.03/lib
------------------------------------------------------------------------
rm -f GL_BinaryIO.o ; if [ ! -d GL_BinaryIO ]; then mkdir GL_BinaryIO; else 
find GL_BinaryIO -name '*.o' -print | xargs -s 8000 rm -f __rm_food ; fi ;
"/cygdrive/c/GHC/GHC-5.04.1/BIN/ghc" -syslib lang -split-objs -odir 
GL_BinaryIO -package-name HOpenGL -fglasgow-exts    -I/usr/X11R6/include 
"-#include <GL/glut.h>" -O   -c GL_BinaryIO.hs -o GL_BinaryIO.o
c:\WINDOWS\TEMP\ghc-806623.hc:4: GL/glut.h: No such file or directory
make[1]: *** [GL_BinaryIO.o] Error 1
make: *** [all] Error 1

--------------------
If I recopy the GL directory into the mingw area - I get the error message 
as reported in my last email. about [GL_VertexArray.o]

Thanks

Mike
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.