joaquimrocha / Skeltrack

A Free Software skeleton tracking library
GNU Lesser General Public License v3.0
294 stars 63 forks source link

Build error #15

Open ghost opened 11 years ago

ghost commented 11 years ago

On Ubuntu 13.04(3.8.0-26-generic) Error message:

Making all in tests make[2]: Entering directory `/home/xxx/code/gitsrc/Skeltrack/tests' CC test-skeleton.o CCLD test-skeleton /usr/bin/ld: test-skeleton.o: undefined reference to symbol 'g_file_new_for_path' /usr/bin/ld: note: 'g_file_new_for_path' is defined in DSO /usr/lib/i386-linux-gnu/libgio-2.0.so.0 so try adding it to the linker command line /usr/lib/i386-linux-gnu/libgio-2.0.so.0: could not read symbols: Invalid operation collect2: error: ld returned 1 exit status

I checked my glib version with cmd: pkg-config --modversion glib-2.0 The result is: 2.36.0.

I've installed gnome-devel gnome-core-devel on my system. So I think the glib depends should be OK.

And the ./autogen.sh also run OK. As returned:

Skeltrack 0.1.14

          Install prefix:   /usr/local
Build introspection data:   yes
 Build API documentation:   no
       Enable debug mode:   no
  Enable automated tests:   yes
          Build examples:   yes

I don't know why failed. Could you please tell me?

vince747 commented 11 years ago

I had the same issue. Did you find a solution. I am following the instructions from http://tayyabnaseer.blogspot.com/2012/05/installing-skeltrack-on-ubuntu.html

But get struck at the same place as you.

Vince

vince747 commented 11 years ago

I found the problem and solution.

When you do "make", the library was built correctly. The problem lay in the tests sub-directory. The solution is as follows

Edit "Makefile.ini" by

  1. delete this line "ENABLE_TEST_TRUE"@am_append_1=tests"
  2. change the following two lines to -- "BUILD_GTK_DOC_TRUE"@am_append_1=doc" -- "ENABLE_EXAMPLES_TRUE"@am_append_2=examples"

After that, I got no error and was able to run the example "test-kinect"

Vince

ghost commented 11 years ago

Hi Vince: I'm a rookie in linux and skeltrack.I was hurrying to see "test-kinect" running so I escaped the automated tests building with the following command line: ./autogen.sh --enable-tests=no make I guess your solution is similar. I'm glad to see someone else is working on this!

gabrield commented 10 years ago

@vince747 Thanks ! Worked like charm. How did you find this fix?

montanier commented 8 years ago

Hey I found another solution, modifying the Makefile.am in tests so that the compilation of the tests is actually done.

I have add the following line (at line 14): AM_LDFLAGS = -lgio-2.0 -lgobject-2.0 -lglib-2.0

BenBlumer commented 7 years ago

Montanier's solution worked for me.

tests/Makefile.am needs to have line 14 edited. I'll submit a PR.