Personal tools
The Open Lighting Project has moved!

We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.

Difference between revisions of "Libartnet on Windows"

From wiki.openlighting.org

Jump to: navigation, search
(Download Libartnet)
 
(8 intermediate revisions by 5 users not shown)
Line 2: Line 2:
 
(nicole-banana.com)
 
(nicole-banana.com)
  
This HOWTO outlines a method for compiling libartnet on Windows using MinGW (libartnet-1.dll).
+
This HOWTO outlines a method for compiling libartnet on Windows using MinGW to produce the libartnet-1.dll.
  
you'll need msys, mingw and autotools installed.
 
  
          o autoconf
+
== Install Mingw, msys & build tools ==
          o automake
 
          o libtool
 
         
 
This is the biggest part of the job.
 
  
 +
The instructions at http://www.mingw.org/wiki/MSYS are very helpful. There are similar instructions at http://www.cccp-project.net/wiki/index.php?title=Installing_MSYS-MinGW
  
== Download Libartnet ==
+
* Install mingw and msys
  
Sources (via git) - this will download latest libartnet version
+
* Download these packages
 +
** autoconf [http://ftp.gnu.org/gnu/autoconf/]
 +
** automake [http://ftp.gnu.org/gnu/automake/]
 +
** libtool [http://ftp.gnu.org/gnu/libtool/]
  
git clone http://www.nomis52.net/git/libartnet
+
* Launch the msys shell
  
== CHECK ==
+
* Unpack autoconf, automake and libtool to a directory of your choice.
  
edit libartnet/configure.in.
+
* Install each of them with the following command:
  
add AC_LIBTOOL_WIN32_DLL macro before AC_PROG_LIBTOOL if not present
+
$ ./configure --prefix=/mingw && make && make install
  
 +
* Update PKG_CONFIG_PATH
  
          o AC_PROG_CC
+
As all the libraries will be installed in /mingw, PKG_CONFIG_PATH must be set.
          o AC_PROG_INSTALL
 
          o AC_PROG_LN_S
 
          o AC_PROG_MAKE_SET
 
          o ''AC_LIBTOOL_WIN32_DLL''
 
          o AC_PROG_LIBTOOL
 
  
 +
Open the file /etc/profile (C:\msys\1.0\etc\profile) with your favorite editor (make sure it uses LF line endings) and add:
  
i did this with Bloc-notes because the way the file is recorded is important. you don't want \cr\lf end of lines, you just want \lf.
+
PKG_CONFIG_PATH="/mingw/lib/pkgconfig"
otherwise, you'll get errors like
 
  
' is already registered with AC_CONFIG_FILES.
+
You might also want to set CFLAGS. Safe options for MinGW are:
../../lib/autoconf/status.m4:305: AC_CONFIG_FILES is expanded from...
 
configure.in:76: the top level
 
  
 +
CFLAGS="-pipe -O2 -mms-bitfields -march=i686"
  
edit libartnet/artnet/Makefile.am, and check if libartnet_la_LDFLAGS look like this
+
just before
  
  libartnet_la_LDFLAGS = -no-undefined -liphlpapi -lnetapi32 -lcap -lws2_32 -ldpnet -version-info 1:0:0
+
  export HOME LOGNAME MSYSTEM HISTFILE
  
 +
and modify that line by adding the variables:
  
 +
export HOME LOGNAME MSYSTEM HISTFILE CFLAGS PKG_CONFIG_PATH
  
== Build ==
+
Now restart MSYS. You should now be able to use MSYS without problems.
 +
         
 +
This is the biggest part of the job.
  
now go to libartnet
+
== Install Git ==
  
$ cd libartnet
+
See http://code.google.com/p/msysgit/, be sure to select "unix style carriage returns" otherwise you'll get autoconf errors.
  
launch reconf script (autotools where installed in/c/MinGW, so i pass this prefix)
+
== Download Libartnet ==
  
$ reconf --prefix=/c/MinGW/
+
Grab the libarnet sources (via the git shell or the git UI)
configure.in:14: installing `./config.guess'
 
configure.in:14: installing `./config.sub'
 
configure.in:7: installing `./install-sh'
 
configure.in:15: required file `./ltmain.sh' not found
 
configure.in:7: installing `./missing'
 
artnet/Makefile.am: installing `./depcomp'
 
  
libtoolize everything to copy ./ltmain.sh
+
$ git clone https://github.com/OpenLightingProject/libartnet.git libartnet
  
$ libtoolize --force --copy
+
== Compile Libartnet ==
libtoolize: putting auxiliary files in `.'.
 
libtoolize: copying file `./ltmain.sh'
 
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in and
 
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
 
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
 
  
(i didn't set AC_CONFIG_MACRO_DIR([m4]) neither ACLOCAL_AMFLAGS)
+
$ cd libartnet
 
+
  $ autoreconf -i -f
re-launch reconf script
+
  $ ./configure --prefix=/mingw && make && make install
 
 
  $ reconf --prefix=/c/MinGW/
 
 
 
compile everything
 
 
 
  $ ./configure --prefix=/c/MinGW/ && make && make install
 
 
 
AC_PROG_LIBTOOL macro and -no-undefined flag cause libartnet to build as DLL
 

Latest revision as of 20:23, 19 January 2014

Written by sl1200mk2 2009/07/01. (nicole-banana.com)

This HOWTO outlines a method for compiling libartnet on Windows using MinGW to produce the libartnet-1.dll.


Install Mingw, msys & build tools

The instructions at http://www.mingw.org/wiki/MSYS are very helpful. There are similar instructions at http://www.cccp-project.net/wiki/index.php?title=Installing_MSYS-MinGW

  • Install mingw and msys
  • Download these packages
  • Launch the msys shell
  • Unpack autoconf, automake and libtool to a directory of your choice.
  • Install each of them with the following command:
$ ./configure --prefix=/mingw && make && make install
  • Update PKG_CONFIG_PATH

As all the libraries will be installed in /mingw, PKG_CONFIG_PATH must be set.

Open the file /etc/profile (C:\msys\1.0\etc\profile) with your favorite editor (make sure it uses LF line endings) and add:

PKG_CONFIG_PATH="/mingw/lib/pkgconfig"

You might also want to set CFLAGS. Safe options for MinGW are:

CFLAGS="-pipe -O2 -mms-bitfields -march=i686"

just before

export HOME LOGNAME MSYSTEM HISTFILE

and modify that line by adding the variables:

export HOME LOGNAME MSYSTEM HISTFILE CFLAGS PKG_CONFIG_PATH

Now restart MSYS. You should now be able to use MSYS without problems.

This is the biggest part of the job.

Install Git

See http://code.google.com/p/msysgit/, be sure to select "unix style carriage returns" otherwise you'll get autoconf errors.

Download Libartnet

Grab the libarnet sources (via the git shell or the git UI)

$ git clone https://github.com/OpenLightingProject/libartnet.git libartnet

Compile Libartnet

$ cd libartnet
$ autoreconf -i -f 
$ ./configure --prefix=/mingw && make && make install