Knowledge Base
Searching in : Article
ID: AR09K00690
Applies to: NoMachine Software
Added on: 2013-09-30
Last Update: 2024-11-27

How to compile Open Source Software Components version 4

Download the source package to your working directory and extract it.

Software components should compile by running commands:

./configure
make

Some specific instructions are issued for components listed below.

Instructions for Windows drivers assume to build in Windows Driver Development Kit environment and are indicated as WDDK.

ffmpeg

In order to compile ffmpeg according to instructions below, please be sure to have NoMachine client or any of the NoMachine server products installed.

 Linux:
./configure --disable-everything --disable-debug --disable-doc --disable-static --disable-avdevice --disable-avformat --disable-avfilter --disable-swresample --disable-swscale --disable-postproc --enable-decoder=h264 --enable-shared --enable-pic --shlibdir=NX_INSTALLATION_DIR   && make && make install

where NX_INSTALLATION_DIR  is the NoMachine client installation directory, e.g. /usr/NX on Linux.

 

Mac OS X:
./configure --disable-everything --disable-debug --disable-programs --disable-doc --disable-static --disable-avdevice --disable-avformat --disable-avfilter --disable-swresample --disable-swscale --disable-postproc --enable-decoder=h264 --enable-shared --enable-pic --shlibdir=NX_INSTALLATION_DIR/Contents/Frameworks/lib  && make && make install

where NX_INSTALLATION_DIR  is the NoMachine client installation directory.

 

Windows:

./configure --disable-everything --disable-debug --disable-programs --disable-doc --disable-static --disable-avdevice --disable-avformat --disable-avfilter --disable-swresample --disable-swscale --disable-postproc --enable-decoder=h264 --enable-shared --enable-pic  --cross-prefix=i686-pc-mingw32-  --pkg-config=pkg-config  --arch=x86  --target-os=mingw32 --enable-memalign-hack   --shlibdir=NX_INSTALLATION_DIR/bin && make && make install

where NX_INSTALLATION_DIR  is the NoMachine client installation directory.

IMPORTANT NOTE  for compilation under Cygwin only

If you are using gcc version > 4 , you can get an errors like:

./libavutil/libm.h:67: error: static declaration of 'lrint' follows non-static declaration

If such error appears,  it's neccessary to manually edit config.h (which was generated by  the configure script) and enable such defines that are causing problems (for 'lrint', enable HAVE_LRINT), i.e.:

#define HAVE_LRINT 1

Once you have fixed all errors by enabling the correspondent defines, run 'make' again.
 

libx264

Move to the x264 directory, run './configure' with options  listed below and  'make':

     * --disable-cli
     * --enable-shared
     * --disable-avs
     * --disable-swscale
     * --disable-lavf
     * --disable-ffms
     * --disable-gpac
     * --cross-prefix=i686-pc-mingw32- (for Windows only)
     * --enable-win32thread            (for Windows only)

     Linux:
     * --libdir=NX_INSTALLATION_DIR/lib

     Windows:
     * --libdir=NX_INSTALLATION_DIR/bin

     Mac:
     * --libdir=NX_INSTALLATION_DIR/Contents/Frameworks/lib

For example, to compile on Linux:

    ~: ./configure --disable-cli --enable-shared --disable-avs --disable-swscale --disable-lavf --disable-ffms --disable-gpac --libdir=/usr/NX/lib

    ~: make

When build completed successfully, install the x264 libraries by running 'make install'. This requires administrator privileges.

For example:

    ~: sudo make install


nxaudio

MacOS:
cd MacOSX && xcodebuild -project Source/Soundflower.xcodeproj -target nxaudioDriver -configuration Deployment build

nxfuse

Linux:
cd Linux && ./configure && make

Mac OS X:
cd MacOSX/fuse && ./configure && make
cd MacOSX/kext && xcodebuild ARCHS="i386 x86_64" VALID_ARCHS="i386 x86_64" MACOSX_DEPLOYMENT_TARGET="10.5"
    CONFIGURATION_BUILD_DIR="./build" -sdk=macosx10.6

Windows:
WDDK cd Win/Source/dokan && build
WDDK cd Win/Source/dokan_mount && build
WDDK cd Win/Source/sys && build

nxspool

Linux:
./configure --without-ldap --without-ads --without-smbmount --without-cifsmount --without-sys-quotas --without-utmp
    --without-libmsrpc --without-libaddns --without-libsmbclient --without-libsmbsharemodes --without-winbind  --without-smbd && make

nxssh

Linux:
./configure && make

nxtun

Windows:
WDDK cd Win/Drivers && build