[I'd had this process down a few updates ago...]
running as root, cd-ing to the directory containing these patches:
/usr/lib/puredata/doc/6.externs# make pd_linux cc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -o obj1.o -c obj1.c make: cc: Command not found make: *** [obj1.pd_linux] Error 127
Any good way to just point gcc at each .c file?
Hi Forrest,
You can edit the makefile and replace "cc" with "gcc".
On my system, "cc" is just a symlink to "gcc":
[root@farnsworth asdf]# ls -l which cc
lrwxrwxrwx 1 root root 3 Apr 6 11:36 /bin/cc -> gcc
You can add that symlink as well: ln -s /bin/gcc /bin/cc
Chuck
On Fri, May 29, 2015 at 9:38 AM, Forrest Curo treegestalt@gmail.com wrote:
[I'd had this process down a few updates ago...]
running as root, cd-ing to the directory containing these patches:
/usr/lib/puredata/doc/6.externs# make pd_linux cc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -o obj1.o -c obj1.c make: cc: Command not found make: *** [obj1.pd_linux] Error 127
Any good way to just point gcc at each .c file?
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[Thanks!] Oops, that last apt-get update left me with no gcc...!
But after fixing that:
root@lapcritter:/usr/lib/puredata/doc/6.externs# make pd_linux gcc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -o obj1.o -c obj1.c ld -shared -o obj1.pd_linux obj1.o -lc -lm ld: obj1.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC obj1.o: could not read symbols: Bad value make: *** [obj1.pd_linux] Error 1
root@lapcritter:/usr/lib/puredata/doc/6.externs# nano makefile root@lapcritter:/usr/lib/puredata/doc/6.externs# make pd_linux gcc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -fPIC -o obj1.o -c obj1.c ld -shared -o obj1.pd_linux obj1.o -lc -lm ld: cannot find -lc ld: cannot find -lm make: *** [obj1.pd_linux] Error 1
?
On Fri, May 29, 2015 at 7:48 AM, Charles Z Henry czhenry@gmail.com wrote:
Hi Forrest,
You can edit the makefile and replace "cc" with "gcc".
On my system, "cc" is just a symlink to "gcc": [root@farnsworth asdf]# ls -l
which cc
lrwxrwxrwx 1 root root 3 Apr 6 11:36 /bin/cc -> gccYou can add that symlink as well: ln -s /bin/gcc /bin/cc
Chuck
On Fri, May 29, 2015 at 9:38 AM, Forrest Curo treegestalt@gmail.com wrote:
[I'd had this process down a few updates ago...]
running as root, cd-ing to the directory containing these patches:
/usr/lib/puredata/doc/6.externs# make pd_linux cc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -o obj1.o -c obj1.c make: cc: Command not found make: *** [obj1.pd_linux] Error 127
Any good way to just point gcc at each .c file?
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Fri, May 29, 2015 at 10:23 AM, Forrest Curo treegestalt@gmail.com wrote:
[Thanks!] Oops, that last apt-get update left me with no gcc...!
But after fixing that:
root@lapcritter:/usr/lib/puredata/doc/6.externs# make pd_linux gcc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -o obj1.o -c obj1.c ld -shared -o obj1.pd_linux obj1.o -lc -lm ld: obj1.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC obj1.o: could not read symbols: Bad value make: *** [obj1.pd_linux] Error 1
Edit your makefile and make sure CFLAGS includes "-fPIC"
root@lapcritter:/usr/lib/puredata/doc/6.externs# nano makefile root@lapcritter:/usr/lib/puredata/doc/6.externs# make pd_linux gcc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -fPIC -o obj1.o -c obj1.c ld -shared -o obj1.pd_linux obj1.o -lc -lm ld: cannot find -lc ld: cannot find -lm make: *** [obj1.pd_linux] Error 1
You should have a /usr/lib/libc.so or /usr/lib64/libc.so
and /usr/lib/libm.so or /usr/lib64/libm.so
Check for these files first. If they are not there, then you are missing some very fundamental build tools. It's among the first things to install in linux, so I'll never remember the names for the packages.
If the files ARE there, then your linker "ld" is missing them. Run: ldconfig
Chuck
On Fri, May 29, 2015 at 7:48 AM, Charles Z Henry czhenry@gmail.com wrote:
Hi Forrest,
You can edit the makefile and replace "cc" with "gcc".
On my system, "cc" is just a symlink to "gcc": [root@farnsworth asdf]# ls -l
which cc
lrwxrwxrwx 1 root root 3 Apr 6 11:36 /bin/cc -> gccYou can add that symlink as well: ln -s /bin/gcc /bin/cc
Chuck
On Fri, May 29, 2015 at 9:38 AM, Forrest Curo treegestalt@gmail.com wrote:
[I'd had this process down a few updates ago...]
running as root, cd-ing to the directory containing these patches:
/usr/lib/puredata/doc/6.externs# make pd_linux cc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -o obj1.o -c obj1.c make: cc: Command not found make: *** [obj1.pd_linux] Error 127
Any good way to just point gcc at each .c file?
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 05/29/2015 05:40 PM, Charles Z Henry wrote:
You should have a /usr/lib/libc.so or /usr/lib64/libc.so
and /usr/lib/libm.so or /usr/lib64/libm.so
as the OP indicated that they are using "apt-get", it seems they are on Debian (or a derivative). Debian does not use /usr/lib64/ but has another multi-arch naming scheme that is more generic and supports more than a single architecture.
you should have:
/usr/lib/${HOST_TRIPLET}/libc.so /usr/lib/${HOST_TRIPLET}/libm.so
where ${HOST_TRIPLET} is something like "x86_64-linux-gnu" (on a 64bit system) or "i386-linux-gnu" (on 32bit)
gfasmrd IOhannes
Okay, this is a debian 7.something with the packaging manually fnurgled, fixed (I hope) with 'apt-get upgrade' this morning -- and usr/lib contains both '386-linux-gnu' and 'x86_64-linux-gnu' -- But neither of these contain a file named 'libc.so' or 'libm.so'.
Tried 'apt-get install libc.so; and 'apt-get install libm.so' [I think the latter gave me a bunch of irrelevant stuff!]
and the result is still: make pd_linux gcc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -fPIC -o obj1.o -c obj1.c ld -shared -o obj1.pd_linux obj1.o -lc -lm ld: cannot find -lc ld: cannot find -lm make: *** [obj1.pd_linux] Error 1
?
On Fri, May 29, 2015 at 11:11 AM, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 05/29/2015 05:40 PM, Charles Z Henry wrote:
You should have a /usr/lib/libc.so or /usr/lib64/libc.so
and /usr/lib/libm.so or /usr/lib64/libm.so
as the OP indicated that they are using "apt-get", it seems they are on Debian (or a derivative). Debian does not use /usr/lib64/ but has another multi-arch naming scheme that is more generic and supports more than a single architecture.
you should have:
/usr/lib/${HOST_TRIPLET}/libc.so /usr/lib/${HOST_TRIPLET}/libm.so
where ${HOST_TRIPLET} is something like "x86_64-linux-gnu" (on a 64bit system) or "i386-linux-gnu" (on 32bit)
gfasmrd IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Maybe try apt-get install build-essential That usually sets everything up so it (compiling c and c++ code via makefiles) just works.
Martin
On Fri, May 29, 2015 at 7:03 PM, Forrest Curo treegestalt@gmail.com wrote:
Okay, this is a debian 7.something with the packaging manually fnurgled, fixed (I hope) with 'apt-get upgrade' this morning -- and usr/lib contains both '386-linux-gnu' and 'x86_64-linux-gnu' -- But neither of these contain a file named 'libc.so' or 'libm.so'.
Tried 'apt-get install libc.so; and 'apt-get install libm.so' [I think the latter gave me a bunch of irrelevant stuff!]
and the result is still: make pd_linux gcc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -fPIC -o obj1.o -c obj1.c ld -shared -o obj1.pd_linux obj1.o -lc -lm ld: cannot find -lc ld: cannot find -lm make: *** [obj1.pd_linux] Error 1
?
On Fri, May 29, 2015 at 11:11 AM, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 05/29/2015 05:40 PM, Charles Z Henry wrote:
You should have a /usr/lib/libc.so or /usr/lib64/libc.so
and /usr/lib/libm.so or /usr/lib64/libm.so
as the OP indicated that they are using "apt-get", it seems they are on Debian (or a derivative). Debian does not use /usr/lib64/ but has another multi-arch naming scheme that is more generic and supports more than a single architecture.
you should have:
/usr/lib/${HOST_TRIPLET}/libc.so /usr/lib/${HOST_TRIPLET}/libm.so
where ${HOST_TRIPLET} is something like "x86_64-linux-gnu" (on a 64bit system) or "i386-linux-gnu" (on 32bit)
gfasmrd IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Thanks, guys! That was a bitch! (In an orgy of misplaced persistence I'd manually installed csound6 before there'd been a debian package for it -- and thereby fried my audio on that partition until this morning. Then I'd been able to upgrade out of it -- but that still left things messed up; I couldn't install build-essential except by running aptitude & rejecting its first option ("Don't install 'build-essential' at all") but its next option worked, whee!)
On Fri, May 29, 2015 at 7:48 PM, Martin Peach chakekatzil@gmail.com wrote:
Maybe try apt-get install build-essential That usually sets everything up so it (compiling c and c++ code via makefiles) just works.
Martin
On Fri, May 29, 2015 at 7:03 PM, Forrest Curo treegestalt@gmail.com wrote:
Okay, this is a debian 7.something with the packaging manually fnurgled, fixed (I hope) with 'apt-get upgrade' this morning -- and usr/lib contains both '386-linux-gnu' and 'x86_64-linux-gnu' -- But neither of these contain a file named 'libc.so' or 'libm.so'.
Tried 'apt-get install libc.so; and 'apt-get install libm.so' [I think the latter gave me a bunch of irrelevant stuff!]
and the result is still: make pd_linux gcc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -fPIC -o obj1.o -c obj1.c ld -shared -o obj1.pd_linux obj1.o -lc -lm ld: cannot find -lc ld: cannot find -lm make: *** [obj1.pd_linux] Error 1
?
On Fri, May 29, 2015 at 11:11 AM, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 05/29/2015 05:40 PM, Charles Z Henry wrote:
You should have a /usr/lib/libc.so or /usr/lib64/libc.so
and /usr/lib/libm.so or /usr/lib64/libm.so
as the OP indicated that they are using "apt-get", it seems they are on Debian (or a derivative). Debian does not use /usr/lib64/ but has another multi-arch naming scheme that is more generic and supports more than a single architecture.
you should have:
/usr/lib/${HOST_TRIPLET}/libc.so /usr/lib/${HOST_TRIPLET}/libm.so
where ${HOST_TRIPLET} is something like "x86_64-linux-gnu" (on a 64bit system) or "i386-linux-gnu" (on 32bit)
gfasmrd IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Ooops... On my ubuntu partition, on another hand, although it too is a recent upgrade, the lack of build-essential doesn't seem to be the problem, neither does a lack of libc.so or libm.so.
What is going wrong on that partition looks like: root@lapcritter:/usr/lib/puredata/doc/6.externs# make pd_linux cc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -fPIC -o obj1.o -c obj1.c obj1.c: In function ‘obj1_float’: obj1.c:15:25: error: unused parameter ‘x’ [-Werror=unused-parameter] void obj1_float(t_obj1 *x, t_floatarg f) ^ obj1.c: In function ‘obj1_rats’: obj1.c:21:24: error: unused parameter ‘x’ [-Werror=unused-parameter] void obj1_rats(t_obj1 *x) ^ cc1: all warnings being treated as errors makefile:58: recipe for target 'obj1.l_ia64' failed make: *** [obj1.l_ia64] Error 1
(?)
On Fri, May 29, 2015 at 10:06 PM, Forrest Curo treegestalt@gmail.com wrote:
Thanks, guys! That was a bitch! (In an orgy of misplaced persistence I'd manually installed csound6 before there'd been a debian package for it -- and thereby fried my audio on that partition until this morning. Then I'd been able to upgrade out of it -- but that still left things messed up; I couldn't install build-essential except by running aptitude & rejecting its first option ("Don't install 'build-essential' at all") but its next option worked, whee!)
On Fri, May 29, 2015 at 7:48 PM, Martin Peach chakekatzil@gmail.com wrote:
Maybe try apt-get install build-essential That usually sets everything up so it (compiling c and c++ code via makefiles) just works.
Martin
On Fri, May 29, 2015 at 7:03 PM, Forrest Curo treegestalt@gmail.com wrote:
Okay, this is a debian 7.something with the packaging manually fnurgled, fixed (I hope) with 'apt-get upgrade' this morning -- and usr/lib contains both '386-linux-gnu' and 'x86_64-linux-gnu' -- But neither of these contain a file named 'libc.so' or 'libm.so'.
Tried 'apt-get install libc.so; and 'apt-get install libm.so' [I think the latter gave me a bunch of irrelevant stuff!]
and the result is still: make pd_linux gcc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -fPIC -o obj1.o -c obj1.c ld -shared -o obj1.pd_linux obj1.o -lc -lm ld: cannot find -lc ld: cannot find -lm make: *** [obj1.pd_linux] Error 1
?
On Fri, May 29, 2015 at 11:11 AM, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 05/29/2015 05:40 PM, Charles Z Henry wrote:
You should have a /usr/lib/libc.so or /usr/lib64/libc.so
and /usr/lib/libm.so or /usr/lib64/libm.so
as the OP indicated that they are using "apt-get", it seems they are on Debian (or a derivative). Debian does not use /usr/lib64/ but has another multi-arch naming scheme that is more generic and supports more than a single architecture.
you should have:
/usr/lib/${HOST_TRIPLET}/libc.so /usr/lib/${HOST_TRIPLET}/libm.so
where ${HOST_TRIPLET} is something like "x86_64-linux-gnu" (on a 64bit system) or "i386-linux-gnu" (on 32bit)
gfasmrd IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
You need to remove the -Werror option in the makefile, it causes gcc to treat warnings as errors. Unused parameters are usually not a problem.
Martin
On Sat, May 30, 2015 at 9:26 AM, Forrest Curo treegestalt@gmail.com wrote:
Ooops... On my ubuntu partition, on another hand, although it too is a recent upgrade, the lack of build-essential doesn't seem to be the problem, neither does a lack of libc.so or libm.so.
What is going wrong on that partition looks like: root@lapcritter:/usr/lib/puredata/doc/6.externs# make pd_linux cc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -fPIC -o obj1.o -c obj1.c obj1.c: In function ‘obj1_float’: obj1.c:15:25: error: unused parameter ‘x’ [-Werror=unused-parameter] void obj1_float(t_obj1 *x, t_floatarg f) ^ obj1.c: In function ‘obj1_rats’: obj1.c:21:24: error: unused parameter ‘x’ [-Werror=unused-parameter] void obj1_rats(t_obj1 *x) ^ cc1: all warnings being treated as errors makefile:58: recipe for target 'obj1.l_ia64' failed make: *** [obj1.l_ia64] Error 1
(?)
On Fri, May 29, 2015 at 10:06 PM, Forrest Curo treegestalt@gmail.com wrote:
Thanks, guys! That was a bitch! (In an orgy of misplaced persistence I'd manually installed csound6 before there'd been a debian package for it -- and thereby fried my audio on that partition until this morning. Then I'd been able to upgrade out of it -- but that still left things messed up; I couldn't install build-essential except by running aptitude & rejecting its first option ("Don't install 'build-essential' at all") but its next option worked, whee!)
On Fri, May 29, 2015 at 7:48 PM, Martin Peach chakekatzil@gmail.com wrote:
Maybe try apt-get install build-essential That usually sets everything up so it (compiling c and c++ code via makefiles) just works.
Martin
On Fri, May 29, 2015 at 7:03 PM, Forrest Curo treegestalt@gmail.com wrote:
Okay, this is a debian 7.something with the packaging manually fnurgled, fixed (I hope) with 'apt-get upgrade' this morning -- and usr/lib contains both '386-linux-gnu' and 'x86_64-linux-gnu' -- But neither of these contain a file named 'libc.so' or 'libm.so'.
Tried 'apt-get install libc.so; and 'apt-get install libm.so' [I think the latter gave me a bunch of irrelevant stuff!]
and the result is still: make pd_linux gcc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I../../src -fPIC -o obj1.o -c obj1.c ld -shared -o obj1.pd_linux obj1.o -lc -lm ld: cannot find -lc ld: cannot find -lm make: *** [obj1.pd_linux] Error 1
?
On Fri, May 29, 2015 at 11:11 AM, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 05/29/2015 05:40 PM, Charles Z Henry wrote:
You should have a /usr/lib/libc.so or /usr/lib64/libc.so
and /usr/lib/libm.so or /usr/lib64/libm.so
as the OP indicated that they are using "apt-get", it seems they are on Debian (or a derivative). Debian does not use /usr/lib64/ but has another multi-arch naming scheme that is more generic and supports more than a single architecture.
you should have:
/usr/lib/${HOST_TRIPLET}/libc.so /usr/lib/${HOST_TRIPLET}/libm.so
where ${HOST_TRIPLET} is something like "x86_64-linux-gnu" (on a 64bit system) or "i386-linux-gnu" (on 32bit)
gfasmrd IOhannes
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list