Blender 2.53 Beta exits with undefined symbol: gzopen64

Blender started and ran well on first run. I did the usual modifications to User Preferences and enabled some of the new add-ons. Then, I closed blender and attempted a restart:

this is what i get from the terminal:

./blender: symbol lookup error: ./blender: undefined symbol: gzopen64

A preliminary investigation points to zlib (I use fedora-13 x86_64). In one forum, someone resolved the problem by getting zlib source from Ubuntu. Turns out there is a modified zlib. I couldn’t find that source. ‘Yum provides gzopen64’ yields nothing.

Funny, I didn’t even enable file compression so I’m wondering why I’m getting the errors. Does anyone know a way around this?, … I really need to experience the cool new stuff inside this Beta release.

I was getting that same error message after trying to run Blender-2.53-0 on my 32-bit Gentoo system. For Gentoo I keyworded the sys-libs/zlib-1.2.5-r2 package so that it would replace my existing zlib-1.2.3-r1 package.

This fixed the problem for me, but then I am used to compiling my own software… =) The package is keyworded meaning that is is not part of the “stable” tree so if you decide to find a copy of zlib-1.2.5-r2 to use for Blender-2.53.0 to function, then proceed at your own risk.

Hope this helps…

~topher

No topher, it doesn’t help. Not at all.
Is it not better to describe what you did? I believe I can take care of myself when dealing with compiled software. I downloaded the 1.2.5 source from zlib website and compiled it. It doesn’t provide gzopen64. So, if there is something you know that can help, please share it … I’m sure I’m not the only one with this problem.

You could post your build, source, or configuration … or better, a personally packaged variant of zlib.

You might want to make sure blender is using your version of the lib instead of the system installed one, probably just need to make /usr/local/lib (or where ever you installed it) come before /usr/lib in the lib search path.

How can one do that? I mean, how does one point blender to use a different lib?

Same problem here… :frowning: on openSuse 11.2

I will try to explain this the best I can. Builds from Graphicall are compiled against any variety of libraries. Most of the time minor version differences are not significant. However when a new function is present in a newer library, and your older version doesn’t have it, then that library does not export the symbol of that function for the linker to find at run time.

So let’s start with some simple investigative work. First let’s find out what the executable “blender” needs to link in at run time:

cd /usr/local/blender-2.56r35003    #(or wherever you have blender installed)
ldd ./blender

This will output a line for every library that executable (in this case, blender) needs in order to load into RAM and execute. We are looking for the zlib library (libz.so.1) in this list because that is the library that will or will not export the symbol gzopen64. It will look something like this:

libz.so.1 => /lib/libz.so.1 (0xb732c000)

Notice that it also shows you what library it has chosen in the event that you wanted to run this executable. In my case it found it at /lib/libz.so.1. Now an important thing to remember is most library references are symbolic links to the actual library your system is providing. So let’s find out just where that library is, and what version it is.

topher@night /usr/local/blender-2.56r35003 $ ls -l /lib/libz*
lrwxrwxrwx 1 root root    13 Feb  2 23:14 /lib/libz.so.1 -> libz.so.1.2.5
-rwxr-xr-x 1 root root 83448 Feb  2 23:14 /lib/libz.so.1.2.5

Here we can see that it points to the libz.so.1.2.5 library. If you find a different library (libz.so.1.2.3 for example) then either you have installed zlib in a path in the search list after the one it found, or you have not installed it at all. The library search path is located at /etc/ld.so.conf and if you update it, be warned that it updates the path for EVERYTHING on your system. Be careful when modifying this file.

From what it sounds like, you have downloaded the source for zlib-1.2.5 but it is installed in a path that comes after /lib or it is not installed at all. You may want to consider using your system package tools to install v1.2.5-r2 (or later) or carefully update the system zlib to get blender to run.

Bear in mind if you update the system libraries (or cause updated libraries to be found first) you may need to rebuild all packages that rely on that library. YMMV.

Hope this helps (again)

~topher