It is currently Thu, 18-07-19, 19:30 GMT

All times are UTC




Post new topic Reply to topic  [ 336 posts ]  Go to page 1, 2, 3, 4, 5 ... 23  Next
Author Message
PostPosted: Wed, 22-10-08, 20:40 GMT 
Offline
Site Admin
User avatar

Joined: Fri, 31-08-07, 7:01 GMT
Posts: 4629
Location: Hamburg, Germany
Hi all,

after the excellent OpenSource and cross-platform NVIDIA texture tools 2 (NVTT)

http://code.google.com/p/nvidia-texture-tools/

are now in a quite mature stage of development, I took the initiative and added direct high-quality DXT output to my VT texture tools. Notably since the DXT functionality may now be implemented simply via a shared library just like the PNG library or others...

You are welcome to test the new DXT output before I'll publsh a final release 2.0.

Throughout, you may choose between a high-quality (but slower) DXT compressor and a fast and still decent quality one. By default I have configured the high-quality DXT option everywhere.

What is new are mainly two VT tiling applications with direct DXT output,

  • In nmtools 2.0pre1: nmtilesDXT, which has the same functionalities as the familiar main normalmap tiling program nmtiles, except that it now writes out the tiles directly in the high-quality dedicated normalmap format DXT5nm that Celestia supports.
  • In F-TexTools 2.0pre1: txtilesDXT, which analogously serves to DXT compress base texture and other tiles in high-quality DXT1 and DXT3/DXT5 format for RGB and RGBA textures, respectively.

So far I provide besides the sources, binaries for Windows and for Linux. That's all I can do myself.

+++++++++++++++++++
I sincerely hope that again DW (aka Dirkpitt) will jump in and port everyting to MAC OS in a short while. ;-)
+++++++++++++++++++

Please find the packages for download here:

NmTools-2.0pre1

F-TexTools-2.0pre1


Installation is simple:
=================

  • Windows: I made again an installer, so you just need to double-click the NmTools-2.0pre1.exe and F-TexTools-2.0pre1.exe files in the respective Win32_PC.bin subdirectories. Then as a check for correct installation type the application names nmtilesDXT and txtilesDXT at the Windows console prompt. You should get a help text, explaining the various command-line parameters.
  • Linux: Here, I also tried to make things simple, at least for people who can use my binaries generated with the SUSE 10.3 distribution. Change directory to src and type make install in the console. Again, type in the names nmtilesDXT and txtilesDXT and watch out for respective help texts. After that you should be ready to go.

    [EDIT:] For my binary Linux release it is assumed that BOTH packages:

    OpenEXR-devel-1.4.0a-36
    OpenEXR-1.4.0a-36

    are installed. This package contains a number of shared libraries that you need in the version *.so.4. In OpenSuse 10.3 more than 100 applications depend on this package in some way.

    If your Linux version is NOT compatible with my binaries, then you have to build the tools by typing 'make' in the src directory. But before that you will have to build the nvidia-texture tools 2 from source and install them. Again you need to have OpenEXR installed, possibly in a lower version, e.g. 1.2.2.

    It's kind of easy, see here (and all the posts further below with cartrite ;-) )
    http://code.google.com/p/nvidia-texture-tools/


Altogether, the performance is pretty good. So just let me know how things go before I provide further tips...

Enjoy,
Fridger


Last edited by t00fri on Mon, 27-10-08, 20:47 GMT, edited 3 times in total.

Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 0:14 GMT 
Offline
User avatar

Joined: Thu, 25-10-07, 15:20 GMT
Posts: 992
Location: NE PA, USA
Hi Fridger,
Unfortunately, calling these tools gives me an error.
Code:
nmtilesDXT: error while loading shared libraries: libImath.so.4: cannot open shared object file: No such file or directory

I guess this means I'll have to build them. But I was almost never, and still not able to, build the "nvidia-texture-tools". I get errors at the end while building main.cpp. I think that this is required to build the FTex and NMTools with the dxt formats?
I'm going to look into why I couldn't build the "nvidia-texture-tools" It has something to do with QT.
I did get the 2.0.1 version of "nvidia-texture-tools" built but I can't remember what I did to get them to work. That was ages ago. I think I may have skipped building something. :?: :?: :?:
cartrite


Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 6:27 GMT 
Offline
User avatar

Joined: Sat, 13-10-07, 18:18 GMT
Posts: 373
Again, I appreciate all of your work here Good Doctor... :)

Have downloaded and will install later today. If anyone can find anything
wrong with your tools, it's me. :wink:

Be that as it may, however, please accept my everlasting appreciation for
your work here.

Thanks again, Brain-Dead


Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 8:58 GMT 
Offline
Site Admin
User avatar

Joined: Fri, 31-08-07, 7:01 GMT
Posts: 4629
Location: Hamburg, Germany
cartrite wrote:
Hi Fridger,
Unfortunately, calling these tools gives me an error.
Code:
nmtilesDXT: error while loading shared libraries: libImath.so.4: cannot open shared object file: No such file or directory

I guess this means I'll have to build them. But I was almost never, and still not able to, build the "nvidia-texture-tools". I get errors at the end while building main.cpp. I think that this is required to build the FTex and NMTools with the dxt formats?
I'm going to look into why I couldn't build the "nvidia-texture-tools" It has something to do with QT.
I did get the 2.0.1 version of "nvidia-texture-tools" built but I can't remember what I did to get them to work. That was ages ago. I think I may have skipped building something. :?: :?: :?:
cartrite


Steven,

that is unfortunate, since you even got SuSE 10.x? Of course, you can easily solve that problem, by just installing the missing package:

OpenEXR-1.4.0a-36...rpm

------------------
OpenEXR is a high dynamic-range (HDR) image file format developed by
Industrial Light & Magic for use in computer imaging applications.
------------------

But I had NO idea, really, why this stuff was needed in libnvtt.so. But reading a bit further in OpenEXR, it says:

* exrheader, a utility for dumping header information
* exrstdattr, a utility for modifying OpenEXR standard attributes
* exrmaketiled, for generating tiled and rip/mipmapped images
* exrenvmap, for creating OpenEXR environment maps
* exrmakepreview, for creating preview images for OpenEXR files

Hmm...

+++++++++++++++++++++++++
Just for trying out quickly, I have put all the required shared OpenEXR libs from that package into the following archive

http://www.celestialmatters.org/users/t ... edlibs.tgz

After downloading, you may place them by hand into /usr/local/lib, type

> ldconfig

and things should work. Let me know...
++++++++++++++++++++++++

I just note with horror via 'smart' that in my updated SuSE 10.3 110 applications depend on that package in some way!!! This includes KDE stuff, Openoffice, amarok and much more. So how could you exist in SuSE 10.x without having this installed?? Probably, you got it, too, but in an earlier version. For my DXT binaries you need *.so.4.

I also can hardly deinstall that library, since then 110 important applications would be deinstalled as well...

The building of NVTT 2 under Linux is very easy. Of course the cmake package must be installed. Download a fresh archive 2.0.4, unpack and do

> ./configure
> make
> make install.

This first builds the static libnvtt.a and some other dependences.

Next there is a small catch with building the shared libnvtt.so.

During my mail exchange with Ignacio Castano, it turned out that a small patch was required, which you can add by hand:

in src/nvtt/CMakeLists.txt

replace

ADD_LIBRARY(nvtt SHARED ${DXT_SRCS})

by

ADD_LIBRARY(nvtt SHARED ${NVTT_SRCS})

then in the root dir of NVTT (where configure is), type

> cmake -DNVTT_SHARED=1 -G "Unix Makefiles"

and watch the system to be reconfigured. Then type

> make
> make install

and you got your libnvtt.so in /usr/local/lib. Of course, for activation, you must type

> ldconfig

as usual.

However, for reasons of speed it is paramount to set the appropriate optimizations! This depends on your CPU...

You can try out a few possibilities by editing cmake/OptimalOptions.cmake

I have taken

IF(NV_SYSTEM_PROCESSOR STREQUAL "i686")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse -march=pentium4 -msse2")

If you got an Intel Prescott CPU, -march=prescott
seems very good. You may also try -msse3 if your machine understands it.


Anyway, the installation of my stuff under Windows should go without any problems... My new DXT tools really run fast under Windows on my 2GHz Core2Duo in my Dell Laptop.

Good luck,
Fridger


Last edited by t00fri on Thu, 23-10-08, 9:56 GMT, edited 4 times in total.

Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 9:03 GMT 
Offline
Site Admin
User avatar

Joined: Fri, 31-08-07, 7:01 GMT
Posts: 4629
Location: Hamburg, Germany
BobHegwood wrote:
Again, I appreciate all of your work here Good Doctor... :)

Have downloaded and will install later today. If anyone can find anything
wrong with your tools, it's me. :wink:

Be that as it may, however, please accept my everlasting appreciation for
your work here.

Thanks again, Brain-Dead



Fine, Bob,

you might well be the first to try the Windows setup out. I'll be VERY interested. Notably since you got Vista! I have no tests about Vista so far.

Fridger


Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 9:41 GMT 
Offline
Site Admin
User avatar

Joined: Fri, 31-08-07, 7:01 GMT
Posts: 4629
Location: Hamburg, Germany
The real fun with my new nmtilesDXT/txtilesDXT tools should start in case you have a CUDA-enabled GPU, typically a Geforce 8x00 or better. Then with a CUDA enabled driver, the DXT compression is performed by your GPU rather than the CPU, leading to a >= 10x faster performance of the VT tile generation!!

Since, despite my present high-quality <=> "slow-mode" default DXT compression settings, the entire dds generation of a 64k normalmap VT set does not take more than 15 minutes with my Core 2 Duo, with CUDA enabled and a 8800GTX this might well shrink to only a couple of minutes!! Certainly then a do-it-yourself VT production is way faster than downloading such a huge multi GB archive of DDS tiles...

Here is the standard NVIDIA comparison ad:

Image

Unfortunately, I cannot test this (yet) myself since my GPU is old and NOT CUDA enabled. There is a complete list of CUDA enabled GPU's here

http://www.nvidia.com/object/cuda_learn_products.html

Unfortunately the Quadro NVS 110M card in my DELL Laptop just missed being CUDA enabled.

So I am very curious to hear from people willing to experiment a bit with CUDA, whether there is a substantial speed increase in nmtilesDXT/txtilesDXT this way.

Since I cannot test it myself, there might still some small configuration twist necessary in my sources. But for Windows, I have added a cudart.dll that should enable automatically GPU support -- if possible -- and provided the appropriate graphics driver is installed...


Fridger


Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 10:31 GMT 
Offline
Site Admin
User avatar

Joined: Fri, 31-08-07, 7:01 GMT
Posts: 4629
Location: Hamburg, Germany
Here are some further ideas that might become really interesting once GPU support of DXT compression has become standard:

We might offer for download the following preprocessed RAW 64k texture data along with a single trivial script ("do_it.bat"). Like so

-----------------------------------Nm.1k.zip------------------------------
Nm.1k:

do_it.bat level0 level1 level2 level3 level4 level5

Nm.1k/level0:
srtm_ramp2.world.2k-le.bin.gz

Nm.1k/level1:
srtm_ramp2.world.4k-le.bin.gz

Nm.1k/level2:
srtm_ramp2.world.8k-le.bin.gz

Nm.1k/level3:
srtm_ramp2.world.16k-le.bin.gz

Nm.1k/level4:
srtm_ramp2.world.32k-le.bin.gz

Nm.1k/level5:
srtm_ramp2.world.64k-le.bin.gz
----------------------------------------------------------------------------

For a 64k "monster" normalmap, the corresponding Nm.1k.zip
would "only" be 1.04 GB in size. In any OS, all you got to do after download would be to hit at your console prompt

> do_it.bat

do_it.bat would simply and successively call the nmtilesDXT utility in each level* subdirectory.

For example in level5,

gzip -dc < srtm_ramp2.world.64k-le.bin.gz | nmtilesDXT 5 6378.140 65536 2.5


With CUDA, the entire job of generating the full DXT5nm higth-quality VT archive of size 14.5 GB would complete in only about 2 minutes, say !!

The conceptional advantage here is not only the large saving of download files, but also that you get the ORIGINAL data, whence any later improvements changes etc, would NOT require ANY further download. Just another run for a couple of minutes...

How about such a policy?

Fridger


Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 13:43 GMT 
Offline
User avatar

Joined: Thu, 25-10-07, 15:20 GMT
Posts: 992
Location: NE PA, USA
This will take a while to ingest so.........
OpenEXR. I have it installed on my system but it is not found when building the nvidia toolkit. I have versions 1.2.2-36 x86_64 for OpenEXR and OpenEXR-32bit. I'll try your version but it scares me to think that it may cause conflicts. This may explain a few things though.

I am able to build nvidia-texture-tools if I remove the last section from the file CMakeLists.txt that builds the UI if QT4 is found. I've tried to point it to the QT4.3.3 that I've installed but it always finds the QT4.1 version that came with Suse. This causes it to fail building the UI.

After I remove that section from CMakeLists.txt, I can build the 4 programs and install them but when I try to build the FTex and NMTools, I get an error that I used to get when building the older nvidia-texture-tools. To paraphrase, It says that my cpu instuction set is not supported.

I saw your posts at NVidia and tried to build shared libraries. But this also failed when linking nvtt.

I'll give this newer version of OpenEXR and see if that helps.

cartrite


Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 14:09 GMT 
Offline
Site Admin
User avatar

Joined: Fri, 31-08-07, 7:01 GMT
Posts: 4629
Location: Hamburg, Germany
cartrite wrote:
This will take a while to ingest so.........
OpenEXR. I have it installed on my system but it is not found when building the nvidia toolkit. I have versions 1.2.2-36 x86_64 for OpenEXR and OpenEXR-32bit.

Then you just start the cmake-GUI with cmake -i and browse to where your QT version is located. You select qmake, configure (the button in the cmake GUI) and see whether all red fields become gray. Than hit the OK button and make...
Quote:

I'll try your version but it scares me to think that it may cause conflicts. This may explain a few things though.

yes it may, but just for trying, it can't hurt...
Quote:
I am able to build nvidia-texture-tools if I remove the last section from the file CMakeLists.txt that builds the UI if QT4 is found. I've tried to point it to the QT4.3.3 that I've installed but it always finds the QT4.1 version that came with Suse. This causes it to fail building the UI.

The Qt GUI is irrelevant. It's entirely experimental and does not do anything sensible so far. You can just deactivate for now.
Quote:
After I remove that section from CMakeLists.txt, I can build the 4 programs and install them but when I try to build the FTex and NMTools, I get an error that I used to get when building the older nvidia-texture-tools. To paraphrase, It says that my cpu instuction set is not supported.

As long as you don't have libnvtt.so in /usr/local/lib (but only the static one) you will get lots of errors. Thisd will all go away once you have libnvtt.so there.
Quote:
I saw your posts at NVidia and tried to build shared libraries. But this also failed when linking nvtt.

Do it strictly as I wrote above:
========================

1) build the static libnvtt just via

./configure
make
make install

in the NVTT root dir.

That stuff will be installed in /usr/local/lib/static

2) use the commandline, like so in the NVTT root dir:

cmake -DNVTT_SHARED=1 -G "Unix Makefiles"

and then hit

make
make install.

Fridger


Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 14:15 GMT 
Offline
User avatar

Joined: Thu, 25-10-07, 15:20 GMT
Posts: 992
Location: NE PA, USA
I tried the shared libs and I still get that error saying that the x86_64 instruction set is not supported when I try to build both the nmtools of ftex-tools.

I also tried to build shared libs via your method and I get the same errors as I got with the modified configure that I used from the NVidia site.

I think I'll put this on the back burner for now and try the Windows version of your tools.

It's funny though. Last February, I built the 2.0.1 version of nvidia-texture-tools and was able to create dxt3 and dxt5nm files. I can probably do that with the 2.0.4 version too but I'll have to use scripts on the Linux system.
cartrite


Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 14:50 GMT 
Offline
Site Admin
User avatar

Joined: Fri, 31-08-07, 7:01 GMT
Posts: 4629
Location: Hamburg, Germany
cartrite wrote:
I tried the shared libs and I still get that error saying that the x86_64 instruction set is not supported.


Hmm, but that is strange, since in cmake/OptimalOptions.cmake there are even various possible optimization settings under cmake for Linux:

IF(NV_SYSTEM_PROCESSOR STREQUAL "x86_64")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=athlon64")
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=athlon64 -msse3")
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "x86_64")

That would not make much sense if x86_64 were not supported!?

Probably you have to first adapt the architecture to -march=athlon64?

I proposed optimizations to you above, not knowing that you got a 64bit machine...

Quote:
I also tried to build shared libs via your method and I get the same errors as I got with the modified configure that I used from the NVidia site.

see my remark above: you need to configure to -march=athlon64 or similar!
Quote:
I think I'll put this on the back burner for now and try the Windows version of your tools.

Well, too bad. Would be nice to know...

Quote:
It's funny though. Last February, I built the 2.0.1 version of nvidia-texture-tools and was able to create dxt3 and dxt5nm files. I can probably do that with the 2.0.4 version too but I'll have to use scripts on the Linux system.
cartrite


Yes but this takes at least twice the time since you first output ~ 3000 PNG's and then you have to convert them to DXT5nm...

The whole point about the new tools is that internally this goes MUCH faster and costs much less storage. I actually have pretty "normal" systems (Linux, Windows) and did not encounter any particular problems in this whole process of building.

Good luck,
Fridger


Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 15:12 GMT 
Offline
User avatar

Joined: Thu, 25-10-07, 15:20 GMT
Posts: 992
Location: NE PA, USA
I think my problem is that the nvidia-texture-tools were written against the newest version of development files and I'm using an older set with Suse10.2.

I'll try to use your suggestions though. I would really like to get this to work on Linux because I only use Windows to build and sometimes test Celestia. All the programs I run daily run on Linux and not Windows. My Windows OS is also 32bit which doesn't even use the CPU's potential or the 4gb of ram I have installed.
cartrite


Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 15:20 GMT 
Offline
Site Admin
User avatar

Joined: Fri, 31-08-07, 7:01 GMT
Posts: 4629
Location: Hamburg, Germany
cartrite wrote:
I think my problem is that the nvidia-texture-tools were written against the newest version of development files and I'm using an older set with Suse10.2.

I'll try to use your suggestions though. I would really like to get this to work on Linux because I only use Windows to build and sometimes test Celestia. All the programs I run daily run on Linux and not Windows. My Windows OS is also 32bit which doesn't even use the CPU's potential or the 4gb of ram I have installed.
cartrite


Here is another suggestion grown out of my own experience while practicing with cmake:

Retain a FRESH nvidia-texture-tools archive. Start always from a fresh one after several unsuccessful attempts. This is much safer and costs virtually NO time.

So again unpack a fresh 2.04, implement the little patch in src/nvtt/CMakeLists.txt
and then try a straight static build first:

./configure
make
make install

If this was successful, enter the commandline

cmake -DNVTT_SHARED=1 -G "Unix Makefiles"
make
make install

That's all there is.

If this works with libnvtt.so in /usr/local/lib, then you tune the optimizations and see what happens.

Fridger


Last edited by t00fri on Thu, 23-10-08, 22:49 GMT, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 15:42 GMT 
Offline
User avatar

Joined: Thu, 25-10-07, 15:20 GMT
Posts: 992
Location: NE PA, USA
No matter what I do and how I do it, I get this error while trying to build shared libs.
Quote:
Linking CXX shared library libnvtt.so
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: /home/cartrite/share/nvidia/nvidia-texture-tools/src/nvcore/libnvcore.a(Memory.o): relocation R_X86_64_32 against `__gxx_personality_v0' can not be used when making a shared object; recompile with -fPIC
/home/cartrite/share/nvidia/nvidia-texture-tools/src/nvcore/libnvcore.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [src/nvtt/libnvtt.so] Error 1
make[1]: *** [src/nvtt/CMakeFiles/nvtt.dir/all] Error 2
make: *** [all] Error 2

cartrite


Top
 Profile  
 
 Post subject:
PostPosted: Thu, 23-10-08, 16:19 GMT 
Offline
Site Admin
User avatar

Joined: Fri, 31-08-07, 7:01 GMT
Posts: 4629
Location: Hamburg, Germany
cartrite wrote:
No matter what I do and how I do it, I get this error while trying to build shared libs.
Quote:
Linking CXX shared library libnvtt.so
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: /home/cartrite/share/nvidia/nvidia-texture-tools/src/nvcore/libnvcore.a(Memory.o): relocation R_X86_64_32 against `__gxx_personality_v0' can not be used when making a shared object; recompile with -fPIC
/home/cartrite/share/nvidia/nvidia-texture-tools/src/nvcore/libnvcore.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [src/nvtt/libnvtt.so] Error 1
make[1]: *** [src/nvtt/CMakeFiles/nvtt.dir/all] Error 2
make: *** [all] Error 2

cartrite


Too bad, no idea what all this is supposed to mean:

Here is the output that I get starting from a FRESH nvidia-texture-tools 2.0.4 archive:


1) ./configure
-- Configuring nvidia-texture-tools 2.0.4
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Setting optimal options
-- Processor: i686
-- Compiler Flags: -march=i686
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/libX11.so
-- Looking for OpenGL - found
-- Looking for GLUT - found
-- Looking for DirectX - not found
-- Looking for GLEW - not found
-- Looking for Cg - not found
-- Looking for CUDA - not found
-- Looking for Maya - not found
-- Found JPEG: /usr/lib/libjpeg.so
-- Looking for JPEG - found
-- Found ZLIB: /usr/lib/libz.so
-- Found PNG: /usr/lib/libpng.so
-- Looking for PNG - found
-- Found TIFF: /usr/lib/libtiff.so
-- Looking for TIFF - found
-- Found OpenEXR: /usr/lib/libIlmImf.so
-- Looking for OpenEXR - found
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt-Version 4.3.1
-- Found OpenSSL: /usr/lib/libssl.so
-- Looking for _POSIX_TIMERS
-- Looking for _POSIX_TIMERS - found
-- Looking for include files CMAKE_HAVE_PTHREAD_H
-- Looking for include files CMAKE_HAVE_PTHREAD_H - found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for include files HAVE_UNISTD_H
-- Looking for include files HAVE_UNISTD_H - found
-- Looking for include files HAVE_STDARG_H
-- Looking for include files HAVE_STDARG_H - found
-- Looking for include files HAVE_SIGNAL_H
-- Looking for include files HAVE_SIGNAL_H - found
-- Looking for include files HAVE_EXECINFO_H
-- Looking for include files HAVE_EXECINFO_H - found
-- Looking for include files HAVE_MALLOC_H
-- Looking for include files HAVE_MALLOC_H - found
-- Configuring done
-- Generating done
-- Build files have been written to: /root/nvidia-texture-tools/build

Your configure completed successfully, now type make

2) make

Scanning dependencies of target nvcore
[ 1%] Building CXX object src/nvcore/CMakeFiles/nvcore.dir/Memory.o
[ 3%] Building CXX object src/nvcore/CMakeFiles/nvcore.dir/Debug.o
[ 5%] Building CXX object src/nvcore/CMakeFiles/nvcore.dir/StrLib.o
[ 7%] Building CXX object src/nvcore/CMakeFiles/nvcore.dir/TextReader.o
[ 9%] Building CXX object src/nvcore/CMakeFiles/nvcore.dir/TextWriter.o
[ 11%] Building CXX object src/nvcore/CMakeFiles/nvcore.dir/Radix.o
Linking CXX static library libnvcore.a
[ 11%] Built target nvcore
Scanning dependencies of target nvmath
[ 12%] Building CXX object src/nvmath/CMakeFiles/nvmath.dir/Montecarlo.o
[ 14%] Building CXX object src/nvmath/CMakeFiles/nvmath.dir/Random.o
[ 16%] Building CXX object src/nvmath/CMakeFiles/nvmath.dir/SphericalHarmonic.o
[ 18%] Building CXX object src/nvmath/CMakeFiles/nvmath.dir/Basis.o
[ 20%] Building CXX object src/nvmath/CMakeFiles/nvmath.dir/Triangle.o
[ 22%] Building CXX object src/nvmath/CMakeFiles/nvmath.dir/TriBox.o
Linking CXX static library libnvmath.a
[ 22%] Built target nvmath
Scanning dependencies of target posh
[ 24%] Building C object src/nvcore/poshlib/CMakeFiles/posh.dir/posh.o
Linking C static library libposh.a
[ 24%] Built target posh
Scanning dependencies of target nvimage
[ 25%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/FloatImage.o
[ 27%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/Filter.o
[ 29%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/Image.o
[ 31%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/ImageIO.o
[ 33%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/ColorBlock.o
[ 35%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/BlockDXT.o
[ 37%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/HoleFilling.o
[ 38%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/DirectDrawSurface.o
[ 40%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/Quantize.o
[ 42%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/NormalMap.o
[ 44%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/NormalMipmap.o
Linking CXX static library libnvimage.a
[ 44%] Built target nvimage
Scanning dependencies of target filtertest
[ 46%] Building CXX object src/nvtt/CMakeFiles/filtertest.dir/tests/filtertest.o
Linking CXX executable filtertest
[ 46%] Built target filtertest
Scanning dependencies of target nvassemble
[ 48%] Building CXX object src/nvtt/CMakeFiles/nvassemble.dir/tools/assemble.o
Linking CXX executable nvassemble
[ 48%] Built target nvassemble
Scanning dependencies of target squish
[ 50%] Building CXX object src/nvtt/squish/CMakeFiles/squish.dir/fastclusterfit.o
[ 51%] Building CXX object src/nvtt/squish/CMakeFiles/squish.dir/weightedclusterfit.o
[ 53%] Building CXX object src/nvtt/squish/CMakeFiles/squish.dir/colourblock.o
[ 55%] Building CXX object src/nvtt/squish/CMakeFiles/squish.dir/colourfit.o
[ 57%] Building CXX object src/nvtt/squish/CMakeFiles/squish.dir/colourset.o
[ 59%] Building CXX object src/nvtt/squish/CMakeFiles/squish.dir/maths.o
Linking CXX static library libsquish.a
[ 59%] Built target squish
Scanning dependencies of target nvtt
[ 61%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/nvtt.o
[ 62%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/Compressor.o
[ 64%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/nvtt_wrapper.o
[ 66%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/CompressDXT.o
[ 68%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/CompressRGB.o
[ 70%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/QuickCompressDXT.o
[ 72%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/OptimalCompressDXT.o
[ 74%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/CompressionOptions.o
[ 75%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/InputOptions.o
[ 77%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/OutputOptions.o
[ 79%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/cuda/CudaUtils.o
[ 81%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/cuda/CudaCompressDXT.o
Linking CXX static library libnvtt.a
[ 81%] Built target nvtt
Scanning dependencies of target nvcompress
[ 83%] Building CXX object src/nvtt/CMakeFiles/nvcompress.dir/tools/compress.o
Linking CXX executable nvcompress
[ 83%] Built target nvcompress
[ 85%] Generating tools/moc_configdialog.cxx
[ 87%] Generating ui_configdialog.h
Warning: name widget is already used
Warning: name widget is already used
Warning: name widget is already used
Scanning dependencies of target nvcompressui
[ 88%] Building CXX object src/nvtt/CMakeFiles/nvcompressui.dir/tools/main.o
[ 90%] Building CXX object src/nvtt/CMakeFiles/nvcompressui.dir/tools/configdialog.o
[ 92%] Building CXX object src/nvtt/CMakeFiles/nvcompressui.dir/tools/moc_configdialog.o
Linking CXX executable nvcompressui
[ 92%] Built target nvcompressui
Scanning dependencies of target nvddsinfo
[ 94%] Building CXX object src/nvtt/CMakeFiles/nvddsinfo.dir/tools/ddsinfo.o
Linking CXX executable nvddsinfo
[ 94%] Built target nvddsinfo
Scanning dependencies of target nvdecompress
[ 96%] Building CXX object src/nvtt/CMakeFiles/nvdecompress.dir/tools/decompress.o
Linking CXX executable nvdecompress
[ 96%] Built target nvdecompress
Scanning dependencies of target nvimgdiff
[ 98%] Building CXX object src/nvtt/CMakeFiles/nvimgdiff.dir/tools/imgdiff.o
Linking CXX executable nvimgdiff
[ 98%] Built target nvimgdiff
Scanning dependencies of target nvzoom
[100%] Building CXX object src/nvtt/CMakeFiles/nvzoom.dir/tools/resize.o
Linking CXX executable nvzoom
[100%] Built target nvzoom

+++++++++++++++++++++++++++
You see in this first default step (check red line), I build a STATIC libnvtt.a
+++++++++++++++++++++++++++

After implementing that mentioned small fix in src/nvtt/CMakeLists.txt, I enter the commandline

3) cmake -DNVTT_SHARED=1 -G "Unix Makefiles"

-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Setting optimal options
-- Processor: i686
-- Compiler Flags: -march=i686
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/libX11.so
-- Looking for OpenGL - found
-- Looking for GLUT - found
-- Looking for DirectX - not found
-- Looking for GLEW - not found
-- Looking for Cg - not found
-- Looking for CUDA - not found
-- Looking for Maya - not found
-- Found JPEG: /usr/lib/libjpeg.so
-- Looking for JPEG - found
-- Found ZLIB: /usr/lib/libz.so
-- Found PNG: /usr/lib/libpng.so
-- Looking for PNG - found
-- Found TIFF: /usr/lib/libtiff.so
-- Looking for TIFF - found
-- Found OpenEXR: /usr/lib/libIlmImf.so
-- Looking for OpenEXR - found
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt-Version 4.3.1
-- Found OpenSSL: /usr/lib/libssl.so
-- Looking for _POSIX_TIMERS
-- Looking for _POSIX_TIMERS - found
-- Looking for include files CMAKE_HAVE_PTHREAD_H
-- Looking for include files CMAKE_HAVE_PTHREAD_H - found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for include files HAVE_UNISTD_H
-- Looking for include files HAVE_UNISTD_H - found
-- Looking for include files HAVE_STDARG_H
-- Looking for include files HAVE_STDARG_H - found
-- Looking for include files HAVE_SIGNAL_H
-- Looking for include files HAVE_SIGNAL_H - found
-- Looking for include files HAVE_EXECINFO_H
-- Looking for include files HAVE_EXECINFO_H - found
-- Looking for include files HAVE_MALLOC_H
-- Looking for include files HAVE_MALLOC_H - found
-- Configuring done
-- Generating done
-- Build files have been written to: /root/nvidia-texture-tools

4) make

Scanning dependencies of target nvcore
[ 1%] Building CXX object src/nvcore/CMakeFiles/nvcore.dir/Memory.o
[ 3%] Building CXX object src/nvcore/CMakeFiles/nvcore.dir/Debug.o
[ 5%] Building CXX object src/nvcore/CMakeFiles/nvcore.dir/StrLib.o
[ 7%] Building CXX object src/nvcore/CMakeFiles/nvcore.dir/TextReader.o
[ 9%] Building CXX object src/nvcore/CMakeFiles/nvcore.dir/TextWriter.o
[ 11%] Building CXX object src/nvcore/CMakeFiles/nvcore.dir/Radix.o
Linking CXX static library libnvcore.a
[ 11%] Built target nvcore
Scanning dependencies of target nvmath
[ 12%] Building CXX object src/nvmath/CMakeFiles/nvmath.dir/Montecarlo.o
[ 14%] Building CXX object src/nvmath/CMakeFiles/nvmath.dir/Random.o
[ 16%] Building CXX object src/nvmath/CMakeFiles/nvmath.dir/SphericalHarmonic.o
[ 18%] Building CXX object src/nvmath/CMakeFiles/nvmath.dir/Basis.o
[ 20%] Building CXX object src/nvmath/CMakeFiles/nvmath.dir/Triangle.o
[ 22%] Building CXX object src/nvmath/CMakeFiles/nvmath.dir/TriBox.o
Linking CXX static library libnvmath.a
[ 22%] Built target nvmath
Scanning dependencies of target posh
[ 24%] Building C object src/nvcore/poshlib/CMakeFiles/posh.dir/posh.o
Linking C static library libposh.a
[ 24%] Built target posh
Scanning dependencies of target nvimage
[ 25%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/FloatImage.o
[ 27%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/Filter.o
[ 29%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/Image.o
[ 31%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/ImageIO.o
[ 33%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/ColorBlock.o
[ 35%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/BlockDXT.o
[ 37%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/HoleFilling.o
[ 38%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/DirectDrawSurface.o
[ 40%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/Quantize.o
[ 42%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/NormalMap.o
[ 44%] Building CXX object src/nvimage/CMakeFiles/nvimage.dir/NormalMipmap.o
Linking CXX static library libnvimage.a
[ 44%] Built target nvimage
Scanning dependencies of target filtertest
[ 46%] Building CXX object src/nvtt/CMakeFiles/filtertest.dir/tests/filtertest.o
Linking CXX executable filtertest
[ 46%] Built target filtertest
Scanning dependencies of target nvassemble
[ 48%] Building CXX object src/nvtt/CMakeFiles/nvassemble.dir/tools/assemble.o
Linking CXX executable nvassemble
[ 48%] Built target nvassemble
Scanning dependencies of target squish
[ 50%] Building CXX object src/nvtt/squish/CMakeFiles/squish.dir/fastclusterfit.o
[ 51%] Building CXX object src/nvtt/squish/CMakeFiles/squish.dir/weightedclusterfit.o
[ 53%] Building CXX object src/nvtt/squish/CMakeFiles/squish.dir/colourblock.o
[ 55%] Building CXX object src/nvtt/squish/CMakeFiles/squish.dir/colourfit.o
[ 57%] Building CXX object src/nvtt/squish/CMakeFiles/squish.dir/colourset.o
[ 59%] Building CXX object src/nvtt/squish/CMakeFiles/squish.dir/maths.o
Linking CXX static library libsquish.a
[ 59%] Built target squish
Scanning dependencies of target nvtt
[ 61%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/nvtt.o
[ 62%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/Compressor.o
[ 64%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/nvtt_wrapper.o
[ 66%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/CompressDXT.o
[ 68%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/CompressRGB.o
[ 70%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/QuickCompressDXT.o
[ 72%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/OptimalCompressDXT.o
[ 74%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/CompressionOptions.o
[ 75%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/InputOptions.o
[ 77%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/OutputOptions.o
[ 79%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/cuda/CudaUtils.o
[ 81%] Building CXX object src/nvtt/CMakeFiles/nvtt.dir/cuda/CudaCompressDXT.o
Linking CXX shared library libnvtt.so
[ 81%] Built target nvtt
Scanning dependencies of target nvcompress
[ 83%] Building CXX object src/nvtt/CMakeFiles/nvcompress.dir/tools/compress.o
Linking CXX executable nvcompress
[ 83%] Built target nvcompress
[ 85%] Generating tools/moc_configdialog.cxx
[ 87%] Generating ui_configdialog.h
Warning: name widget is already used
Warning: name widget is already used
Warning: name widget is already used
Scanning dependencies of target nvcompressui
[ 88%] Building CXX object src/nvtt/CMakeFiles/nvcompressui.dir/tools/main.o
[ 90%] Building CXX object src/nvtt/CMakeFiles/nvcompressui.dir/tools/configdialog.o
[ 92%] Building CXX object src/nvtt/CMakeFiles/nvcompressui.dir/tools/moc_configdialog.o
Linking CXX executable nvcompressui
[ 92%] Built target nvcompressui
Scanning dependencies of target nvddsinfo
[ 94%] Building CXX object src/nvtt/CMakeFiles/nvddsinfo.dir/tools/ddsinfo.o
Linking CXX executable nvddsinfo
[ 94%] Built target nvddsinfo
Scanning dependencies of target nvdecompress
[ 96%] Building CXX object src/nvtt/CMakeFiles/nvdecompress.dir/tools/decompress.o
Linking CXX executable nvdecompress
[ 96%] Built target nvdecompress
Scanning dependencies of target nvimgdiff
[ 98%] Building CXX object src/nvtt/CMakeFiles/nvimgdiff.dir/tools/imgdiff.o
Linking CXX executable nvimgdiff
[ 98%] Built target nvimgdiff
Scanning dependencies of target nvzoom
[100%] Building CXX object src/nvtt/CMakeFiles/nvzoom.dir/tools/resize.o
Linking CXX executable nvzoom
[100%] Built target nvzoom

+++++++++++++++++++++++
as you can see from the red line, NOW we got the shared nvtt lib.
+++++++++++++++++++++++
Finally, I do

5) make install

[ 11%] Built target nvcore
[ 22%] Built target nvmath
[ 24%] Built target posh
[ 44%] Built target nvimage
[ 46%] Built target filtertest
[ 48%] Built target nvassemble
[ 59%] Built target squish
[ 81%] Built target nvtt
[ 83%] Built target nvcompress
[ 92%] Built target nvcompressui
[ 94%] Built target nvddsinfo
[ 96%] Built target nvdecompress
[ 98%] Built target nvimgdiff
[100%] Built target nvzoom
Linking CXX executable CMakeFiles/CMakeRelink.dir/nvassemble
Linking CXX executable CMakeFiles/CMakeRelink.dir/nvcompress
Linking CXX executable CMakeFiles/CMakeRelink.dir/nvddsinfo
Linking CXX executable CMakeFiles/CMakeRelink.dir/nvdecompress
Linking CXX executable CMakeFiles/CMakeRelink.dir/nvimgdiff
Linking CXX shared library CMakeFiles/CMakeRelink.dir/libnvtt.so
Linking CXX executable CMakeFiles/CMakeRelink.dir/nvzoom
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/lib/static/libnvcore.a
-- Installing: /usr/local/lib/static/libnvmath.a
-- Installing: /usr/local/lib/static/libnvimage.a
-- Installing: /usr/local/lib/libnvtt.so
-- Installing: /usr/local/include/nvtt/nvtt.h
-- Installing: /usr/local/bin/nvcompress
-- Installing: /usr/local/bin/nvdecompress
-- Installing: /usr/local/bin/nvddsinfo
-- Installing: /usr/local/bin/nvimgdiff
-- Installing: /usr/local/bin/nvassemble
-- Installing: /usr/local/bin/nvzoom

As you can see from the red line, we now got libnvtt.so! Inspection in /usr/local/lib gives

libnvtt.so

static:
libnvcore.a libnvimage.a libnvmath.a

Perfect. We have libnvtt.so as needed and 3 static libs in the static subdirectory.

++++++++++++++++++++++++++++++++++
You see, I just made 5 clicks and am done.
++++++++++++++++++++++++++++++++++

Note that this procedure does NOT require a particular Linux distribution! It only requires a CORRECTLY installed one. I doubt that the reason of your problems comes from your 64 bit CPU.

By the way, I am using cmake 2.6.2

Fridger


Last edited by t00fri on Fri, 24-10-08, 18:34 GMT, edited 1 time in total.

Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 336 posts ]  Go to page 1, 2, 3, 4, 5 ... 23  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group