Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Dec 2009 21:54:07 +0100
From:      Pieter de Goeje <pieter@degoeje.nl>
To:        Richard Mace <macerl@telkomsa.net>
Cc:        Roland Smith <rsmith@xs4all.nl>, freebsd-questions@freebsd.org, Roger <rnodal@gmail.com>
Subject:   Re: Help building/running SDL/OpenGL code
Message-ID:  <200912232154.07830.pieter@degoeje.nl>
In-Reply-To: <200912230542.28400.macerl@telkomsa.net>
References:  <200912221736.20023.macerl@telkomsa.net> <200912230320.29577.pieter@degoeje.nl> <200912230542.28400.macerl@telkomsa.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 23 December 2009 04:42:28 Richard Mace wrote:
> Incidentally, if there is anyone out there with newer hardware who is
> interested in building the code I am talking about you can find it at:
>
> http://physics.ukzn.ac.za/~richm/courses/phys110/lennard-jones-3d.html
>
> You'll need to change the following lines in the Makefile to get it to
> successfully build under FreeBSD:
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
> CFLAGS =3D -Wall -Wextra -pthread -I/usr/local/include
> -I/usr/local/include/SDL -O3 -march=3Dnative
>
> LFLAGS =3D -Wall -L/usr/local/lib
>
> lennardjones : $(OBJS)
> =A0 =A0 =A0 =A0 $(CC) $(LFLAGS) -o lennardjones $(OBJS) -lSDL -lSDL_gfx -=
lGLU
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
>
> It would be interesting to hear feedback. (Basic controls are: up-arrow a=
dd
> heat to crystal; down-arrow cool down gas/crystal. There are a bunch of
> others -- look in main.c). You are welcome to do whatever you wish with my
> code.

Arrr. Same problem here at startup: segfault in glXGetFBConfigAttribSGIX. A=
=20
simple test case is the following:

pyotr@nox:~% cat test.c
int main() {}
pyotr@nox:~% cc -o test test.c -L/usr/local/lib -lSDL -lGL
pyotr@nox:~% ./test
zsh: segmentation fault (core dumped)  ./test

Then I attempted to switch the arguments around...

pyotr@nox:~% cc -o test test.c -L/usr/local/lib -lGL -lSDL
pyotr@nox:~% ./test
pyotr@nox:~%

Voila! (Admittedly much to my surprise ;))

So then I changed the Makefile to use these libraries: -lGLU -lSDL -lSDL_gf=
x.=20
Result: a perfectly working ./lennardjones. The only minor issue is that it=
=20
presented me with exactly one option:

pyotr@nox:~/temp/lennard-jones-gas-3d% ./lennardjones
Current pixel depth: 32
Available Modes
0 =3D>  3840 x 1200
Select your preferred video mode:

So apparently I prefer mode 0 :D. It run fine (and smooth) though.

It is clear something goes wrong during the runtime linking process, which=
=20
this library order works around. The actual problem is still a mystery to m=
e.=20
It might be worthwhile to post a bugreport on the nvnews.net FreeBSD forum.

Best regards,

Pieter de Goeje




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912232154.07830.pieter>