Slackware 9.0 compile -- not quite there

Compiling, libraries, modules, coding guidelines and porting

Moderators: jesterKing, stiv

lholt
Posts: 18
Joined: Tue Oct 29, 2002 1:48 am

Slackware 9.0 compile -- not quite there

Postby lholt » Wed Dec 04, 2002 4:48 am

Loaded up Slackware Current which is to become 9.0 with gcc 3.2

the compile from CVS01 Dec.3 failed at the Mesa libs so I installed Mesa5.0 in /usr/local. Slackware seems to think they belong in /usr/X11R6/lib.

make ran right upto the end and segfaulted on collect2 like so:
----------
gcc -g -O2 -o .libs/blender.bin -L/usr/lib/python2.2/config creator/.libs/libblender_creator.al -L/usr/src/Mesa-5.0/src -L/usr/X11/lib -lm -lpthread -ldl -lm -lm -lm -L/usr/i386-slackware-linux/bin -L/usr/i386-slackware-linux/lib -L/usr/lib/gcc-lib/i386-slackware-linux/3.2 -L/usr/lib/gcc-lib/i386-slackware-linux/3.2/../../../../i386-slackware-linux/lib -L/usr/lib/gcc-lib/i386-slackware-linux/3.2/../../.. -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s blender/.libs/libblender_blender.al -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lpython2.2 -ldl -lm -lpthread -lpthread -lpthread -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lpthread -lpthread -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lpthread -lpthread -lpthread -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s kernel/.libs/libblender_kernel.al -lpthread -lpthread -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s ../intern/.libs/libblender_intern.so -lm -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -lm -lpthread -ldl -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s ../intern/python/frozen/libfrozen.a /usr/local/lib/libGLU.so /usr/local/lib/libGL.so -lpthread /usr/src/Mesa-5.0/src/.libs/libGL.so -lvga -lSM -lICE -lXmu -lXext -lXi -lX11 -lpthread -lz -lutil -lm /usr/local/lib/libjpeg.so -lcrypto -lssl -lpthread -ldl /usr/lib/libstdc++.so -lm -lm -lm -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s -Wl,--rpath -Wl,/usr/local/lib
collect2: ld terminated with signal 11 [Segmentation fault], core dumped
-----------

I didn't have to put acinclude.m4 in the /blender dir
It didn't ask for libXxf86dga.so, and I don't have it. There is an include for it in X11.

FWIW Blender 2.03 from the CD out of the Offical Blender Book seems to run fine on Slackware 9.0.

Pol
Posts: 15
Joined: Wed Oct 16, 2002 3:41 pm
Location: Mons
Contact:

Postby Pol » Sun Dec 22, 2002 8:57 pm

I get the same problem with Slackware 9 ... gcc 3.2.1 too ... dunno what to do ...

SirDude
Posts: 941
Joined: Sun Oct 13, 2002 7:37 pm
Location: University of Minnesota (USA)
Contact:

Postby SirDude » Mon Dec 23, 2002 11:26 pm

Just a note,

The linux pc install defaults to using mesa but you really don't need it if
you have GL for your platform. you'll want to edit nan_link.mk

We need to modify things a little so that its a little easyer to work.

elvstone
Posts: 1
Joined: Sat Mar 29, 2003 11:19 pm

Postby elvstone » Sat Mar 29, 2003 11:24 pm

I have the same problem here, on slack 9. Anyone know if there is a fix in the CVS version?

the3dfxdude
Posts: 1
Joined: Fri Apr 04, 2003 4:44 am

Postby the3dfxdude » Fri Apr 04, 2003 4:45 am

elvstone wrote:I have the same problem here, on slack 9. Anyone know if there is a fix in the CVS version?


I just tried compiling both the recent release and the latest CVS snapshot. No difference. Same error.

BTW, I am using slack 9 too.

alien-xmp
Posts: 217
Joined: Sun Apr 06, 2003 2:22 pm
Location: Wellington, New Zealand
Contact:

Postby alien-xmp » Sun Apr 06, 2003 2:33 pm

I had the same problem.

A work around is to remove all -lc -lgcc_s -lm and -ldl from the line starting with dependency_libs= in some of the .la files:
./intern/libblender_intern.la
./source/libblender_source.la
etc.

The fix would be to stop these libs getting added from libtool/autoconf etc, but I have no idea where that happens.

They do not need to be added because they are added implicitly by gcc (at least -lc & -lgcc_s are.)

Also ld should be able to deal with this more gracefully than a core dump...

Kester

Blaasvis
Posts: 1
Joined: Thu Apr 03, 2003 12:13 am

Postby Blaasvis » Mon Apr 07, 2003 10:20 pm

well i have been looking into this, because i want my blender back. it looks like it is a problem with glibc-2.3.2 well i will try the latest cvs of glibc

alien-xmp
Posts: 217
Joined: Sun Apr 06, 2003 2:22 pm
Location: Wellington, New Zealand
Contact:

Postby alien-xmp » Thu Apr 10, 2003 4:41 am

I think it is more likely a problem with ld (ie binutils) I have 2.13.1 (not up to date...)

Other information: glibc 2.3.1, gcc 3.2.2.

The thing is -lc & -lgcc_s do not need to be explicitly specified, gcc will pull them in automatically.

-lm & -ldl don't need to be linked more than once.

So, if you can get them to not be specified by libtool, you get a working blender.

One way to do this is to remove them from the .la files manually.
Another is to not write them there in the first place from libtool. This requires knowledge of the autoconf system.

Kester

Michel
Posts: 208
Joined: Wed Oct 16, 2002 7:27 pm
Location: Somewhere below the rivers in Holland (but not Limburg)

Postby Michel » Sat Apr 12, 2003 7:27 pm

alien-xmp wrote:The thing is -lc & -lgcc_s do not need to be explicitly specified, gcc will pull them in automatically.

-lm & -ldl don't need to be linked more than once.

So, if you can get them to not be specified by libtool, you get a working blender.

Hi,

I just committed all the necessary changes to the auto* build system. Now it should work. Unfortunately I don't have a Slackware box here, so could you please test it?

Thanks in advance,
Michel

alien-xmp
Posts: 217
Joined: Sun Apr 06, 2003 2:22 pm
Location: Wellington, New Zealand
Contact:

Postby alien-xmp » Sun Apr 13, 2003 6:36 am

Thanks Michel,

Doing a compile now... :)

alien-xmp
Posts: 217
Joined: Sun Apr 06, 2003 2:22 pm
Location: Wellington, New Zealand
Contact:

Postby alien-xmp » Sun Apr 13, 2003 8:39 am

Works like a charm.

The only problem is that it didn't find libGLU. The problem is configure couldn't find it because it is an X11 lib. configure couldn't find some other libraries either (Xext, Xxf86dga, X11, GL, GLU).

This patch should fix it:
Index: configure.ac
===================================================================
RCS file: /cvsroot/bf-blender/blender/configure.ac,v
retrieving revision 1.35
diff -u -r1.35 configure.ac
--- configure.ac 12 Apr 2003 17:20:37 -0000 1.35
+++ configure.ac 13 Apr 2003 06:35:03 -0000
@@ -303,11 +303,11 @@
, dnl found -- nop
[enable_openal=no] ) dnl not found -- disable openal
fi
- AC_CHECK_LIB([Xext], [XextFindDisplay])
- AC_CHECK_LIB([X11], [XOpenDisplay])
- AC_CHECK_LIB([GL], [glIsTexture])
- AC_CHECK_LIB([GLU], [gluGetString])
- AC_CHECK_LIB([Xxf86dga], [XDGAQueryModes])
+ AC_CHECK_LIB([Xext], [XextFindDisplay],,,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+ AC_CHECK_LIB([X11], [XOpenDisplay],,,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+ AC_CHECK_LIB([GL], [glIsTexture],,,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+ AC_CHECK_LIB([GLU], [gluGetString],,,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+ AC_CHECK_LIB([Xxf86dga], [XDGAQueryModes],,,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)

dnl ---------------------
dnl Checks for data types


cheers,

Kester


Return to “Coding Blender”

Who is online

Users browsing this forum: No registered users and 2 guests