On 26.06.2016 21:25, Dan Johansson wrote: > On 26.06.2016 18:19, meino.cra...@gmx.de wrote: >> Dan Johansson <dan.johans...@dmj.nu> [16-06-26 18:12]: >>> The following code snippet compiles find but when run it just hangs forever: >>> >>> $ cat x.c >>> #include <stdio.h> >>> #include <unistd.h> >>> #include <crypt.h> >>> >>> int main() { >>> printf("Running test\n"); >>> char *encrypted = crypt("blablabla","ab"); >>> if(!encrypted || strcmp(encrypted,"ab.h7fshjf89f")) { >>> printf("Fail\n"); >>> } else { >>> printf("OK\n"); >>> } >>> } >>> >>> $ gcc -o xout x.c -lcrypt >>> >>> $ ./xout >>> Running test >>> >>> <here the program just hangs and needs to be killed with ^C> >>> >>> The same code runs fine on my desktop. >>> Any suggestions what could be my problem? >>> >>> -- >> Hi Dan, >> >> this is just a shot in the dark and most likely I will miss the >> target...but... >> >> Off what kind of memory you are running this code? >> Das "cryot()" returns a pointer to newly acquired memory? >> May be this memory is not RAM but flash/EEPROM? >> If crypt() expects already allocated memory at the >> pointers adress this may work on a PC because its >> short and the stack is relatively large and you hit >> nothing ... so it runs accidentally (so to say) and >> fails on a Raspi... >> >> Only some random thoughts... > > It's running in "normal" RAM. And I think if it was something like that > other software would also have problem, which it has not.
I did an "emerge --oneshot sys-libs/glibc" and, voila, now it works. Sorry for the waste of bandwidth. -- Dan Johansson *************************************************** This message is printed on 100% recycled electrons! ***************************************************