|
Post by barryk on Jan 25, 2015 11:04:35 GMT 1
Guys, I compiled bacon 3.0.2 for my latest x86_64 Quirky April, version 6.92, which is a fork of Puppy Linux.
This is what I get when I try and run the bacon executable, same thing regardless of what is on the commandline:
# bacon test.bac Runtime error: function 'FILETYPE': Unable to stat file: No such file or directory #
Does anyone know what this error message means?
I should explain something. bacon was compiled in T2, and in that environment it does work.
I use the binary packages created by T2 to build Quirky. They all work, applications, gcc, everything, except for bacon.
Regards, Barry
|
|
|
Post by Pjot on Jan 25, 2015 11:20:46 GMT 1
Hi Barry,
This usually means that BaCon cannot find the 'libbacon.a' library.
Please make sure it resides in a location which is configured in ld.so.conf. I have received reports that some platforms even need a 'ldconfig' to have the linker cache updated (normally this is only needed in case of shared objects).
HTH Peter
|
|
|
Post by barryk on Jan 25, 2015 14:27:47 GMT 1
Peter, Thanks for the feedback.
Unfortunately, that is not the cause of the problem.
/usr/lib64/libbacon.a exists, /etc/ld.so.conf is correct, ldconfig has been run.
Regards, Barry
|
|
|
Post by barryk on Jan 25, 2015 14:39:47 GMT 1
There is one difference between the environment in T2 and my built Quirky Linux.
In T2, it is a x86_64 build, however there are 32-bit compatibility libc libraries in /lib.
I haven't got those 32-bit-compatibility libs in my Quirky Linux build.
Could bacon have linked against those?
It doesn't seem to be the case, it looks like a genuine x86_64 executable, according to 'file' and 'ldd'.
But, if it is some weird problem like that, perhaps I could solve it by compiling bacon statically.
Regards, Barry
|
|
|
Post by Pjot on Jan 25, 2015 18:10:51 GMT 1
Hi Barry, Well, maybe you can try to compile BaCon from scratch on the target system, use the source package. This is the recommended procedure anyway and definitely should work... BR Peter
|
|
|
Post by basica on Jan 25, 2015 19:30:08 GMT 1
I remember running into the same error problem with an earlier version. If you run the "bacongui", it places a "~/.bacon/settings.cfg" file and then it works.
So I guess bacon looks for that file when it starts.
Regards, basica
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jan 25, 2015 21:52:19 GMT 1
I'll second the motion on 32 bit compiling on 64 bit Linux OS distros suck. It's like they don't really care anymore about 32 bit and have to be nudged along to maintain support.
|
|
|
Post by Pjot on Jan 25, 2015 22:08:20 GMT 1
Hi Barry,
As a hinted by basica, also make sure you're not accidentally executing some older version of BaCon. Maybe you can try to run the 64bit using its full path?
BR Peter
|
|
|
Post by barryk on Feb 6, 2015 4:19:14 GMT 1
A follow-up note for this thread:
I haven't solved this problem.
It is definitely a 64-bit executable, and that is what I am executing, or rather trying to.
However, if I compile it in the target system (not in T2), it works. So, I am forced to do that.
Note, the hug.so compiled in T2 does work, as do all the utilities written in BaCon and compiled in T2.
Regards, Barry
|
|
|
Post by Pjot on Feb 6, 2015 20:20:27 GMT 1
Hi Barry, Thanks for your feedback. It might be that the ABI between the platforms is different? Are the platforms using different GCC versions? If so, then the 'libbacon.a' static library cannot be used on one platform if compiled on the other. This would cause the error you are seeing. BR Peter
|
|
|
Post by barryk on Feb 17, 2015 9:20:09 GMT 1
Quirky is a fork of Puppy. It can be built from binary packages of any distro, using "woofQ" (a fork of Woof).
T2 is a tool to compile a distro from source, for any CPU/platform. It creates binary packages that I import into the woofQ Quirky build system.
I am compiling in T2, and using the binary packages to build Quirky, so gcc, etc is identical.
Regards, Barry
|
|
|
Post by barryk on Apr 8, 2018 16:30:59 GMT 1
Bumping this one, it is still unresolved, and has just got worse.
Still testing version 3.0.2. I compiled it in EasyOS, my fork of Puppy Linux (well, actually, it is a fork of Quirky Linux, which is a fork of Puppy Linux). It is pure 64-bit, no 32-bit libs.
Compile it, it worked.
Go forward a month, EasyOS is now a later version. All the same libraries, just some apps and scripts updated.
And now, this has come back to haunt me:
# bacon -h Runtime error: function 'FILETYPE': Unable to stat file: No such file or directory
Of course I checked that it is the correct libbacon.a, and even reran ldconfig just-in-case.
Obvious thing to do next, recompile bacon 3.0.2 in latest EasyOS...
...yep, now it works!
|
|
|
Post by barryk on Apr 8, 2018 17:09:56 GMT 1
I remember running into the same error problem with an earlier version. If you run the "bacongui", it places a "~/.bacon/settings.cfg" file and then it works. So I guess bacon looks for that file when it starts. Regards, basica Ha ha, that's it! Having just now compiled bacon 3.0.2 in EasyOS, and it works. The "make install" created folder ~/.bacon, with nothing in it. I removed that folder, and now bacon gives that error. Peter, is this still the situation with latest bacon? It should default to working without folder ~/.bacon, or create it automatically. Regards, Barry
|
|
|
Post by Pjot on Apr 9, 2018 9:04:39 GMT 1
Hi barry, Peter, is this still the situation with latest bacon? It should default to working without folder ~/.bacon, or create it automatically. This issue was fixed in BaCon 3.1. The directory is created when it does not exist. Best regards Peter
|
|