Help compiling 3R9 for Linux

If anyone out there is willing to lend a hand, I'd like to compile Radiance under Linux for a 3.9 release. Please use whatever method you think will be most portable. If that requires static links, fine by me. I don't know Linux well enough to compile things portably, nor to I have convenient access to a machine to do so. The release source may be downloaded from:

  http://radsite.lbl.gov/radiance/dist/rad3R9.tar.gz

Please respond and CC the list before you begin, so we don't duplicate effort.

Thanks in advance,
-Greg

Greg,

I can take a look at it for a few minutes now, and likely tomorrow morning as well. I'm not too sure if I can be of help, but I'll try.

Mark

···

On Wed, 30 Apr 2008, Greg Ward wrote:

If anyone out there is willing to lend a hand, I'd like to compile Radiance under Linux for a 3.9 release. Please use whatever method you think will be most portable. If that requires static links, fine by me. I don't know Linux well enough to compile things portably, nor to I have convenient access to a machine to do so. The release source may be downloaded from:

  http://radsite.lbl.gov/radiance/dist/rad3R9.tar.gz

Please respond and CC the list before you begin, so we don't duplicate effort.

Thanks in advance,
-Greg

_______________________________________________
Radiance-dev mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-dev

Greg,

Reporting for a release (not unstable or testing) version of Fedora 8 i686, using gcc 4.1.2, with the default rmake command, I find that 3R9 builds completely. The dozen or so warnings are mostly about how mktemp is dangerous and that we should use mkstemp. Some other warnings are in libtiff, another about how gets is dangerous.

Mark

···

On Wed, 30 Apr 2008, Greg Ward wrote:

If anyone out there is willing to lend a hand, I'd like to compile Radiance under Linux for a 3.9 release. Please use whatever method you think will be most portable. If that requires static links, fine by me. I don't know Linux well enough to compile things portably, nor to I have convenient access to a machine to do so. The release source may be downloaded from:

  http://radsite.lbl.gov/radiance/dist/rad3R9.tar.gz

Please respond and CC the list before you begin, so we don't duplicate effort.

Thanks in advance,
-Greg

_______________________________________________
Radiance-dev mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-dev

Great, thanks Mark. That was quick. Any chance of posting the executables somewhere so I can grab them? Any comments from the list on how to ensure portability between Linux flavors?

-Greg

···

From: Mark Stock <[email protected]>
Date: April 30, 2008 8:36:58 PM PDT

Greg,

Reporting for a release (not unstable or testing) version of Fedora 8 i686, using gcc 4.1.2, with the default rmake command, I find that 3R9 builds completely. The dozen or so warnings are mostly about how mktemp is dangerous and that we should use mkstemp. Some other warnings are in libtiff, another about how gets is dangerous.

Mark

On Wed, 30 Apr 2008, Greg Ward wrote:

If anyone out there is willing to lend a hand, I'd like to compile Radiance under Linux for a 3.9 release. Please use whatever method you think will be most portable. If that requires static links, fine by me. I don't know Linux well enough to compile things portably, nor to I have convenient access to a machine to do so. The release source may be downloaded from:

  http://radsite.lbl.gov/radiance/dist/rad3R9.tar.gz

Please respond and CC the list before you begin, so we don't duplicate effort.

Thanks in advance,
-Greg

Hi Greg,

didn't know you were just about to release a new version with broadly scheduled testing.

so why not take the opportunity and actually check the setvbuf call, '#ifdef linux' if needed ?

Another subtle suggestion:
It helps to trace problems and add information about other packages, when the testers mention parameters of their Linux distribution:

    the compiler version used (gcc -v)

    the shared lib versions used, e.g.:
    host $ ldd /usr/local/radiance/bin/rpict
            linux-gate.so.1 => (0xffffe000)
            libm.so.6 => /lib/tls/libm.so.6 (0xb7ee7000)
            libc.so.6 => /lib/tls/libc.so.6 (0xb7db4000)
            /lib/ld-linux.so.2 (0xb7f1e000)
    host $ ll /lib/tls/libc.so.6
    lrwxrwxrwx 1 root root 13 Feb 23 15:40 /lib/tls/libc.so.6 ->
    libc-2.3.6.so

Since Radiance depends so very little on other packages, it seems useful to know what the respective distributions supply for these few libs, in extension to the distribution names.

-Peter

btw1: running 'gcc -Wall' on the rt subdirectory prints warnings of uninitialized variables. (output attached, on gcc 4.1.2) If someone want's to do a touch more, it's worth checking with the latest gcc (4.3.x) and/or Intel/AMD optimizations.

btw2: if anyone feels wants to be a pioneer during the holiday: running a debugger like valgrind on the crucial rpict and rtrace wouldn't hurt, although it does take some time to separate noise from true errors. It's worth it. anyone bothered doing this already ?

btw3: the radiance-online box, nearly celebrating one year of happy life at Berkeley, still runs Debian Linux.

e (1.97 KB)

···

--
pab-opto, Freiburg, Germany, http://www.pab-opto.de
[see web page to check digital email signature]

Hi all,

I have compiled a static version of 3R9:

http://www.bozzograo.net/radiance/pub/radiance3R9_static_i486-linux-gnu.tar.bz2

and attached a list of shared library dependencies for Ubuntu 7.10
(haven't upgraded to 8.04 yet ...)

bin_ldd.txt (25.9 KB)

Greg,

The binaries are at:

http://mark.technolope.org/transfer/rad3R9_bin.tar.gz

But I didn't specifically make them static. Doh!

And, per PAB's suggestions, here is some more information:

% gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)

% ldd /usr/local/bin/rpict
   linux-gate.so.1 => (0x40000000)
   libm.so.6 => /lib/libm.so.6 (0x00922000)
   libc.so.6 => /lib/libc.so.6 (0x007c7000)
   /lib/ld-linux.so.2 (0x007a8000)

% ll /lib/libc.so.6
lrwxrwxrwx 1 root root 11 2007-11-14 17:21 /lib/libc.so.6 -> libc-2.7.so

Mark

···

On Wed, 30 Apr 2008, Gregory J. Ward wrote:

Great, thanks Mark. That was quick. Any chance of posting the executables somewhere so I can grab them? Any comments from the list on how to ensure portability between Linux flavors?

-Greg

From: Mark Stock <[email protected]>
Date: April 30, 2008 8:36:58 PM PDT

Greg,

Reporting for a release (not unstable or testing) version of Fedora 8 i686, using gcc 4.1.2, with the default rmake command, I find that 3R9 builds completely. The dozen or so warnings are mostly about how mktemp is dangerous and that we should use mkstemp. Some other warnings are in libtiff, another about how gets is dangerous.

Mark

On Wed, 30 Apr 2008, Greg Ward wrote:

If anyone out there is willing to lend a hand, I'd like to compile Radiance under Linux for a 3.9 release. Please use whatever method you think will be most portable. If that requires static links, fine by me. I don't know Linux well enough to compile things portably, nor to I have convenient access to a machine to do so. The release source may be downloaded from:

  http://radsite.lbl.gov/radiance/dist/rad3R9.tar.gz

Please respond and CC the list before you begin, so we don't duplicate effort.

Thanks in advance,
-Greg

_______________________________________________
Radiance-dev mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-dev

On 01/05/08, 00:10:19, Greg Ward <[email protected]> wrote regarding
[Radiance-dev] Help compiling 3R9 for Linux:

If anyone out there is willing to lend a hand, I'd like to compile
Radiance under Linux for a 3.9 release.

      http://radsite.lbl.gov/radiance/dist/rad3R9.tar.gz

I'm using Unix not Linux but here are my results. I've compiled 3.9
for Solaris using the Sun Studio compiler. Provisional packages are
here:
    http://www.blastwave.org/testing/
today's files (rev date may change):
    radiance-3.9,REV=2008.05.01-SunOS5.8-i386-CSW.pkg.gz
    radiance-3.9,REV=2008.05.01-SunOS5.8-sparc-CSW.pkg.gz

Since 3.8 the Rmakefiles have lost some -lm. I had to add these,
patch attached.

There are some compiler warnings, extracts attached. Most are
unimportant but if you like I will attempt to edit the source and
provide a patch.

James.

rad39lmpatches (2.1 KB)

warnings (4.62 KB)

Hi Peter,

Thanks for your suggestions. Sorry about not including the setvbuf() call in the release -- I was kind of hoping you'd run the timings for me, since you're the one with the giant octrees. I am a little wary of this call, since it has given me grief in the past. From my perspective, it's up to the system to decide how large i/o buffers should be for peak efficiency. My prediction in this case is the time involved in the other parts of reading octrees and meshes will overshadow the system read times, even on NFS.

I took a look at the warnings, and got about halfway through the "possible unintialized variable" cases without spotting anything wrong, so I gave up. If you want to go in and initialize these variables to quiet the warnings, be my guest. The only thing I ask is that you initialize them to an illegal value that will cause a runtime error, because I'd want to know if they really weren't being set properly, and leaving them uninitialized is my usual method (since they just get whatever random data is on the stack in most systems). For me, fixing the warnings makes debugging more difficult rather than easier. I did fix a couple of the other warnings, though. Thanks for sending them.

Regarding your btw3, I did think of compiling on radiance-online, but I wasn't sure how to get a good, portable set of binaries out of it. I don't really know what I'm doing on Linux.

Cheers,
-Greg

···

From: Peter Apian-Bennewitz <[email protected]>
Date: May 1, 2008 12:50:36 AM PDT

Hi Greg,

didn't know you were just about to release a new version with broadly scheduled testing.

so why not take the opportunity and actually check the setvbuf call, '#ifdef linux' if needed ?

Another subtle suggestion:
It helps to trace problems and add information about other packages, when the testers mention parameters of their Linux distribution:

   the compiler version used (gcc -v)

   the shared lib versions used, e.g.:
   host $ ldd /usr/local/radiance/bin/rpict
           linux-gate.so.1 => (0xffffe000)
           libm.so.6 => /lib/tls/libm.so.6 (0xb7ee7000)
           libc.so.6 => /lib/tls/libc.so.6 (0xb7db4000)
           /lib/ld-linux.so.2 (0xb7f1e000)
   host $ ll /lib/tls/libc.so.6
   lrwxrwxrwx 1 root root 13 Feb 23 15:40 /lib/tls/libc.so.6 ->
   libc-2.3.6.so

Since Radiance depends so very little on other packages, it seems useful to know what the respective distributions supply for these few libs, in extension to the distribution names.

-Peter

btw1: running 'gcc -Wall' on the rt subdirectory prints warnings of uninitialized variables. (output attached, on gcc 4.1.2) If someone want's to do a touch more, it's worth checking with the latest gcc (4.3.x) and/or Intel/AMD optimizations.

btw2: if anyone feels wants to be a pioneer during the holiday: running a debugger like valgrind on the crucial rpict and rtrace wouldn't hurt, although it does take some time to separate noise from true errors. It's worth it. anyone bothered doing this already ?

btw3: the radiance-online box, nearly celebrating one year of happy life at Berkeley, still runs Debian Linux.

Hi Mark,

Thanks for doing this! Is there any sense in posting the shared-library binaries, or is it better to use the static versions that Francesco compiled? You guys let me know, because I haven't a clue.

Cheers,
-Greg

···

From: Mark Stock <[email protected]>
Date: May 1, 2008 6:10:22 AM PDT

Greg,

The binaries are at:

http://mark.technolope.org/transfer/rad3R9_bin.tar.gz

But I didn't specifically make them static. Doh!

And, per PAB's suggestions, here is some more information:

% gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)

% ldd /usr/local/bin/rpict
  linux-gate.so.1 => (0x40000000)
  libm.so.6 => /lib/libm.so.6 (0x00922000)
  libc.so.6 => /lib/libc.so.6 (0x007c7000)
  /lib/ld-linux.so.2 (0x007a8000)

% ll /lib/libc.so.6
lrwxrwxrwx 1 root root 11 2007-11-14 17:21 /lib/libc.so.6 -> libc-2.7.so

Mark

Thanks, James. This is a big help. I'm especially grateful for the context diffs on the Rmakefile's, which I've checked in. Different systems put different things in the math library. I suspect that Solaris puts atof() there, which is why it's needed most of the time.

I will include your Solaris binaries when I post the 3.9 release.

-Greg

···

From: James Lee <[email protected]>
Date: May 1, 2008 1:47:15 PM PDT

On 01/05/08, 00:10:19, Greg Ward <[email protected]> wrote regarding
[Radiance-dev] Help compiling 3R9 for Linux:

If anyone out there is willing to lend a hand, I'd like to compile
Radiance under Linux for a 3.9 release.

      http://radsite.lbl.gov/radiance/dist/rad3R9.tar.gz

I'm using Unix not Linux but here are my results. I've compiled 3.9
for Solaris using the Sun Studio compiler. Provisional packages are
here:
    http://www.blastwave.org/testing/
today's files (rev date may change):
    radiance-3.9,REV=2008.05.01-SunOS5.8-i386-CSW.pkg.gz
    radiance-3.9,REV=2008.05.01-SunOS5.8-sparc-CSW.pkg.gz

Since 3.8 the Rmakefiles have lost some -lm. I had to add these,
patch attached.

There are some compiler warnings, extracts attached. Most are
unimportant but if you like I will attempt to edit the source and
provide a patch.

Greg and gang,

I'm a little out of my league here. When compiling with -static I saw a lot of errors related to not finding static versions of the X11 libraries. It seems as if you should stick with the experts here (like Francesco).

Mark

···

On Thu, 1 May 2008, Gregory J. Ward wrote:

Hi Mark,

Thanks for doing this! Is there any sense in posting the shared-library binaries, or is it better to use the static versions that Francesco compiled? You guys let me know, because I haven't a clue.

Cheers,
-Greg

From: Mark Stock <[email protected]>
Date: May 1, 2008 6:10:22 AM PDT

Greg,

The binaries are at:

http://mark.technolope.org/transfer/rad3R9_bin.tar.gz

But I didn't specifically make them static. Doh!

And, per PAB's suggestions, here is some more information:

% gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)

% ldd /usr/local/bin/rpict
  linux-gate.so.1 => (0x40000000)
  libm.so.6 => /lib/libm.so.6 (0x00922000)
  libc.so.6 => /lib/libc.so.6 (0x007c7000)
  /lib/ld-linux.so.2 (0x007a8000)

% ll /lib/libc.so.6
lrwxrwxrwx 1 root root 11 2007-11-14 17:21 /lib/libc.so.6 -> libc-2.7.so

Mark

_______________________________________________
Radiance-dev mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-dev

I'm a little out of my league here. When compiling with -static I saw a lot of errors related to not finding static versions of the X11 libraries. It seems as if you should stick with the experts here (like Francesco).

Hi Mark,

Not really an expert, but I think that Fedora might not include by default static libraries.
On Debian based distros, static libraries (the ones with extension .a) are in the development
packages (their names end in -dev).

HTH, and thanks for the great video and artworks!!!

Francesco