Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong ELF class on RPZ2 #28

Open
daBee opened this issue Apr 5, 2022 · 2 comments
Open

Wrong ELF class on RPZ2 #28

daBee opened this issue Apr 5, 2022 · 2 comments

Comments

@daBee
Copy link

daBee commented Apr 5, 2022

Reinstalled rpi_gpio 0.5.0 and it's reporting this issue on Bundler.require:

1: from /home/rich/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rpi_gpio-0.5.0/lib/rpi_gpio.rb:1:in `<top (required)>'
/home/rich/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rpi_gpio-0.5.0/lib/rpi_gpio.rb:1:in `require': /home/rich/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rpi_gpio-0.5.0/lib/rpi_gpio/rpi_gpio.so: wrong ELF class: ELFCLASS32 - /home/rich/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rpi_gpio-0.5.0/lib/rpi_gpio/rpi_gpio.so (LoadError)

I've closed ssh sessions, and same issue. Nothing else reporting errors, but then I'm not doing much on it outside of trying to get pins working.

@daBee
Copy link
Author

daBee commented Aug 26, 2022

This gem is dead isn't it.

@jongross
Copy link

jongross commented May 22, 2023

Well I just ran into the same problem, and if I clone this and try and build it by hand on a 64bit RPi4, it won't even compile:

~/rpi_gpio/ext/rpi_gpio $ ruby extconf.rb
creating Makefile
~/rpi_gpio/ext/rpi_gpio $ make
compiling c_gpio.c
c_gpio.c: In function ‘setup’:
c_gpio.c:134:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  134 |     if ((uint32_t)gpio_mem % PAGE_SIZE)
      |         ^
c_gpio.c:135:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  135 |         gpio_mem += PAGE_SIZE - ((uint32_t)gpio_mem % PAGE_SIZE);
      |                                  ^
c_gpio.c: At top level:
cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
compiling common.c
compiling cpuinfo.c
cpuinfo.c: In function ‘get_rpi_info’:
cpuinfo.c:86:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   86 |                case '0': info->type = "Model A"; info->p1_revision = 2; break;
      |                                     ^
cpuinfo.c:87:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   87 |                case '1': info->type = "Model B"; info->p1_revision = 2; break;
      |                                     ^
cpuinfo.c:88:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   88 |                case '2': info->type = "Model A+"; info->p1_revision = 3; break;
      |                                     ^
cpuinfo.c:89:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   89 |                case '3': info->type = "Model B+"; info->p1_revision = 3; break;
      |                                     ^
cpuinfo.c:90:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   90 |                case '4': info->type = "Pi 2 Model B"; info->p1_revision = 3; break;
      |                                     ^
cpuinfo.c:91:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   91 |                case '5': info->type = "Alpha"; info->p1_revision = 3; break;
      |                                     ^
cpuinfo.c:92:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   92 |                case '6': info->type = "Compute Module 1"; info->p1_revision = 0; break;
      |                                     ^
cpuinfo.c:93:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   93 |                case '8': info->type = "Pi 3 Model B"; info->p1_revision = 3; break;
      |                                     ^
cpuinfo.c:94:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   94 |                case '9': info->type = "Zero"; info->p1_revision = 3; break;
      |                                     ^
cpuinfo.c:95:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   95 |                case 'a': info->type = "Compute Module 3"; info->p1_revision = 0; break;
      |                                     ^
cpuinfo.c:96:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   96 |                case 'c': info->type = "Zero W"; info->p1_revision = 3; break;
      |                                     ^
cpuinfo.c:97:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   97 |                case 'd': info->type = "Pi 3 Model B+"; info->p1_revision = 3; break;
      |                                     ^
cpuinfo.c:98:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   98 |                case 'e': info->type = "Pi 3 Model A+"; info->p1_revision = 3; break;
      |                                     ^
cpuinfo.c:99:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
   99 |                default : info->type = "Unknown"; info->p1_revision = 3; break;
      |                                     ^
cpuinfo.c:103:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  103 |                case '0': info->type = "Compute Module 3+"; info->p1_revision = 0; break;
      |                                     ^
cpuinfo.c:104:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  104 |                case '1': info->type = "Pi 4 Model B"; info->p1_revision = 3; break;
      |                                     ^
cpuinfo.c:105:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  105 |                default : info->type = "Unknown"; info->p1_revision = 3; break;
      |                                     ^
cpuinfo.c:107:30: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  107 |          default: info->type = "Unknown"; info->p1_revision = 3; break;
      |                              ^
cpuinfo.c:111:36: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  111 |          case '0': info->processor = "BCM2835"; break;
      |                                    ^
cpuinfo.c:112:36: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  112 |          case '1': info->processor = "BCM2836"; break;
      |                                    ^
cpuinfo.c:113:36: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  113 |          case '2': info->processor = "BCM2837"; break;
      |                                    ^
cpuinfo.c:114:36: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  114 |          case '3': info->processor = "BCM2711"; break;
      |                                    ^
cpuinfo.c:115:36: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  115 |          default : info->processor = "Unknown"; break;
      |                                    ^
cpuinfo.c:118:39: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  118 |          case '0': info->manufacturer = "Sony"; break;
      |                                       ^
cpuinfo.c:119:39: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  119 |          case '1': info->manufacturer = "Egoman"; break;
      |                                       ^
cpuinfo.c:120:39: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  120 |          case '2': info->manufacturer = "Embest"; break;
      |                                       ^
cpuinfo.c:121:39: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  121 |          case '3': info->manufacturer = "Sony Japan"; break;
      |                                       ^
cpuinfo.c:122:39: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  122 |          case '4': info->manufacturer = "Embest"; break;
      |                                       ^
cpuinfo.c:123:39: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  123 |          case '5': info->manufacturer = "Stadium"; break;
      |                                       ^
cpuinfo.c:124:39: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  124 |          default : info->manufacturer = "Unknown"; break;
      |                                       ^
cpuinfo.c:127:28: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  127 |          case 0: info->ram = "256M"; break;
      |                            ^
cpuinfo.c:128:28: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  128 |          case 1: info->ram = "512M"; break;
      |                            ^
cpuinfo.c:129:28: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  129 |          case 2: info->ram = "1G"; break;
      |                            ^
cpuinfo.c:130:28: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  130 |          case 3: info->ram = "2G"; break;
      |                            ^
cpuinfo.c:131:28: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  131 |          case 4: info->ram = "4G"; break;
      |                            ^
cpuinfo.c:132:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  132 |          default: info->ram = "Unknown"; break;
      |                             ^
cpuinfo.c:136:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  136 |       info->ram = "Unknown";
      |                 ^
cpuinfo.c:137:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  137 |       info->manufacturer = "Unknown";
      |                          ^
cpuinfo.c:138:23: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  138 |       info->processor = "Unknown";
      |                       ^
cpuinfo.c:139:18: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  139 |       info->type = "Unknown";
      |                  ^
cpuinfo.c:143:28: warning: format ‘%llx’ expects argument of type ‘long long unsigned int *’, but argument 3 has type ‘uint64_t *’ {aka ‘long unsigned int *’} [-Wformat=]
  143 |       sscanf(revision, "%llx", &rev);
      |                         ~~~^   ~~~~
      |                            |   |
      |                            |   uint64_t * {aka long unsigned int *}
      |                            long long unsigned int *
      |                         %lx
cpuinfo.c:147:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  147 |          info->type = "Model B";
      |                     ^
cpuinfo.c:149:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  149 |          info->ram = "256M";
      |                    ^
cpuinfo.c:150:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  150 |          info->manufacturer = "Egoman";
      |                             ^
cpuinfo.c:151:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  151 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:153:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  153 |          info->type = "Model B";
      |                     ^
cpuinfo.c:155:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  155 |          info->ram = "256M";
      |                    ^
cpuinfo.c:156:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  156 |          info->manufacturer = "Sony UK";
      |                             ^
cpuinfo.c:157:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  157 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:159:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  159 |          info->type = "Model B";
      |                     ^
cpuinfo.c:161:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  161 |          info->ram = "256M";
      |                    ^
cpuinfo.c:162:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  162 |          info->manufacturer = "Qisda";
      |                             ^
cpuinfo.c:163:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  163 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:165:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  165 |          info->type = "Model B";
      |                     ^
cpuinfo.c:167:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  167 |          info->ram = "256M";
      |                    ^
cpuinfo.c:168:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  168 |          info->manufacturer = "Egoman";
      |                             ^
cpuinfo.c:169:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  169 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:171:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  171 |          info->type = "Model A";
      |                     ^
cpuinfo.c:173:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  173 |          info->ram = "256M";
      |                    ^
cpuinfo.c:174:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  174 |          info->manufacturer = "Egoman";
      |                             ^
cpuinfo.c:175:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  175 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:177:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  177 |          info->type = "Model A";
      |                     ^
cpuinfo.c:179:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  179 |          info->ram = "256M";
      |                    ^
cpuinfo.c:180:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  180 |          info->manufacturer = "Sony UK";
      |                             ^
cpuinfo.c:181:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  181 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:183:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  183 |          info->type = "Model A";
      |                     ^
cpuinfo.c:185:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  185 |          info->ram = "256M";
      |                    ^
cpuinfo.c:186:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  186 |          info->manufacturer = "Qisda";
      |                             ^
cpuinfo.c:187:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  187 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:189:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  189 |          info->type = "Model B";
      |                     ^
cpuinfo.c:191:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  191 |          info->ram = "512M";
      |                    ^
cpuinfo.c:192:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  192 |          info->manufacturer = "Egoman";
      |                             ^
cpuinfo.c:193:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  193 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:195:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  195 |          info->type = "Model B";
      |                     ^
cpuinfo.c:197:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  197 |          info->ram = "512M";
      |                    ^
cpuinfo.c:198:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  198 |          info->manufacturer = "Sony UK";
      |                             ^
cpuinfo.c:199:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  199 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:201:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  201 |          info->type = "Model B";
      |                     ^
cpuinfo.c:203:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  203 |          info->ram = "512M";
      |                    ^
cpuinfo.c:204:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  204 |          info->manufacturer = "Qisda";
      |                             ^
cpuinfo.c:205:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  205 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:207:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  207 |          info->type = "Model B+";
      |                     ^
cpuinfo.c:209:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  209 |          info->ram = "512M";
      |                    ^
cpuinfo.c:210:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  210 |          info->manufacturer = "Sony UK";
      |                             ^
cpuinfo.c:211:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  211 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:213:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  213 |          info->type = "Compute Module 1";
      |                     ^
cpuinfo.c:215:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  215 |          info->ram = "512M";
      |                    ^
cpuinfo.c:216:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  216 |          info->manufacturer = "Sony UK";
      |                             ^
cpuinfo.c:217:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  217 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:219:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  219 |          info->type = "Model A+";
      |                     ^
cpuinfo.c:221:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  221 |          info->ram = "256M";
      |                    ^
cpuinfo.c:222:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  222 |          info->manufacturer = "Sony UK";
      |                             ^
cpuinfo.c:223:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  223 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:225:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  225 |          info->type = "Model B+";
      |                     ^
cpuinfo.c:227:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  227 |          info->ram = "512M";
      |                    ^
cpuinfo.c:228:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  228 |          info->manufacturer = "Embest";
      |                             ^
cpuinfo.c:229:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  229 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:231:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  231 |          info->type = "Compute Module 1";
      |                     ^
cpuinfo.c:233:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  233 |          info->ram = "512M";
      |                    ^
cpuinfo.c:234:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  234 |          info->manufacturer = "Embest";
      |                             ^
cpuinfo.c:235:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  235 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c:237:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  237 |          info->type = "Model A+";
      |                     ^
cpuinfo.c:239:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  239 |          info->ram = "Unknown";
      |                    ^
cpuinfo.c:240:29: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  240 |          info->manufacturer = "Embest";
      |                             ^
cpuinfo.c:241:26: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  241 |          info->processor = "BCM2835";
      |                          ^
cpuinfo.c: At top level:
cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
compiling rb_gpio.c
compiling rb_pwm.c
compiling rpi_gpio.c
compiling soft_pwm.c
soft_pwm.c: In function ‘pwm_thread’:
soft_pwm.c:95:7: warning: function might be candidate for attribute ‘noreturn’ [-Wsuggest-attribute=noreturn]
   95 | void *pwm_thread(void *threadarg)
      |       ^~~~~~~~~~
soft_pwm.c: At top level:
cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
linking shared-object rpi_gpio/rpi_gpio.so
/usr/bin/ld: rb_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:37: multiple definition of `gpio_mode'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:37: first defined here
/usr/bin/ld: rb_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:43: multiple definition of `rpiinfo'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:43: first defined here
/usr/bin/ld: rb_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:41: multiple definition of `pin_to_gpio'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:41: first defined here
/usr/bin/ld: rb_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:45: multiple definition of `module_setup'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:45: first defined here
/usr/bin/ld: rb_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:44: multiple definition of `setup_error'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:44: first defined here
/usr/bin/ld: rb_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:42: multiple definition of `gpio_direction'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:42: first defined here
/usr/bin/ld: rb_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:40: multiple definition of `pin_to_gpio_rev3'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:40: first defined here
/usr/bin/ld: rb_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:39: multiple definition of `pin_to_gpio_rev2'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:39: first defined here
/usr/bin/ld: rb_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:38: multiple definition of `pin_to_gpio_rev1'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:38: first defined here
/usr/bin/ld: rb_pwm.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:42: multiple definition of `gpio_direction'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:42: first defined here
/usr/bin/ld: rb_pwm.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:45: multiple definition of `module_setup'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:45: first defined here
/usr/bin/ld: rb_pwm.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:44: multiple definition of `setup_error'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:44: first defined here
/usr/bin/ld: rb_pwm.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:43: multiple definition of `rpiinfo'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:43: first defined here
/usr/bin/ld: rb_pwm.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:41: multiple definition of `pin_to_gpio'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:41: first defined here
/usr/bin/ld: rb_pwm.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:40: multiple definition of `pin_to_gpio_rev3'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:40: first defined here
/usr/bin/ld: rb_pwm.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:39: multiple definition of `pin_to_gpio_rev2'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:39: first defined here
/usr/bin/ld: rb_pwm.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:38: multiple definition of `pin_to_gpio_rev1'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:38: first defined here
/usr/bin/ld: rb_pwm.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:37: multiple definition of `gpio_mode'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:37: first defined here
/usr/bin/ld: rpi_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:45: multiple definition of `module_setup'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:45: first defined here
/usr/bin/ld: rpi_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:44: multiple definition of `setup_error'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:44: first defined here
/usr/bin/ld: rpi_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:43: multiple definition of `rpiinfo'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:43: first defined here
/usr/bin/ld: rpi_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:42: multiple definition of `gpio_direction'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:42: first defined here
/usr/bin/ld: rpi_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:41: multiple definition of `pin_to_gpio'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:41: first defined here
/usr/bin/ld: rpi_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:40: multiple definition of `pin_to_gpio_rev3'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:40: first defined here
/usr/bin/ld: rpi_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:39: multiple definition of `pin_to_gpio_rev2'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:39: first defined here
/usr/bin/ld: rpi_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:38: multiple definition of `pin_to_gpio_rev1'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:38: first defined here
/usr/bin/ld: rpi_gpio.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:37: multiple definition of `gpio_mode'; common.o:/home/pi/rpi_gpio/ext/rpi_gpio/common.h:37: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:262: rpi_gpio.so] Error 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants