Hello everyone, As a follow up to my post a few weeks ago about startup times on Raspberry Pi, I have been exploring Tiny Core Linux (v9) on a Pi 3. Generally speaking this is super promising, with startup times around 15 seconds and it seems very stable.
Some of the things I want to run on this system require external libraries. I have managed to get zexy working, for example, by simply including the library in the same folder as the patch that uses it.
I have not had the same success with comport. Including a linux build of the comport object in the folder with the project does not work - I get a “couldn’t create” error when I launch the patch. I have tried declaring the library with the -lib flag, but that gives me an error saying “comport: can’t load library”.
I have installed the USB-Serial extension, though I’m not sure if I’ve missed a step there to make it work properly.
This feels like a long shot, but has anyone managed to get comport working on Tiny Core Linux?
Alternatively, has anyone used USB MIDI with Tiny Core Linux? That isn’t working for me either.
As usual, any tips would be excellent, many thanks.
Yann
That's a Linux build, but is it an ARM build compatible with the architecture in use?
Try file /path/to/comport.ld_linux
and make sure you get the same result as you'd get for any externals that actually work. You can run Pd
with the verbose flag and that should print some extra info about the paths it is attempting to open. In fairness, it should be pretty straightforward to just build it from source on the board, which guarantees you get the correct binary.
Yann Seznec wrote on 27/10/2020 19:01:
Hello everyone, As a follow up to my post a few weeks ago about startup times on Raspberry Pi, I have been exploring Tiny Core Linux (v9) on a Pi 3. Generally speaking this is super promising, with startup times around 15 seconds and it seems very stable.
Some of the things I want to run on this system require external libraries. I have managed to get zexy working, for example, by simply including the library in the same folder as the patch that uses it.
I have not had the same success with comport. Including a linux build of the comport object in the folder with the project does not work - I get a “couldn’t create” error when I launch the patch. I have tried declaring the library with the -lib flag, but that gives me an error saying “comport: can’t load library”.
I have installed the USB-Serial extension, though I’m not sure if I’ve missed a step there to make it work properly.
This feels like a long shot, but has anyone managed to get comport working on Tiny Core Linux?
Alternatively, has anyone used USB MIDI with Tiny Core Linux? That isn’t working for me either.
As usual, any tips would be excellent, many thanks.
Yann
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
OK interesting - with the verbose flag on I can see that it is finding comport.pd_linux, but it says “/lib/libc.so.6: version ‘GLIBC_2.27’ not found (required by /home/tc/comport_test/comport.pd_linux)”
I assume that means that it needs to be compiled for the board specifically, as you mention.
Unfortunately when I try to compile it on the board I get yet another, different error. In that case it says “fatal error: m_pd.h: No such file or directory”.
I think I understand that it’s looking for where Pd is installed, but I can’t seem to find where that file is in Tiny Core Linux.
Thanks Giuilio!
On Oct 27, 2020, at 3:14 PM, Giulio Moro giuliomoro@yahoo.it wrote:
That's a Linux build, but is it an ARM build compatible with the architecture in use? Try
file /path/to/comport.ld_linux
and make sure you get the same result as you'd get for any externals that actually work. You can runPd
with the verbose flag and that should print some extra info about the paths it is attempting to open. In fairness, it should be pretty straightforward to just build it from source on the board, which guarantees you get the correct binary.Yann Seznec wrote on 27/10/2020 19:01:
Hello everyone, As a follow up to my post a few weeks ago about startup times on Raspberry Pi, I have been exploring Tiny Core Linux (v9) on a Pi 3. Generally speaking this is super promising, with startup times around 15 seconds and it seems very stable. Some of the things I want to run on this system require external libraries. I have managed to get zexy working, for example, by simply including the library in the same folder as the patch that uses it. I have not had the same success with comport. Including a linux build of the comport object in the folder with the project does not work - I get a “couldn’t create” error when I launch the patch. I have tried declaring the library with the -lib flag, but that gives me an error saying “comport: can’t load library”. I have installed the USB-Serial extension, though I’m not sure if I’ve missed a step there to make it work properly. This feels like a long shot, but has anyone managed to get comport working on Tiny Core Linux? Alternatively, has anyone used USB MIDI with Tiny Core Linux? That isn’t working for me either. As usual, any tips would be excellent, many thanks. Yann _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Each Makefile has a different way of looking for the path where m_pd.h, and where it is located on your system depends on how you installed Pd ...
normally find /usr/include /usr/local/include -name m_pd.h
will tell you where the file is. Once you know where it is, you can inspect the Makefile
to figure out which way to pass this information to it.
Normally this boils down to passing some options to make
, such as PDINCLUDEDIR=/path/to/containing/folder or CFLAGS="-DPD -I/path/to/containing/folder" or others, depending on the content of the Makefile (these are two real-world examples). (or you can just hardcode the path in the Makefile next to where you see a -I/somepath
, add -I/path/to/containing/folder
and see if it works.
A link to the source files would be useful if you need further help.
Yann Seznec wrote on 27/10/2020 19:34:
OK interesting - with the verbose flag on I can see that it is finding comport.pd_linux, but it says “/lib/libc.so.6: version ‘GLIBC_2.27’ not found (required by /home/tc/comport_test/comport.pd_linux)”
I assume that means that it needs to be compiled for the board specifically, as you mention.
Unfortunately when I try to compile it on the board I get yet another, different error. In that case it says “fatal error: m_pd.h: No such file or directory”.
I think I understand that it’s looking for where Pd is installed, but I can’t seem to find where that file is in Tiny Core Linux.
Thanks Giuilio!
On Oct 27, 2020, at 3:14 PM, Giulio Moro giuliomoro@yahoo.it wrote:
That's a Linux build, but is it an ARM build compatible with the architecture in use? Try
file /path/to/comport.ld_linux
and make sure you get the same result as you'd get for any externals that actually work. You can runPd
with the verbose flag and that should print some extra info about the paths it is attempting to open. In fairness, it should be pretty straightforward to just build it from source on the board, which guarantees you get the correct binary.Yann Seznec wrote on 27/10/2020 19:01:
Hello everyone, As a follow up to my post a few weeks ago about startup times on Raspberry Pi, I have been exploring Tiny Core Linux (v9) on a Pi 3. Generally speaking this is super promising, with startup times around 15 seconds and it seems very stable. Some of the things I want to run on this system require external libraries. I have managed to get zexy working, for example, by simply including the library in the same folder as the patch that uses it. I have not had the same success with comport. Including a linux build of the comport object in the folder with the project does not work - I get a “couldn’t create” error when I launch the patch. I have tried declaring the library with the -lib flag, but that gives me an error saying “comport: can’t load library”. I have installed the USB-Serial extension, though I’m not sure if I’ve missed a step there to make it work properly. This feels like a long shot, but has anyone managed to get comport working on Tiny Core Linux? Alternatively, has anyone used USB MIDI with Tiny Core Linux? That isn’t working for me either. As usual, any tips would be excellent, many thanks. Yann _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
If you cannot find the m_pd.h in your system, you can always import it from another one into the comport (or whatever) directory.
Anyway thanks for sharing information about Pd + tiny core linux, I would love to find some time soon for experimenting on this too; I've always stuck to raspbian until now, but it's always a hassle to turn it to a read-only file system, to allow disconnecting the power without having to cleanly shut down the system. Apparently TCL could make it easier, would you confirm?
Le mar. 27 oct. 2020 à 21:01, Giulio Moro via Pd-list pd-list@lists.iem.at a écrit :
Each Makefile has a different way of looking for the path where m_pd.h, and where it is located on your system depends on how you installed Pd ... normally
find /usr/include /usr/local/include -name m_pd.h
will tell you where the file is. Once you know where it is, you can inspect theMakefile
to figure out which way to pass this information to it. Normally this boils down to passing some options tomake
, such as PDINCLUDEDIR=/path/to/containing/folder or CFLAGS="-DPD -I/path/to/containing/folder" or others, depending on the content of the Makefile (these are two real-world examples). (or you can just hardcode the path in the Makefile next to where you see a-I/somepath
, add-I/path/to/containing/folder
and see if it works.A link to the source files would be useful if you need further help.
Yann Seznec wrote on 27/10/2020 19:34:
OK interesting - with the verbose flag on I can see that it is finding
comport.pd_linux, but it says “/lib/libc.so.6: version ‘GLIBC_2.27’ not found (required by /home/tc/comport_test/comport.pd_linux)”
I assume that means that it needs to be compiled for the board
specifically, as you mention.
Unfortunately when I try to compile it on the board I get yet another,
different error. In that case it says “fatal error: m_pd.h: No such file or directory”.
I think I understand that it’s looking for where Pd is installed, but I
can’t seem to find where that file is in Tiny Core Linux.
Thanks Giuilio!
On Oct 27, 2020, at 3:14 PM, Giulio Moro giuliomoro@yahoo.it wrote:
That's a Linux build, but is it an ARM build compatible with the
architecture in use?
Try
file /path/to/comport.ld_linux
and make sure you get the sameresult as you'd get for any externals that actually work. You can run
Pd
with the verbose flag and that should print some extra info about the paths it is attempting to open. In fairness, it should be pretty straightforward to just build it from source on the board, which guarantees you get the correct binary.Yann Seznec wrote on 27/10/2020 19:01:
Hello everyone, As a follow up to my post a few weeks ago about startup times on
Raspberry Pi, I have been exploring Tiny Core Linux (v9) on a Pi 3. Generally speaking this is super promising, with startup times around 15 seconds and it seems very stable.
Some of the things I want to run on this system require external
libraries. I have managed to get zexy working, for example, by simply including the library in the same folder as the patch that uses it.
I have not had the same success with comport. Including a linux build
of the comport object in the folder with the project does not work - I get a “couldn’t create” error when I launch the patch. I have tried declaring the library with the -lib flag, but that gives me an error saying “comport: can’t load library”.
I have installed the USB-Serial extension, though I’m not sure if I’ve
missed a step there to make it work properly.
This feels like a long shot, but has anyone managed to get comport
working on Tiny Core Linux?
Alternatively, has anyone used USB MIDI with Tiny Core Linux? That
isn’t working for me either.
As usual, any tips would be excellent, many thanks. Yann _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Oh my goodness, against all odds I have gotten this working! I now have the comport object working on piCore. It’s hard to overstate how pleased I am, thanks so much for your help.
For future generations (or, more likely, myself in the future), the steps to my success were:
And it worked! The comport object now loads in a patch without errors. I even managed to get some data through from USB, though after a reboot the serial port seems to have reset, so there’s more work to be done to make it stable. This is major progress, though.
Antoine, as to your question:
I've always stuck to raspbian until now, but it's always a hassle to turn it to a read-only file system, to allow disconnecting the power without having to cleanly shut down the system. Apparently TCL could make it easier, would you confirm?
I’m probably not the best person to answer this, as to be honest I’ve never bothered with “cleanly” shutting down the system when running something on a Raspberry Pi. I always just unplug it, and as far as I know it’s never caused me any issues…however I’m happy to admit that this was poor practice. I would imagine that TCL is better with this regard, since as far as I understand as little is written permanently to disk as possible. However I’m really not very educated on the matter - my primary desire to use TCL was to get a shorter startup time and a generally cleaner setup!
On Oct 27, 2020, at 6:05 PM, Antoine Rousseau antoine@metalu.net wrote:
If you cannot find the m_pd.h in your system, you can always import it from another one into the comport (or whatever) directory.
Anyway thanks for sharing information about Pd + tiny core linux, I would love to find some time soon for experimenting on this too; I've always stuck to raspbian until now, but it's always a hassle to turn it to a read-only file system, to allow disconnecting the power without having to cleanly shut down the system. Apparently TCL could make it easier, would you confirm?
Le mar. 27 oct. 2020 à 21:01, Giulio Moro via Pd-list <pd-list@lists.iem.at mailto:pd-list@lists.iem.at> a écrit : Each Makefile has a different way of looking for the path where m_pd.h, and where it is located on your system depends on how you installed Pd ... normally
find /usr/include /usr/local/include -name m_pd.h
will tell you where the file is. Once you know where it is, you can inspect theMakefile
to figure out which way to pass this information to it. Normally this boils down to passing some options tomake
, such as PDINCLUDEDIR=/path/to/containing/folder or CFLAGS="-DPD -I/path/to/containing/folder" or others, depending on the content of the Makefile (these are two real-world examples). (or you can just hardcode the path in the Makefile next to where you see a-I/somepath
, add-I/path/to/containing/folder
and see if it works.A link to the source files would be useful if you need further help.
Yann Seznec wrote on 27/10/2020 19:34:
OK interesting - with the verbose flag on I can see that it is finding comport.pd_linux, but it says “/lib/libc.so.6: version ‘GLIBC_2.27’ not found (required by /home/tc/comport_test/comport.pd_linux)”
I assume that means that it needs to be compiled for the board specifically, as you mention.
Unfortunately when I try to compile it on the board I get yet another, different error. In that case it says “fatal error: m_pd.h: No such file or directory”.
I think I understand that it’s looking for where Pd is installed, but I can’t seem to find where that file is in Tiny Core Linux.
Thanks Giuilio!
On Oct 27, 2020, at 3:14 PM, Giulio Moro <giuliomoro@yahoo.it mailto:giuliomoro@yahoo.it> wrote:
That's a Linux build, but is it an ARM build compatible with the architecture in use? Try
file /path/to/comport.ld_linux
and make sure you get the same result as you'd get for any externals that actually work. You can runPd
with the verbose flag and that should print some extra info about the paths it is attempting to open. In fairness, it should be pretty straightforward to just build it from source on the board, which guarantees you get the correct binary.Yann Seznec wrote on 27/10/2020 19:01:
Hello everyone, As a follow up to my post a few weeks ago about startup times on Raspberry Pi, I have been exploring Tiny Core Linux (v9) on a Pi 3. Generally speaking this is super promising, with startup times around 15 seconds and it seems very stable. Some of the things I want to run on this system require external libraries. I have managed to get zexy working, for example, by simply including the library in the same folder as the patch that uses it. I have not had the same success with comport. Including a linux build of the comport object in the folder with the project does not work - I get a “couldn’t create” error when I launch the patch. I have tried declaring the library with the -lib flag, but that gives me an error saying “comport: can’t load library”. I have installed the USB-Serial extension, though I’m not sure if I’ve missed a step there to make it work properly. This feels like a long shot, but has anyone managed to get comport working on Tiny Core Linux? Alternatively, has anyone used USB MIDI with Tiny Core Linux? That isn’t working for me either. As usual, any tips would be excellent, many thanks. Yann _______________________________________________ Pd-list@lists.iem.at mailto:Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailto:Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list https://lists.puredata.info/listinfo/pd-list
Hi all, to answer the question of shutting down for TinyCoreLinux: the distro is read-only. In standard configuration writes only happen explicitly, and are made persistent for the next boot by using a special script (filetool.sh). best, Thomas
Am 28.10.2020 um 14:55 schrieb Yann Seznec yann@yannseznec.com:
Oh my goodness, against all odds I have gotten this working! I now have the comport object working on piCore. It’s hard to overstate how pleased I am, thanks so much for your help.
For future generations (or, more likely, myself in the future), the steps to my success were:
- install the “compiletc.tcz” tools. Previously I had only installed gcc.tcz and make.tcz, and apparently that wasn’t enough.
- copy a m_pd.h file from elsewhere, and reference the path to that in my “make” command so it looked like this: “make PDINCLUDEDIR=/path/to/file/“
And it worked! The comport object now loads in a patch without errors. I even managed to get some data through from USB, though after a reboot the serial port seems to have reset, so there’s more work to be done to make it stable. This is major progress, though.
Antoine, as to your question:
I've always stuck to raspbian until now, but it's always a hassle to turn it to a read-only file system, to allow disconnecting the power without having to cleanly shut down the system. Apparently TCL could make it easier, would you confirm?
I’m probably not the best person to answer this, as to be honest I’ve never bothered with “cleanly” shutting down the system when running something on a Raspberry Pi. I always just unplug it, and as far as I know it’s never caused me any issues…however I’m happy to admit that this was poor practice. I would imagine that TCL is better with this regard, since as far as I understand as little is written permanently to disk as possible. However I’m really not very educated on the matter - my primary desire to use TCL was to get a shorter startup time and a generally cleaner setup!
On Oct 27, 2020, at 6:05 PM, Antoine Rousseau antoine@metalu.net wrote:
If you cannot find the m_pd.h in your system, you can always import it from another one into the comport (or whatever) directory.
Anyway thanks for sharing information about Pd + tiny core linux, I would love to find some time soon for experimenting on this too; I've always stuck to raspbian until now, but it's always a hassle to turn it to a read-only file system, to allow disconnecting the power without having to cleanly shut down the system. Apparently TCL could make it easier, would you confirm?
Le mar. 27 oct. 2020 à 21:01, Giulio Moro via Pd-list pd-list@lists.iem.at a écrit : Each Makefile has a different way of looking for the path where m_pd.h, and where it is located on your system depends on how you installed Pd ... normally
find /usr/include /usr/local/include -name m_pd.h
will tell you where the file is. Once you know where it is, you can inspect theMakefile
to figure out which way to pass this information to it. Normally this boils down to passing some options tomake
, such as PDINCLUDEDIR=/path/to/containing/folder or CFLAGS="-DPD -I/path/to/containing/folder" or others, depending on the content of the Makefile (these are two real-world examples). (or you can just hardcode the path in the Makefile next to where you see a-I/somepath
, add-I/path/to/containing/folder
and see if it works.A link to the source files would be useful if you need further help.
Yann Seznec wrote on 27/10/2020 19:34:
OK interesting - with the verbose flag on I can see that it is finding comport.pd_linux, but it says “/lib/libc.so.6: version ‘GLIBC_2.27’ not found (required by /home/tc/comport_test/comport.pd_linux)”
I assume that means that it needs to be compiled for the board specifically, as you mention.
Unfortunately when I try to compile it on the board I get yet another, different error. In that case it says “fatal error: m_pd.h: No such file or directory”.
I think I understand that it’s looking for where Pd is installed, but I can’t seem to find where that file is in Tiny Core Linux.
Thanks Giuilio!
On Oct 27, 2020, at 3:14 PM, Giulio Moro giuliomoro@yahoo.it wrote:
That's a Linux build, but is it an ARM build compatible with the architecture in use? Try
file /path/to/comport.ld_linux
and make sure you get the same result as you'd get for any externals that actually work. You can runPd
with the verbose flag and that should print some extra info about the paths it is attempting to open. In fairness, it should be pretty straightforward to just build it from source on the board, which guarantees you get the correct binary.Yann Seznec wrote on 27/10/2020 19:01:
Hello everyone, As a follow up to my post a few weeks ago about startup times on Raspberry Pi, I have been exploring Tiny Core Linux (v9) on a Pi 3. Generally speaking this is super promising, with startup times around 15 seconds and it seems very stable. Some of the things I want to run on this system require external libraries. I have managed to get zexy working, for example, by simply including the library in the same folder as the patch that uses it. I have not had the same success with comport. Including a linux build of the comport object in the folder with the project does not work - I get a “couldn’t create” error when I launch the patch. I have tried declaring the library with the -lib flag, but that gives me an error saying “comport: can’t load library”. I have installed the USB-Serial extension, though I’m not sure if I’ve missed a step there to make it work properly. This feels like a long shot, but has anyone managed to get comport working on Tiny Core Linux? Alternatively, has anyone used USB MIDI with Tiny Core Linux? That isn’t working for me either. As usual, any tips would be excellent, many thanks. Yann _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
-- Thomas Grill http://grrrr.org