Perhaps the version of tsdl is out of sync? Here're various outputs that might help:
$ ocamlc -version
4.02.3
$ ocamlfind ocamlc -linkpkg -package tsdl,tgls.tgl4 -o trigl4.byte trigl4.ml
File "trigl4.ml", line 176, characters 2-61:
Error: This expression has type
unit Tsdl.Sdl.result = (unit, [ `Msg of string ]) Result.result
but an expression was expected of type [< `Error of 'a | `Ok of 'b ]
# Installed packages for odooml:
astring 0.8.1 Alternative String module for OCaml
base-bigarray base Bigarray library distributed with the OCaml
base-bytes base Bytes library distributed with the OCaml com
base-ocamlbuild base OCamlbuild binary and libraries distributed
base-threads base Threads library distributed with the OCaml c
base-unix base Unix library distributed with the OCaml comp
base64 2.0.0 Base64 encoding and decoding library
bin_prot 113.33.03 A binary protocol generator
biniou 1.0.9 Binary data format designed for speed, safet
camlp4 4.02+7 Camlp4 is a system for writing extensible pa
camlzip 1.05 Provides easy access to compressed files in
camomile 0.8.5 A comprehensive Unicode library
cmdliner 0.9.8 Declarative definition of command line inter
cohttp 0.21.0 HTTP(S) library for Lwt, Async and Mirage
conduit 0.12.0 Network connection library for TCP and SSL
conf-gmp 1 Virtual package relying on a GMP lib system
conf-m4 1 Virtual package relying on m4
conf-perl 1 Virtual package relying on perl
conf-pkg-config 1.0 Virtual package relying on pkg-config instal
conf-which 1 Virtual package relying on which
containers 0.17 A modular extension of the OCaml standard li
cppo 1.3.2 Equivalent of the C preprocessor for OCaml p
crc 1.0.0 CRC implementation supporting strings and cs
crunch 1.4.1 Convert a filesystem into a static OCaml mod
cstruct 2.1.0 access C structures via a camlp4 extension
ctypes 0.6.2 Combinators for binding to C libraries witho
ctypes-foreign 0.4.0 Virtual package for enabling the ctypes.fore
easy-format 1.2.0 High-level and functional interface to the F
ezjsonm 0.4.3 An easy interface on top of the Jsonm librar
fieldslib 113.33.03 Syntax extension to define first class value
fmt 0.8.0 OCaml Format pretty-printer combinators
git 1.8.0 Git format and protocol in pure OCaml
git-unix 1.7.1 Virtual package to install and configure oca
hex 1.0.0 Minimal library providing hexadecimal conver
hmap 0.8.0 Heterogeneous value maps for OCaml
ipaddr 2.7.0 IP (and MAC) address representation library
irmin 0.11.0 Irmin, the database that never forgets
irmin-unix 0.9.9 Virtual package for Irmin's Unix support
js-build-tools 113.33.04 Collection of tools to help building Jane St
jsonm 0.9.1 Non-blocking streaming JSON codec for OCaml
lambda-term 1.10 Terminal manipulation library for OCaml
logs 0.6.1 Logging infrastructure for OCaml
lwt 2.5.2 A cooperative threads library for OCaml
magic-mime 1.0.0 Convert file extensions to MIME types
markup 0.7.2 Error-recovering functional HTML5 and XML pa
merlin 2.3.1 Editor helper, provides completion, typing a
mirage-no-xen 1 Virtual package conflicting with mirage-xen
mirage-tc 0.3.0 MirageOS type-classes
mstruct 1.3.2 Mstruct is a thin mutable layer on top of cs
mtime 0.8.3 Monotonic wall-clock time for OCaml
nocrypto 0.5.3 Small functional-style crypto library.
oasis 0.4.6 Architecture for building OCaml libraries an
ocaml-data-notation 0.0.11 Store data using OCaml notation
ocamlbuild 0 Build system distributed with the OCaml comp
ocamlfind 1.6.2 A library manager for OCaml
ocamlgraph 1.8.6 A generic graph library for OCaml
ocamlify 0.0.1 Include files in OCaml code
ocamlmod 0.0.8 Generate OCaml modules from source files
ocp-build 1.99.16-beta Project manager for OCaml
ocp-indent 1.5.2 A simple tool to indent OCaml programs
ocplib-endian 0.8 Optimised functions to read and write int16/
omake 0.9.8.6-0.rc1 Build system designed for scalability and po
opium 0.15.0 Sinatra like web toolkit based on Lwt + Coht
ounit 2.0.0 Unit testing framework loosely based on HUni
ppx_core 113.33.03 Standard library for ppx rewriters
ppx_deriving 3.3 Type-driven code generation for OCaml >=4.02
ppx_deriving_yojson 2.4 JSON codec generator for OCaml >=4.02
ppx_driver 113.33.03 Feature-full driver for OCaml AST transforme
ppx_fields_conv 113.33.03 Generation of accessor and iteration functio
ppx_optcomp 113.33.03 Optional compilation for OCaml
ppx_sexp_conv 113.33.03 Generation of S-expression conversion functi
ppx_tools 5.0+4.02.0 Tools for authors of ppx rewriters and other
ppx_type_conv 113.33.03 Support Library for type-driven code generat
ptime 0.8.0 POSIX time for OCaml
re 1.6.0 RE is a regular expression library for OCaml
react 1.2.0 Declarative events and signals for OCaml
result 1.2 Compatibility Result module
sexplib 113.33.03 Library for serializing OCaml values to and
stringext 1.4.2 Extra string functions for OCaml
syndic 1.5 RSS1, RSS2, Atom and OPML1 parsing
tgls 0.8.3 Thin bindings to OpenGL {3,4} and OpenGL ES
topkg 0.7.2 The transitory OCaml software packager
tsdl 0.9.0 Thin bindings to SDL for OCaml
type_conv 113.00.02 Library for building type-driven syntax exte
tyxml 4.0.0 TyXML is a library for building statically c
tyxml-ppx 4.0.0 Virtual package for tyxml's ppx
uri 1.9.2 RFC3986 URI/URL parsing library
utop 1.19.2 Universal toplevel for OCaml
uutf 0.9.4 Non-blocking streaming Unicode codec for OCa
xmlm 1.2.0 Streaming XML codec for OCaml
yojson 1.3.2 Yojson is an optimized parsing and printing
zarith 1.4.1 Implements arithmetic and logical operations
zed 1.4 Abstract engine for text edition in OCaml
Perhaps the version of
tsdl
is out of sync? Here're various outputs that might help: