make fail in frequensea
skypuppy opened this issue · 10 comments
Linux on AMD64, debian jessie
complete output from frequensea/build/make here: (errors at bottom and I am lost as to how to correct this)
david@Minnie:~/frequensea/build$ make
Scanning dependencies of target lua
[ 2%] Building C object externals/lua/CMakeFiles/lua.dir/src/lapi.c.o
[ 4%] Building C object externals/lua/CMakeFiles/lua.dir/src/lauxlib.c.o
[ 6%] Building C object externals/lua/CMakeFiles/lua.dir/src/lbaselib.c.o
[ 8%] Building C object externals/lua/CMakeFiles/lua.dir/src/lbitlib.c.o
[ 10%] Building C object externals/lua/CMakeFiles/lua.dir/src/lcode.c.o
[ 13%] Building C object externals/lua/CMakeFiles/lua.dir/src/lcorolib.c.o
[ 15%] Building C object externals/lua/CMakeFiles/lua.dir/src/lctype.c.o
[ 17%] Building C object externals/lua/CMakeFiles/lua.dir/src/ldblib.c.o
[ 19%] Building C object externals/lua/CMakeFiles/lua.dir/src/ldebug.c.o
[ 21%] Building C object externals/lua/CMakeFiles/lua.dir/src/ldo.c.o
[ 23%] Building C object externals/lua/CMakeFiles/lua.dir/src/ldump.c.o
[ 26%] Building C object externals/lua/CMakeFiles/lua.dir/src/lfunc.c.o
[ 28%] Building C object externals/lua/CMakeFiles/lua.dir/src/lgc.c.o
[ 30%] Building C object externals/lua/CMakeFiles/lua.dir/src/linit.c.o
[ 32%] Building C object externals/lua/CMakeFiles/lua.dir/src/liolib.c.o
[ 34%] Building C object externals/lua/CMakeFiles/lua.dir/src/llex.c.o
[ 36%] Building C object externals/lua/CMakeFiles/lua.dir/src/lmathlib.c.o
[ 39%] Building C object externals/lua/CMakeFiles/lua.dir/src/lmem.c.o
[ 41%] Building C object externals/lua/CMakeFiles/lua.dir/src/loadlib.c.o
[ 43%] Building C object externals/lua/CMakeFiles/lua.dir/src/lobject.c.o
[ 45%] Building C object externals/lua/CMakeFiles/lua.dir/src/lopcodes.c.o
[ 47%] Building C object externals/lua/CMakeFiles/lua.dir/src/loslib.c.o
[ 50%] Building C object externals/lua/CMakeFiles/lua.dir/src/lparser.c.o
[ 52%] Building C object externals/lua/CMakeFiles/lua.dir/src/lstate.c.o
[ 54%] Building C object externals/lua/CMakeFiles/lua.dir/src/lstring.c.o
[ 56%] Building C object externals/lua/CMakeFiles/lua.dir/src/lstrlib.c.o
[ 58%] Building C object externals/lua/CMakeFiles/lua.dir/src/ltable.c.o
[ 60%] Building C object externals/lua/CMakeFiles/lua.dir/src/ltablib.c.o
[ 63%] Building C object externals/lua/CMakeFiles/lua.dir/src/ltm.c.o
[ 65%] Building C object externals/lua/CMakeFiles/lua.dir/src/lua.c.o
[ 67%] Building C object externals/lua/CMakeFiles/lua.dir/src/luac.c.o
[ 69%] Building C object externals/lua/CMakeFiles/lua.dir/src/lundump.c.o
[ 71%] Building C object externals/lua/CMakeFiles/lua.dir/src/lutf8lib.c.o
[ 73%] Building C object externals/lua/CMakeFiles/lua.dir/src/lvm.c.o
[ 76%] Building C object externals/lua/CMakeFiles/lua.dir/src/lzio.c.o
Linking C static library liblua.a
[ 76%] Built target lua
Scanning dependencies of target frequensea
[ 78%] Building CXX object CMakeFiles/frequensea.dir/src/main.cpp.o
[ 80%] Building C object CMakeFiles/frequensea.dir/src/nfile.c.o
[ 82%] Building C object CMakeFiles/frequensea.dir/src/ngl.c.o
[ 84%] Building C object CMakeFiles/frequensea.dir/src/nim.c.o
[ 86%] Building C object CMakeFiles/frequensea.dir/src/noise.c.o
[ 89%] Building C object CMakeFiles/frequensea.dir/src/nosc.c.o
[ 91%] Building C object CMakeFiles/frequensea.dir/src/nrf.c.o
[ 93%] Building C object CMakeFiles/frequensea.dir/src/nut.c.o
[ 95%] Building C object CMakeFiles/frequensea.dir/src/nwm.c.o
[ 97%] Building C object CMakeFiles/frequensea.dir/src/obj.c.o
[100%] Building C object CMakeFiles/frequensea.dir/src/vec.c.o
Linking CXX executable frequensea
externals/lua/liblua.a(loslib.c.o): In function os_tmpname': /home/david/frequensea/externals/lua/src/loslib.c:140: warning: the use of
tmpnam' is dangerous, better use mkstemp' /usr/bin/ld: /usr/local/lib/libglfw3.a(x11_init.c.o): undefined reference to symbol 'XF86VidModeQueryExtension' //usr/lib/x86_64-linux-gnu/libXxf86vm.so.1: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status CMakeFiles/frequensea.dir/build.make:350: recipe for target 'frequensea' failed make[2]: *** [frequensea] Error 1 CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/frequensea.dir/all' failed make[1]: *** [CMakeFiles/frequensea.dir/all] Error 2 Makefile:76: recipe for target 'all' failed make: *** [all] Error 2 david@Minnie:~/frequensea/build$ sudo make [ 76%] Built target lua Linking CXX executable frequensea externals/lua/liblua.a(loslib.c.o): In function
os_tmpname':
/home/david/frequensea/externals/lua/src/loslib.c:140: warning: the use of tmpnam' is dangerous, better use
mkstemp'
/usr/bin/ld: /usr/local/lib/libglfw3.a(x11_init.c.o): undefined reference to symbol 'XF86VidModeQueryExtension'
//usr/lib/x86_64-linux-gnu/libXxf86vm.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/frequensea.dir/build.make:350: recipe for target 'frequensea' failed
make[2]: *** [frequensea] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/frequensea.dir/all' failed
make[1]: *** [CMakeFiles/frequensea.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2
It seems you're missing a dependendency related to X11. The weird thing is, pkg-config should take core of the dependency issue.
Could you sohw me the output of pkg-config --cflags --libs glfw3
?
root@Jack:/home/david# pkg-config --cflags --libs glfw3
Package glfw3 was not found in the pkg-config search path.
Perhaps you should add the directory containing `glfw3.pc'
to the PKG_CONFIG_PATH environment variable
No package 'glfw3' found
None of my Linux machines have it. But 3D works on all.
Thanks,
David
On 12/19/2015 08:34 AM, Frederik De Bleser wrote:
It seems you're missing a dependendency related to X11. The weird
thing is, pkg-config should take core of the dependency issue.Could you sohw me the output of |pkg-config --cflags --libs glfw3| ?
—
Reply to this email directly or view it on GitHub
#10 (comment).
The GLFW3 package is required: we use it to open windows, read keystrokes, etc. in a cross-platform way.
Could you try installing it? My Ubuntu installation doesn't have it in the package repositories so it's possible you may have to install from source. Instructions are in the README.
I had done all that already, but repeated it just to be safe. Still get:
david@Minnie:/frequensea/build$ make/frequensea/build$
[ 76%] Built target lua
Linking CXX executable frequensea
externals/lua/liblua.a(loslib.c.o): In function os_tmpname': /home/david/frequensea/externals/lua/src/loslib.c:140: warning: the use of
tmpnam' is dangerous, better use `mkstemp'
/usr/bin/ld: /usr/local/lib/libglfw3.a(x11_init.c.o): undefined reference to symbol 'XF86VidModeQueryExtension'
//usr/lib/x86_64-linux-gnu/libXxf86vm.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/frequensea.dir/build.make:350: recipe for target 'frequensea' failed
make[2]: *** [frequensea] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/frequensea.dir/all' failed
make[1]: *** [CMakeFiles/frequensea.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2
david@Minnie:
Is it possible that "XF86VidModeQueryExtension" does not exist in an AMD based computer, as opposed to an Intel procesor?
Unfortunately I can't test this since I don't have an AMD machine.
The weird thing is that GLFW3 is a cross-platform layer specifically made to be compatible across a wide range of systems, so I would find it weird if it wouldn't work on AMD.
Apparently, these are the compiler flags you'd need on Linux:
However, pkg-config should take care of all the flags. For that, it needs to find GLFW. So I don't know why it can't find it.
The GLFW docs say the following:
"When you installed GLFW, the pkg-config file glfw3.pc was installed along with it."
http://www.glfw.org/docs/latest/build.html#build_link_cmake_pkgconfig
Maybe you could check if that file was installed?
On 20 Dec 2015 18:34 +0100, skypuppynotifications@github.com, wrote:
I had done all that already, but repeated it just to be safe. Still get:
david@Minnie:
/frequensea/build$ make/frequensea/build$
[ 76%] Built target lua
Linking CXX executable frequensea
externals/lua/liblua.a(loslib.c.o): In functionos_tmpname':
/home/david/frequensea/externals/lua/src/loslib.c:140: warning: the use oftmpnam' is dangerous, better use `mkstemp'
/usr/bin/ld: /usr/local/lib/libglfw3.a(x11_init.c.o): undefined reference to symbol 'XF86VidModeQueryExtension'
//usr/lib/x86_64-linux-gnu/libXxf86vm.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/frequensea.dir/build.make:350: recipe for target 'frequensea' failed
make[2]: *** [frequensea] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/frequensea.dir/all' failed
make[1]: *** [CMakeFiles/frequensea.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2
david@Minnie:Is it possible that "XF86VidModeQueryExtension" does not exist in an AMD based computer, as opposed to an Intel procesor?
—
Reply to this email directly orview it on GitHub(#10 (comment)).
It was installed but apparently it is not found during compile time.
Thanks,
David
On 12/25/2015 04:28 PM, Frederik De Bleser wrote:
Unfortunately I can't test this since I don't have an AMD machine.
The weird thing is that GLFW3 is a cross-platform layer specifically
made to be compatible across a wide range of systems, so I would find
it weird if it wouldn't work on AMD.Apparently, these are the compiler flags you'd need on Linux:
However, pkg-config should take care of all the flags. For that, it
needs to find GLFW. So I don't know why it can't find it.The GLFW docs say the following:
"When you installed GLFW, the pkg-config file glfw3.pc was installed
along with it."http://www.glfw.org/docs/latest/build.html#build_link_cmake_pkgconfig
Maybe you could check if that file was installed?
On 20 Dec 2015 18:34 +0100, skypuppynotifications@github.com, wrote:
I had done all that already, but repeated it just to be safe. Still get:
david@Minnie:
/frequensea/build$ make/frequensea/build$
[ 76%] Built target lua
Linking CXX executable frequensea
externals/lua/liblua.a(loslib.c.o): In functionos_tmpname':
/home/david/frequensea/externals/lua/src/loslib.c:140: warning: the
use oftmpnam' is dangerous, better use `mkstemp'
/usr/bin/ld: /usr/local/lib/libglfw3.a(x11_init.c.o): undefined
reference to symbol 'XF86VidModeQueryExtension'
//usr/lib/x86_64-linux-gnu/libXxf86vm.so.1: error adding symbols:
DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/frequensea.dir/build.make:350: recipe for target
'frequensea' failed
make[2]: *** [frequensea] Error 1
CMakeFiles/Makefile2:60: recipe for target
'CMakeFiles/frequensea.dir/all' failed
make[1]: *** [CMakeFiles/frequensea.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2
david@Minnie:Is it possible that "XF86VidModeQueryExtension" does not exist in an
AMD based computer, as opposed to an Intel procesor?—
Reply to this email directly orview it on
GitHub(#10 (comment)).—
Reply to this email directly or view it on GitHub
#10 (comment).
The compile options are set using pkg-config, so that should work to get it to compile.
Did you "make install" in a special directory?
On 26 Dec 2015 09:53 +0100, skypuppynotifications@github.com, wrote:
It was installed but apparently it is not found during compile time.
Thanks,
DavidOn 12/25/2015 04:28 PM, Frederik De Bleser wrote:
Unfortunately I can't test this since I don't have an AMD machine.
The weird thing is that GLFW3 is a cross-platform layer specifically
made to be compatible across a wide range of systems, so I would find
it weird if it wouldn't work on AMD.Apparently, these are the compiler flags you'd need on Linux:
However, pkg-config should take care of all the flags. For that, it
needs to find GLFW. So I don't know why it can't find it.The GLFW docs say the following:
"When you installed GLFW, the pkg-config file glfw3.pc was installed
along with it."http://www.glfw.org/docs/latest/build.html#build_link_cmake_pkgconfig
Maybe you could check if that file was installed?
On 20 Dec 2015 18:34 +0100, skypuppynotifications@github.com, wrote:
I had done all that already, but repeated it just to be safe. Still get:
david@Minnie:
/frequensea/build$ make/frequensea/build$
[ 76%] Built target lua
Linking CXX executable frequensea
externals/lua/liblua.a(loslib.c.o): In functionos_tmpname':
/home/david/frequensea/externals/lua/src/loslib.c:140: warning: the
use oftmpnam' is dangerous, better use `mkstemp'
/usr/bin/ld: /usr/local/lib/libglfw3.a(x11_init.c.o): undefined
reference to symbol 'XF86VidModeQueryExtension'
//usr/lib/x86_64-linux-gnu/libXxf86vm.so.1: error adding symbols:
DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/frequensea.dir/build.make:350: recipe for target
'frequensea' failed
make[2]: *** [frequensea] Error 1
CMakeFiles/Makefile2:60: recipe for target
'CMakeFiles/frequensea.dir/all' failed
make[1]: *** [CMakeFiles/frequensea.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2
david@Minnie:Is it possible that "XF86VidModeQueryExtension" does not exist in an
AMD based computer, as opposed to an Intel procesor?—
Reply to this email directly orview it on
GitHub(#10 (comment)).—
Reply to this email directly or view it on GitHub
#10 (comment).—
Reply to this email directly orview it on GitHub(#10 (comment)).
The is no 'pkg-config' from the debian repository. There is "apt-get
(command line)" and "Synaptic Package Manager" as well as the default
Debian package manager. Synaptic works the best.
I tried fooling around with the includes in the Makefile but was
unsuccessful.
Could you email me your Makefile, please? If you're on a Mac, double
interpretation will be required. :)
No, did not use a special directory.
Thanks,
David
On 12/26/2015 08:58 AM, Frederik De Bleser wrote:
The compile options are set using pkg-config, so that should work to
get it to compile.Did you "make install" in a special directory?
On 26 Dec 2015 09:53 +0100, skypuppynotifications@github.com, wrote:
It was installed but apparently it is not found during compile
time.Thanks,
DavidOn 12/25/2015 04:28 PM, Frederik De Bleser wrote:
Unfortunately I can't test this since I don't have an AMD machine.
The weird thing is that GLFW3 is a cross-platform layer specifically
made to be compatible across a wide range of systems, so I would find
it weird if it wouldn't work on AMD.Apparently, these are the compiler flags you'd need on Linux:
However, pkg-config should take care of all the flags. For that, it
needs to find GLFW. So I don't know why it can't find it.The GLFW docs say the following:
"When you installed GLFW, the pkg-config file glfw3.pc was installed
along with it."http://www.glfw.org/docs/latest/build.html#build_link_cmake_pkgconfig
Maybe you could check if that file was installed?
On 20 Dec 2015 18:34 +0100, skypuppynotifications@github.com, wrote:
I had done all that already, but repeated it just to be safe.
Still get:david@Minnie:
/frequensea/build$ make/frequensea/build$
[ 76%] Built target lua
Linking CXX executable frequensea
externals/lua/liblua.a(loslib.c.o): In functionos_tmpname':
/home/david/frequensea/externals/lua/src/loslib.c:140: warning: the
use oftmpnam' is dangerous, better use `mkstemp'
/usr/bin/ld: /usr/local/lib/libglfw3.a(x11_init.c.o): undefined
reference to symbol 'XF86VidModeQueryExtension'
//usr/lib/x86_64-linux-gnu/libXxf86vm.so.1: error adding symbols:
DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/frequensea.dir/build.make:350: recipe for target
'frequensea' failed
make[2]: *** [frequensea] Error 1
CMakeFiles/Makefile2:60: recipe for target
'CMakeFiles/frequensea.dir/all' failed
make[1]: *** [CMakeFiles/frequensea.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2
david@Minnie:Is it possible that "XF86VidModeQueryExtension" does not exist in an
AMD based computer, as opposed to an Intel procesor?—
Reply to this email directly orview it onGitHub(#10 (comment)).
—
Reply to this email directly or view it on GitHub
#10 (comment).—
Reply to this email directly orview it on
GitHub(#10 (comment)).—
Reply to this email directly or view it on GitHub
#10 (comment).
I can't really give you a Makefile. The Makefile is generated by CMake, so it can be made to work cross-platform. I'm not a huge fan of CMake, but it should work reasonably well with GLFW3.
If you want a simple Makefile, the /c/ directory has simple examples and include as a Makefile. These are onyl tested on OS X. You could try:
cd ~/frequensea/c
make fft
You can update this according to the output of pkg-config --cflags --libs glfw3
, which should you give hints as to which compiler flags you need.
I've also tried to install everything on a completely clean, recent Ubuntu (15.10) install. This procedure should work:
# Install the required dependencies
sudo apt-get install -y git cmake gcc g++ make libfftw3-dev libpng-dev libusb-1.0.0-dev pkg-config xorg-dev libglu1-mesa-dev libopenal-dev libglew-dev libhackrf-dev librtlsdr-dev pkg-config
# Check that we can find GLFW3 using pkg-config
pkg-config --static --cflags --libs glfw3
# Download the repo and build
git clone git://github.com/fdb/frequensea.git
cd frequensea
mkdir build
cd build
cmake ..
make
# Run
./frequensea ../lua/static.lua
I just tested on Debian Jessie. There is a 'libglfw3-devpackage, so you can just do
apt-get install libglfw3-dev` and everything should work.