Fatal error gmp h no such file or directory

“.h: No such file or directory” – 2 Easy fixes to Arduino error It’s 11 PM on a Wednesday. You’ve just spent three hours toiling on your next Arduino project, and FINALLY, you’re ready to give your sketch a whirl. You hit upload, palms sweaty with anticipation to see all your hard work come […]

Содержание

  1. “.h: No such file or directory” – 2 Easy fixes to Arduino error
  2. No such file error!
  3. Decoding the no such file error
  4. The error of our ways
  5. Scenario 1 – Fat fingers
  6. Scenario 2 – Missing files
  7. Other library locations
  8. Review
  9. Michael James
  10. The Programming Electronics Academy
  11. Are you ready to use Arduino from the ground up?
  12. 24 Comments

“.h: No such file or directory” – 2 Easy fixes to Arduino error

It’s 11 PM on a Wednesday. You’ve just spent three hours toiling on your next Arduino project, and FINALLY, you’re ready to give your sketch a whirl. You hit upload, palms sweaty with anticipation to see all your hard work come to fruition. It’s then you see the error:

No such file or directory.

Surely this is a chance aberration. “Nothing to worry about,” you mutter, sleep-starved and semi-delirious as you hit upload again. And once more, those maddening words, “no such file or directory,” stare back at you in hostile gaslighting mockery.

Have you been here?

If you’re trying to run an Arduino sketch but keep coming across the “no such file or directory” error, don’t worry. This is actually a pretty common problem, and there are two easy fixes that almost always work.

Keep on reading. We’ll show you what they are.

No such file error!

Error messages can be such a pain. They do, however, serve a useful purpose by telling us something about what went wrong. At first glance, the no such file or directory error is particularly maddening because it seems to break that useful purpose rule. Of course there’s a file or directory! You just made the thing, and it’s right there, tucked inside a directory.

But hold up, let’s take a closer look. If you look at the bottom portion of the Arduino IDE where the error message shows up, there’s this handy little button that says “copy error messages.”

Click on that now. You probably won’t fall off your chair to learn that by clicking that button, you just copied the error message from the little window at the bottom of The Serial Monitor’s UI to the clipboard of your computer.

This copy feature is ridiculously useful. You could, for example, paste the error message into Google and learn more about the error. Or you could take advantage of the active Arduino community by asking for help in a forum. For this situation, however, we can be a bit more basic. All we’re going to do is take a closer look at what the message is actually saying. To do that, just fire up your PC’s text editor and paste it into the blank screen.

Decoding the no such file error

Here it is, that pesky error in all its freshly pasted glory.

I’ll break it down for you line by line.

  • The first line is easy. It’s just describing the Arduino version in use, what operating system is running, and which board you have selected.
  • Line 2 begins to zero in on the problem.
    • The first bit, “knob,” is referring to the name of the program. This is your sketch, basically.
    • The second bit is what usually begins to confuse people, but it’s easy once you know. The “10” in this example is telling you the error occurred on line 10 of your sketch. The “19” is telling you the length of the line of code in spaces and characters. The first number is usually the more helpful of the two because you can use it to locate the error in your sketch.
  • Then we get to the smoking gun of the error. It says, “servo.h: No such file or directory”.

So this thing, “Servo.h.” That’s the thing we need to fix, and thanks to line 2, we know where to find it. Line 10. It’s always line 10.

Now that we know what’s going on a bit better, let’s get down to the business of implementing a fix.

The error of our ways

Let’s lay down some scrutiny on this accursed line 10.

It says “#include ”

When we verify this code, this line is telling the Arduino IDE compiler, “Hey, for this program to work, you need to go get this file called servo.h”.

Let’s say you had a label-making machine, and you wanted to use it to print some cool motivational labels, like “Success!” and “Keep Trying!” and “Look, Nachos!” To make that happen, you’ll first have to load in a roll of labels. No roll of labels? Well, then the label maker isn’t gonna work.

The sketch you’re trying to upload is like the label maker. The file (in our example, the file named “servo.h”) is the roll of labels.

So the error message actually is saying something useful. It’s saying, “Hey programmer, you said I needed this other file. Well, I looked for it and it’s not there. What gives?”

Now we know the error message isn’t complete gibberish, let’s look at the two most common scenarios that cause it.

Scenario 1 – Fat fingers

This sketch is one that you’ve written. You’re actually the one who wrote the “#include” line. The first thing you should check is your spelling and capitalization. Maybe you spelled the name of the library incorrectly? Or (as with the example below) perhaps you capitalized the wrong letters.

So “servo.h” should actually have a capital “S.” In full and with correct capitalization, it should read, “Servo.h.” You’ll notice above that the word servo changes color when it’s correctly capitalized. That color change signifies that the library name “Servo” is recognized as a “keyword” in the Arduino IDE.

Keep in mind that might not be the case for all the libraries you’re using. In other words, the color change won’t always indicate you’re using the right spelling or capitalization, but it’s often a helpful visual reminder.

Oh, and it’s probably good to mention that everyone in the history of Arduino programming has misspelled or incorrectly capitalized a word at some point. It’s amazing how long you can stare at a line of code and miss something like that.

So don’t sweat it.

Scenario 2 – Missing files

This brings us to the next common scenario for the “no such file or directory” error.

So often, working with Arduinos involves taking code that someone else has developed and shared online and then tailoring it to your project. That’s part of what makes it so easy to get stuff done with Arduino. One problem that frequently happens when we do that, however, is we accidentally introduce code without a matching file.

An easy way to check to see if you have the file a sketch is looking for is to navigate to Sketch > Include Library from within the Arduino IDE. Then look for the name of that library.

Whatever library the #include statement was calling for, you want to look through this big long list for a library with the exact same name. If you don’t see the file name there, this means the library isn’t installed. You’ll have to add that library before the sketch will compile without errors.

So, how do you add that library?

The easiest way is to go to Sketch > Include Library > Manage Libraries. The Arduino IDE will open up a dialogue box from which you can search for the library you need.

Make sure you type the exact word that matches the #include line. Once you find the missing library, go ahead and click Install. The Arduino IDE will let you know that it’s installing the library you requested and updating the software accordingly.

Next, just double-check that the library has been successfully installed by going to Sketch > Include Library. You should see your new library in the dropdown list.

Good news! If the library is there, you should now be able to compile your sketch error-free.

Other library locations

OK, there’s one little fly in the ointment. How do these dang ointment flies always manage to complicate things so?

Here’s the thing. Not all libraries live in this convenient pop-up window inside the Arduino IDE. The Arduino community is bubbling with clever ideas, but cleverness (unlike processed cheese) doesn’t always come in conveniently standardized, individually wrapped slices. There are tons of different ways to find Arduino libraries on the web.

If you’re downloading or copying a program from the internet, just go to the page where you got that program and take a close look at the library the author is referencing. They may, for example, have a link to GitHub, which is a place where people keep a lot of code libraries.

Wherever you find it, usually the library will be included in a .zip file package. Once you’ve downloaded the .zip file, fire up the Arduino IDE and go to Sketch > Include Library > Add .ZIP library. Then navigate to the location you downloaded the file and select it. Assuming no additional ointment flies invade your workflow, the Arduino IDE will pop up the message “Library added to your libraries” just above the dark area where the original “no such file or directory” error appeared.

Now it’s business as usual! Just go to Sketch > Include Library, and the new library will appear in the drop-down list.

As the dyslexic Frenchman once said to the oversized violinist: “Viola!”

You now know not one but two ways to add a new library. What a time to be alive!

Review

A quick recap, then.

We’ve looked at the two main scenarios that cause the “no such file or directory” error to appear after you compile your sketch:

  • The fat fingers phenomenon: Check your spelling and capitalization! If you wrote the sketch, there’s a mighty good chance you introduced a tiny error. And don’t beat yourself up over it! Literally every coder has done this.
  • The missing files mixup: Failing that, if you copied code from someone else check that you have the correct libraries installed. Don’t see your library? Install it using the method described above, and you should be good to go.

There may be no such thing as a free lunch, a coincidence, or a luck dragon. But rest assured. Your files and directories? They’re alive and well.

Michael James

Proud Member of

The Programming Electronics Academy

The place where we help you get started and scale the mountain of knowledge of the Arduino Platform. That means we teach what is practical , what is useful , and what will get you off to a running start.
Learn more About Us Here

Are you ready to use Arduino from the ground up?

(without spending days going down YouTube rabbit holes)

  • Learn the 2 most important Arduino programming functions
  • Get familiar with Arduino coding
  • Understand your Arduino hardware
  • Learn the Arduino software setup
  • 12 engaging video lessons

Should you decide to sign up, you’ll receive value packed training emails and special offers.

Wait for it. we’ll be redirecting you to our Training Portal

Great video showing how to include libraries and search libraries if you don’t see a library in your sketch book.
Please keep up the great work. Making Arduino code writing easier.
Thanks,
Jack Brockhurst

Thanks Jack! We’ll do our best to keep them coming.

Great tips! thanks for the tutorials.

Thanks Daniel! I am glad it was helpful.

Tutorials are very comprehensive! Thanks!!

Thank you Juven! I am glad they helped!

Very clear and helpfull
Thanks ! !

Hi, I have the same problem: no such file or directory when trying to run ‘Keypad’, so I noticed it wasn’t written in orange.

I see that I didn’t have it in my library (closest thing was Keyboard) so I went to the library manager and downloaded it.

This time it’s in orange, ran the code again, same message. (. )

Tried to put the code in by clicking on it from the Sketch –> Include etc, and a weird thing happens: first row: #include written in black, and second row: #include written in orange.

I’m trying to use it for a 4×4 keypad

Same. Did you find the fix already?

// reset ESP8266 WiFi connection AT+CIPMUX=1 AT+CWJAP

String cmd=”AT+CWJAP=”, EngineersGarage “,”01234567672″”;

lcd.print(” SENDING DATA”);

lcd.print(” TO CLOUD”);

// TCP connection AT+CIPSTART=4,”TCP”,”184.106.153.149″,80

String cmd = “AT+CIPSTART=4,”TCP”,””;

cmd += “184.106.153.149”; // api.thingspeak.com

String getStr = “GET /update?api_key=”;

// send data length

// thingspeak needs 15 sec delay between updates

in this program i got an error expected initializer before string constant

Liquid crystal _I2C.h :No such file or directory
Did all thibg but it is not happening

Arduino: 1.8.15 (Mac OS X), Board: “Arduino Uno”

Multiple libraries were found for “Usb.h”
checkm8-a5:4:10: fatal error: Constants.h: No such file or directory
Used: /Users/sana/Documents/Arduino/libraries/USB_Host_Shield_2.0
#include “Constants.h”
^

compilation terminated.
Not used: /Users/sana/Documents/Arduino/libraries/USB_Host_Shield_Library_2.0
Not used: /Users/sana/Documents/Arduino/libraries/USBHost
exit status 1
Constants.h: No such file or directory

This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.

Looks like you may not have your Constants.h file in your sketch folder?

j’ai suivi la démarche a la lettre mais je ne suis pas arrivé
a trouver la bibliothèque RFID.
avez vous une idée ou je peux la trouver
merci

I followed the process to the letter but I did not arrive
find the RFID library.
do you have an idea where i can find it
thank you

Is there a specific RFID library you are working with? Do you have a link to its GitHub repo by chance?

I am having trouble with the Radiohead RFM95 encrypted client example, seems Speck.h shows as no such file or directory. I can find code for Speck.h but not as a file I can drop in my library. I imagine there is a way to create the right file type in VS but I am not familiar with how to do that, assuming that would even do the trick. I would appreciate a little help here as I am rather new to Arduino and C++.

Here is the sample library:
// LoRa Simple Hello World Client with encrypted communications
// In order for this to compile you MUST uncomment the #define RH_ENABLE_ENCRYPTION_MODULE line
// at the bottom of RadioHead.h, AND you MUST have installed the Crypto directory from arduinolibs:
// http://rweather.github.io/arduinolibs/index.html
// Philippe.Rochat’at’gmail.com
// 06.07.2017

#include
#include
#include

RH_RF95 rf95; // Instanciate a LoRa driver
Speck myCipher; // Instanciate a Speck block ciphering
RHEncryptedDriver myDriver(rf95, myCipher); // Instantiate the driver with those two

float frequency = 868.0; // Change the frequency here.
unsigned char encryptkey[16] = <1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16>; // The very secret key
char HWMessage[] = “Hello World ! I’m happy if you can read me”;
uint8_t HWMessageLen;

void setup()
<
HWMessageLen = strlen(HWMessage);
Serial.begin(9600);
while (!Serial) ; // Wait for serial port to be available
Serial.println(“LoRa Simple_Encrypted Client”);
if (!rf95.init())
Serial.println(“LoRa init failed”);
// Setup ISM frequency
rf95.setFrequency(frequency);
// Setup Power,dBm
rf95.setTxPower(13);
myCipher.setKey(encryptkey, sizeof(encryptkey));
Serial.println(“Waiting for radio to setup”);
delay(1000);
Serial.println(“Setup completed”);
>

void loop()
<
uint8_t data[HWMessageLen+1] = <0>;
for(uint8_t i = 0; i Michael James on April 16, 2022 at 1:17 pm

OK, here is what I did to get it compiling.

I went here: https://github.com/kostko/arduino-crypto
And downloaded that library, unzipped it into my Arduino/libraries folder, and renamed the enclosing folder to from arduino-crypto-master to just Crypto.
(the Arduino IDE library manager gave me a different library than that it seems – which didn’t have the Speck.h file)

Then, as per the comments in your sketch, I uncommented that line in the RadioHead.h file (it was like ALL the way at the bottom – a couple lines up)

Then I was able to verify this sketch ok.

sketch_oct15a:5:31: fatal error: LiquidCrystal_I2C.h: No such file or directory
#include

compilation terminated.
exit status 1
LiquidCrystal_I2C.h: No such file or directory

Sir I am facing this problem whenever I am trying to upload this program – Arduino 1.8.19 with “NodeMCU 1.0(ESP-12E Module)”-ESP8266 Boards (2.5.2)

Have you installed the LiquidCrystal_I2C library?

To install it, in the Arduino IDE you would go to “Tools > Manage Libraries” and then search for that library and click install.

I still have this error! I did 10-check, and nothing! Keypad.h is orange, it’s like Arduino sees it, but NO! I have this error:
Arduino: 1.8.12 (Windows 10), Board: “Arduino Uno”

swanky_juttuli1:1:10: fatal error: Keypad.h: No such file or directory

exit status 1
Keypad.h: No such file or directory

This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
Help me please.

Hmmm – do you have multiple keypad libraries installed?

Источник

gcc -DHAVE_CONFIG_H -I.  -Iyes/include -fno-strict-aliasing  -I. -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -O3 -march=native -Wall  -Iyes/include -MT algo/cpuminer-nist5.o -MD -MP -MF algo/.deps/cpuminer-nist5.Tpo -c -o algo/cpuminer-nist5.o `test -f 'algo/nist5.c' || echo './'`algo/nist5.c
algo/m7m.c:4:17: fatal error: gmp.h: No such file or directory
compilation terminated.
Makefile:2854: recipe for target 'algo/cpuminer-m7m.o' failed
make[2]: *** [algo/cpuminer-m7m.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from algo/nist5.c:15:0:
./algo/keccak/sse2/keccak.c:780:2: warning: multi-line comment [-Wcomment]
  //kekDECL_STATE 
  ^
mv -f algo/heavy/.deps/cpuminer-bastion.Tpo algo/heavy/.deps/cpuminer-bastion.Po
In file included from algo/nist5.c:17:0:
algo/nist5.c: In function ‘nist5hash’:
./algo/jh/sse2/jh_sse2_opt64.h:342:33: warning: right shift count >= width of type [-Wshift-count-overflow]
         jhSbuffer[56] = ((64*8) >> 56) & 0xff, 
                                 ^
algo/nist5.c:69:6: note: in expansion of macro ‘JH_H’
      JH_H;
      ^
./algo/jh/sse2/jh_sse2_opt64.h:343:33: warning: right shift count >= width of type [-Wshift-count-overflow]
         jhSbuffer[57] = ((64*8) >> 48) & 0xff, 
                                 ^
algo/nist5.c:69:6: note: in expansion of macro ‘JH_H’
      JH_H;
      ^
./algo/jh/sse2/jh_sse2_opt64.h:344:33: warning: right shift count >= width of type [-Wshift-count-overflow]
         jhSbuffer[58] = ((64*8) >> 40) & 0xff, 
                                 ^
algo/nist5.c:69:6: note: in expansion of macro ‘JH_H’
      JH_H;
      ^
./algo/jh/sse2/jh_sse2_opt64.h:345:33: warning: right shift count >= width of type [-Wshift-count-overflow]
         jhSbuffer[59] = ((64*8) >> 32) & 0xff, 
                                 ^
algo/nist5.c:69:6: note: in expansion of macro ‘JH_H’
      JH_H;
      ^
mv -f algo/.deps/cpuminer-neoscrypt.Tpo algo/.deps/cpuminer-neoscrypt.Po
mv -f algo/.deps/cpuminer-nist5.Tpo algo/.deps/cpuminer-nist5.Po
make[2]: Leaving directory '/home/imaginarypay/cpuminer-opt'
Makefile:3507: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/imaginarypay/cpuminer-opt'
Makefile:666: recipe for target 'all' failed
make: *** [all] Error 2
strip: 'cpuminer': No such file

Please kindly look into the issue.

Hello neighbours. Another dry one today, intended first and foremost for myself before I wrote this post, and secondly for anyone coming after me in a similar boat.

Due to working on a reproducibility study, it was necessary for me to build some old compiler versions, that no longer existed on package repositories.

I encountered a number of build errors during this time, and have documented how I solved them. As a post, it isn’t bringing many insights, and serves as a curation of disparate Stack Overflow and other sources that I used to solve my issues.

This guide was created via a Debian-based distribution, but you should be able to apply it to others. I’m running on an x86 system, and due to some errors was forced to use the configure flag --disable-multilib. Only use this if you encounter the relevant error described below.

First, you need to download the gcc source code using svn. For example, to get version 4.5.1, use

svn co svn://gcc.gnu.org/svn/gcc/tags/gcc_4_5_1_release gcc

For other versions, see the gcc docs. The SVN tag for GCC X.Y.Z is of the form gcc_X_Y_Z_release.

Make the gcc directory your working directory, and run

./configure --prefix=$(pwd) --enable-languages=c,c++,fortran --disable-werror

When this suceeds, you can then run:

make bootstrap-lean -j4

Ultimately, I wanted an installable .deb package, so once compiling was finsihed, I ran checkinstall. Make sure to set a version number during configuration.

Now, here are the errors I encountered, and how I fixed them. Solutions were discovered via search-engine-fu, and trial & error.

The errors and their solutions

Error:

configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.

Solution:

Install these packages from your package manager:

apt-get install libmpfr-dev libmpfr-doc libmpfr4
apt-get install libgmp-dev
apt-get install libmpc3 libmpc-dev

Error:

gcc: error: gengtype-lex.c: No such file or directory

Solution:

Install the flex program, which “Generates programs that perform pattern-matching on text.” Something something flexing on these mfs.

apt-get install flex

The error may occur again. If so, rerun the ./configure stage, but dropping the --disable-werror flag.

./configure --prefix=$(pwd) --enable-languages=c,c++,fortran --disable-werror

Then compile again.

make bootstrap-lean -j4

To me, this was just a magic heuristic I guessed, trying to figure out why it works was not productive for me.

Error:

/usr/include/features.h:364:25: fatal error: sys/cdefs.h: No such file or directory

Solution:

Install the package

apt-get install g++-multilib

Packaged with it is some tool which is includes sys/cdefs.h.

Error:

In file included from ../../.././libgcc/../gcc/unwind-dw2.c:333:0:
../../.././libgcc/../gcc/config/i386/linux-unwind.h: In function 'x86_fallback_frame_state':
../../.././libgcc/../gcc/config/i386/linux-unwind.h:138:17: error: field 'info' has incomplete type

Solution:

In the file gcc/config/i386/linux-unwind.h, line 138, replace struct siginfo info; with siginfo_t info;.

Or, more easily, you could run the patch command, with a diff I promise isn’t malicious!

I can only guarantee this will work for 4.5.1 (not a guarantee).

wget https://gist.githubusercontent.com/Wheest/bdd5bc7d487061e5c973f0fba4b96c47/raw/31033a6c5e8d7811ae0a81c2e4c9adea2359a822/unwind.patch -O /tmp/unwind.patch

patch -p0 -b --ignore-whitespace --fuzz 3   < /tmp/unwind.patch

Error:

/usr/bin/ld: cannot find crti.o: No such file or directory

Solution:

Disable multi-lib support. Defintely think about whether or not this solution is right for you.

./configure --prefix=$(pwd) --enable-languages=c,c++,fortran --disable-werror --disable-multilib

You may also need to run:

LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH
export LIBRARY_PATH

Error:

../.././gcc/double-int.h:24:17: fatal error: gmp.h: No such file or directory

../.././gcc/real.h:26:17: fatal error: gmp.h: No such file or directory

Solution:

Install the following packages:

apt-get install libgmp3-dev libgmp-dev

Make a symbolic link to the header file:

ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h

You may also need to rerun ./configure

Conclusion

Hopefully this solved all of the issues you had, but I’m sure are that weren’t listed here could be corrected through other means.

I was finally able to get my .deb package and continue on my merry way.

Update 2021-09

I was recently contacted by a reader Ali Abdul-Kareem who experienced some of these issues, even on the latest version of gcc. They shared some additional steps that were necessary for their success, which I got permission to paraphrase here:

When you fix an error like: gcc: error: gengtype-lex.c: No such file or directory, or any other error really, and you run make again, it will (probably) report an error with something along the lines of: make recipe failed,
and it will exit the program.
I encountered it multiple times and the easiest solution for me was remove everything and start again.
Or you can simply remove the cached files (it will report which cached files, but it will be much earlier in the terminal output).
I simply removed the build directory and started again.
I experienced an error recipe for target bootstrab lean failed, if you read the output there is almost nothing but scrolling way up will read (error cached files doesn't match for gmp or something similar).
Removing the cached files seemed to fix this.

This queue is for tickets about the Math-BigInt-GMP CPAN distribution.

Owner:

Nobody in particular

Requestors:

elatllat […] gmail.com






Sat Sep 14 22:28:33 2019

elatllat […] gmail.com — Ticket created

Subject: GMP.xs:4:10: fatal error: gmp.h: No such file or directory
Date: Sat, 14 Sep 2019 22:28:02 -0400
To: bug-Math-BigInt-GMP@rt.cpan.org
From: Tim <elatllat@gmail.com>

#Fresh Ubuntu 18.04 base arm64

perl -MCPAN -e shell
install Math::Prime::Util

All tests successful.
Files=166, Tests=61231, 200 wallclock secs (43.41 usr  2.79 sys + 191.88 cusr  5.90 csys = 243.98 CPU)
Result: PASS
  PJACKLAM/Math-BigInt-1.999816.tar.gz
  /usr/bin/make test — OK
Running make install
Manifying 4 pod documents
Installing /usr/local/share/perl/5.26.1/Math/BigInt.pm
Installing /usr/local/share/perl/5.26.1/Math/BigFloat.pm
Installing /usr/local/share/perl/5.26.1/Math/BigInt/Lib.pm
Installing /usr/local/share/perl/5.26.1/Math/BigInt/Calc.pm
Installing /usr/local/man/man3/Math::BigInt::Lib.3pm
Installing /usr/local/man/man3/Math::BigInt::Calc.3pm
Installing /usr/local/man/man3/Math::BigInt.3pm
Installing /usr/local/man/man3/Math::BigFloat.3pm
Appending installation info to /usr/local/lib/aarch64-linux-gnu/perl/5.26.1/perllocal.pod
  PJACKLAM/Math-BigInt-1.999816.tar.gz
  /usr/bin/make install  — OK
  PJACKLAM/Math-BigInt-GMP-1.6006.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/Math-BigInt-GMP-1.6006-0
  PJACKLAM/Math-BigInt-GMP-1.6006.tar.gz
  Has already been prepared
Running make for P/PJ/PJACKLAM/Math-BigInt-GMP-1.6006.tar.gz
cp lib/Math/BigInt/GMP.pm blib/lib/Math/BigInt/GMP.pm
Running Mkbootstrap for GMP ()
chmod 644 «GMP.bs»
«/usr/bin/perl» -MExtUtils::Command::MM -e ‘cp_nonempty’ — GMP.bs blib/arch/auto/Math/BigInt/GMP/GMP.bs 644
«/usr/bin/perl» «/usr/share/perl/5.26/ExtUtils/xsubpp»  -typemap ‘/usr/share/perl/5.26/ExtUtils/typemap’ -typemap ‘/root/.cpan/build/Math-BigInt-GMP-1.6006-0/typemap’  GMP.xs > GMP.xsc
mv GMP.xsc GMP.c
aarch64-linux-gnu-gcc -c   -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=»1.6006″ -DXS_VERSION=»1.6006″ -fPIC «-I/usr/lib/aarch64-linux-gnu/perl/5.26/CORE»   GMP.c
GMP.xs:4:10: fatal error: gmp.h: No such file or directory
 #include «gmp.h»
          ^~~~~~~
compilation terminated.
Makefile:340: recipe for target ‘GMP.o’ failed
make: *** [GMP.o] Error 1
  PJACKLAM/Math-BigInt-GMP-1.6006.tar.gz
  /usr/bin/make — NOT OK
Failed during this command:
 (optional) DANAJ/Math-Prime-Util-GMP-0.51.tar.gz: writemakefile NO — No ‘Makefile’ created

 (optional) PJACKLAM/Math-BigInt-GMP-1.6006.tar.gz: make NO




Mon Sep 16 03:37:57 2019

mcgrath.martin […] gmail.com — Correspondence added

On Sun Sep 15 03:28:33 2019, elatllat@gmail.com wrote:

Show quoted text

> #Fresh Ubuntu 18.04 base arm64
> perl -MCPAN -e shell
> install Math::Prime::Util
> …
> All tests successful.
> Files=166, Tests=61231, 200 wallclock secs (43.41 usr 2.79 sys + 191.88
> cusr 5.90 csys = 243.98 CPU)
> Result: PASS
> PJACKLAM/Math-BigInt-1.999816.tar.gz
> /usr/bin/make test — OK
> Running make install
> Manifying 4 pod documents
> Installing /usr/local/share/perl/5.26.1/Math/BigInt.pm
> Installing /usr/local/share/perl/5.26.1/Math/BigFloat.pm
> Installing /usr/local/share/perl/5.26.1/Math/BigInt/Lib.pm
> Installing /usr/local/share/perl/5.26.1/Math/BigInt/Calc.pm
> Installing /usr/local/man/man3/Math::BigInt::Lib.3pm
> Installing /usr/local/man/man3/Math::BigInt::Calc.3pm
> Installing /usr/local/man/man3/Math::BigInt.3pm
> Installing /usr/local/man/man3/Math::BigFloat.3pm
> Appending installation info to
> /usr/local/lib/aarch64-linux-gnu/perl/5.26.1/perllocal.pod
> PJACKLAM/Math-BigInt-1.999816.tar.gz
> /usr/bin/make install — OK
> PJACKLAM/Math-BigInt-GMP-1.6006.tar.gz
> Has already been unwrapped into directory
> /root/.cpan/build/Math-BigInt-GMP-1.6006-0
> PJACKLAM/Math-BigInt-GMP-1.6006.tar.gz
> Has already been prepared
> Running make for P/PJ/PJACKLAM/Math-BigInt-GMP-1.6006.tar.gz
> cp lib/Math/BigInt/GMP.pm blib/lib/Math/BigInt/GMP.pm
> Running Mkbootstrap for GMP ()
> chmod 644 «GMP.bs»
> «/usr/bin/perl» -MExtUtils::Command::MM -e ‘cp_nonempty’ — GMP.bs
> blib/arch/auto/Math/BigInt/GMP/GMP.bs 644
> «/usr/bin/perl» «/usr/share/perl/5.26/ExtUtils/xsubpp» -typemap
> ‘/usr/share/perl/5.26/ExtUtils/typemap’ -typemap
> ‘/root/.cpan/build/Math-BigInt-GMP-1.6006-0/typemap’ GMP.xs > GMP.xsc
> mv GMP.xsc GMP.c
> aarch64-linux-gnu-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv
> -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=»1.6006″
> -DXS_VERSION=»1.6006″ -fPIC «-I/usr/lib/aarch64-linux-gnu/perl/5.26/CORE»
> GMP.c
> GMP.xs:4:10: fatal error: gmp.h: No such file or directory
> #include «gmp.h»
> ^~~~~~~
> compilation terminated.
> Makefile:340: recipe for target ‘GMP.o’ failed
> make: *** [GMP.o] Error 1
> PJACKLAM/Math-BigInt-GMP-1.6006.tar.gz
> /usr/bin/make — NOT OK
> Failed during this command:
> (optional) DANAJ/Math-Prime-Util-GMP-0.51.tar.gz: writemakefile NO — No
> ‘Makefile’ created
>
> (optional) PJACKLAM/Math-BigInt-GMP-1.6006.tar.gz: make NO

You may not have libgmp-dev installed, or it may be installed in a non-standard location:

https://metacpan.org/source/PJACKLAM/Math-BigInt-GMP-1.6006/README#L12

For me apt install libgmp-dev before using cpanm to install was successful




Mon Sep 16 03:37:58 2019

The RT System itself — Status changed from ‘new’ to ‘open’




Thu Jul 08 10:13:21 2021

peter.john.acklam […] gmail.com — Correspondence added

The problem here is that the GMP library is either not installed or it is not found. In any case, this is a problem with the system this distribution is built on, not a problem with the distribution itself.




Thu Jul 08 10:13:22 2021

peter.john.acklam […] gmail.com — Status changed from ‘open’ to ‘resolved’



Понравилась статья? Поделить с друзьями:

Читайте также:

  • Fatal error glibc detected an invalid stdio handle
  • Fatal error glib h no such file or directory
  • Fatal error gl arb clip control not available please update your video driver
  • Fatal error ghostrunner что делать
  • Fatal error gettextwrapper unable to write language settings ок

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии