rgerganov / footswitch

Command-line utility for PCsensor and Scythe foot switches
MIT License
414 stars 60 forks source link

hidapi/hidapi.h file not found #21

Closed marcellkiss closed 8 years ago

marcellkiss commented 8 years ago

I just installed the 0.8.0 release candidate of hidapi using brew. When I run make in the footswitch folder I get the following error:

cc footswitch.c common.c debug.c -o footswitch -Wall -DOSX -lhidapi
footswitch.c:28:10: fatal error: 'hidapi/hidapi.h' file not found
#include <hidapi/hidapi.h>
         ^
1 error generated.
make: *** [footswitch] Error 1

I guess, somehow the hidapi install is not ok, but I don't have any idea what I could change..

Could you help me out?

Thanks in advance!

rgerganov commented 8 years ago

Hm, this is weird because I am using hidapi 0.8.0-rc1 on my Mac without problems. I am also using brew and hidapi is installed in /usr/local/Cellar/hidapi/0.8.0-rc1. Could you paste the output of the following commands:

$ pkg-config --cflags hidapi
$ ls -l /usr/local/include/hidapi
marcellkiss commented 8 years ago

Wow, thanks for the fast answer, the output is: -I/usr/local/Cellar/hidapi/0.8.0-rc1/include/hidapi

So it looks like it's at the right place, right?

rgerganov commented 8 years ago

Do you have a symlink /usr/local/include/hidapi which points to /usr/local/Cellar/hidapi/0.8.0-rc1/include/hidapi?

marcellkiss commented 8 years ago

Yes, it looks like this: lrwxr-xr-x 1 marcellkiss admin 41 Aug 23 12:55 /usr/local/include/hidapi -> ../Cellar/hidapi/0.8.0-rc1/include/hidapi

rgerganov commented 8 years ago

I patched the Makefile to put explicit include paths on OSX: https://gist.github.com/rgerganov/840c2780e948ecaab001952e11d5b7c8

Could you try it out and let me know if it works for you?

marcellkiss commented 8 years ago

Thanks! What should be the value of CC? ᐧ

2016-08-24 18:13 GMT+02:00 Radoslav Gerganov notifications@github.com:

I patched the Makefile to put explicit include paths on OSX: https://gist.github.com/rgerganov/840c2780e948ecaab001952e11d5b7c8

Could you try it out and let me know if it works for you?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/rgerganov/footswitch/issues/21#issuecomment-242122797, or mute the thread https://github.com/notifications/unsubscribe-auth/ACs4rLDB3zl9SwB22K7jAwDXcFAUri6Lks5qjG26gaJpZM4Jr5Wd .

rgerganov commented 8 years ago

This is the C compiler, it should be set by default. What is the output with the modified Makefile?

marcellkiss commented 8 years ago

Makefile:20: *** missing separator. Stop.

I couldn't figure it out yet : / ᐧ

2016-08-25 12:56 GMT+02:00 Radoslav Gerganov notifications@github.com:

This is the C compiler, it should be set by default. What is the output with the modified Makefile?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/rgerganov/footswitch/issues/21#issuecomment-242348884, or mute the thread https://github.com/notifications/unsubscribe-auth/ACs4rLDcbWooxbvM3BwfC6Fos_2Dmx79ks5qjXTrgaJpZM4Jr5Wd .

rgerganov commented 8 years ago

Make sure that you are using tabs, not spaces for indentation. If you download the raw file from my gist, it should be fine.

marcellkiss commented 8 years ago

Hm, previous problem solved, but it throws the missing hidapi.h error message like before:

cc footswitch.c common.c debug.c -o footswitch -Wall -DOSX pkg-config --cflags hidapi pkg-config --libs hidapi

footswitch.c:28:10: fatal error: 'hidapi/hidapi.h' file not found

include <hidapi/hidapi.h>

     ^

1 error generated.

make: *\ [footswitch] Error 1 ᐧ

2016-08-25 14:01 GMT+02:00 Radoslav Gerganov notifications@github.com:

Make sure that you are using tabs, not spaces for indentation. If you download the raw file from my gist, it should be fine.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/rgerganov/footswitch/issues/21#issuecomment-242361503, or mute the thread https://github.com/notifications/unsubscribe-auth/ACs4rLiryLSpNOCX9pX9ZysGO_YkLg7Rks5qjYQDgaJpZM4Jr5Wd .

rgerganov commented 8 years ago

OK, let's try one more change: replace the following include in footswitch.c

#include <hidapi/hidapi.h>

with:

#include <hidapi.h>

and try again with the modified Makefile

marcellkiss commented 8 years ago

Now it looks quite good, I can run it locally ./footswitch. It's not so important, but I can't install it globally:

➜ footswitch git:(master) ✗ sudo make install

Password:

/usr/bin/install -c footswitch /usr/bin

install: /usr/bin/footswitch: Operation not permitted

make: *\ [install] Error 71

➜ footswitch git:(master) ✗

And another important question, how can I represent buttons like:

Thanks, hopefully this was my last question. Your helpfulness is amazing, really, thanks a lot! Keep up the good work!! ᐧ

rgerganov commented 8 years ago

No problem at all, thanks for the bug report, I will commit the fixes soon.