Discussion:
Developing on Linux
(too old to reply)
Paul Licameli
2017-06-30 22:53:57 UTC
Permalink
I am very tardily (sorry) figuring out linux builds for myself, and these
pages still look very dated.
http://wiki.audacityteam.org/wiki/Developing_On_Linux

I'm stalled at running ./configure. I am told there are syntax errors
starting at line 30.

Help please?

Once over this hump, I imagine I could figure out how to get portmidi to
compile and link by analogy with the other libraries.

PRL
Darrell Walisser
2017-06-30 23:34:30 UTC
Permalink
Post by Paul Licameli
I am very tardily (sorry) figuring out linux builds for myself, and these
pages still look very dated. http://wiki.audacityteam.org/
wiki/Developing_On_Linux
I'm stalled at running ./configure. I am told there are syntax errors
starting at line 30.
Help please?
There are lots of ./configure... (under lib-src) I assume you mean the
top-level one.

​I just pulled the current master, not having this issue. If configure is
bad, then I immediately suspect configure.ac or one of the macros under m4/

I added some support for portmidi to my crosscompile branch, but only for
linking with non-libsrc/external version. Needed that for the windows
build. At the time I was unable to crosscompile portmidi from the lib-src
copy. Anyways, the relevant commit is here:

https://github.com/audacity/audacity/pull/161/commits/208b5cbdc4a1bbb0d5ecb1023a96098e7bea1781

Note this may be broken, I haven't rebased or compiled this branch for a
while.
Paul Licameli
2017-06-30 23:41:10 UTC
Permalink
On Fri, Jun 30, 2017 at 7:34 PM, Darrell Walisser <
Post by Darrell Walisser
Post by Paul Licameli
I am very tardily (sorry) figuring out linux builds for myself, and these
pages still look very dated. http://wiki.audacityteam.org/
wiki/Developing_On_Linux
I'm stalled at running ./configure. I am told there are syntax errors
starting at line 30.
Help please?
There are lots of ./configure... (under lib-src) I assume you mean the
top-level one.
​I just pulled the current master, not having this issue. If configure is
bad, then I immediately suspect configure.ac or one of the macros under m4/
Assume I am a total noob. What am I supposed to do with those files on the
command line?

I just type
./configure

but it doesn't go for me. I see the file has #!/bin/sh so it's supposed
to sh itself, but then I am told there are syntax errors in it.

PRL
Post by Darrell Walisser
I added some support for portmidi to my crosscompile branch, but only for
linking with non-libsrc/external version. Needed that for the windows
build. At the time I was unable to crosscompile portmidi from the lib-src
https://github.com/audacity/audacity/pull/161/commits/
208b5cbdc4a1bbb0d5ecb1023a96098e7bea1781
Note this may be broken, I haven't rebased or compiled this branch for a
while.
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Darrell Walisser
2017-06-30 23:49:01 UTC
Permalink
Post by Paul Licameli
On Fri, Jun 30, 2017 at 7:34 PM, Darrell Walisser <
Post by Darrell Walisser
Post by Paul Licameli
I am very tardily (sorry) figuring out linux builds for myself, and
these pages still look very dated. http://wiki.audacityteam.org/
wiki/Developing_On_Linux
I'm stalled at running ./configure. I am told there are syntax errors
starting at line 30.
Help please?
There are lots of ./configure... (under lib-src) I assume you mean the
top-level one.
​I just pulled the current master, not having this issue. If configure is
bad, then I immediately suspect configure.ac or one of the macros under m4/
Assume I am a total noob. What am I supposed to do with those files on
the command line?
I just type
./configure
but it doesn't go for me. I see the file has #!/bin/sh so it's supposed
to sh itself, but then I am told there are syntax errors in it.
​I did just that; ./configure is all that's needed assuming nothing is
broken in the build. The equivalent is "sh -c ./configure" in case
something is wrong with your shell.
Steve the Fiddle
2017-06-30 23:44:16 UTC
Permalink
For Dbian / 'buntu distros, try this config command:
../configure CXXFLAGS="-std=gnu++11" --disable-dynamic-loading --enable-debug
and see this post:
https://forum.audacityteam.org/viewtopic.php?f=19&t=88922

Steve
Post by Darrell Walisser
Post by Paul Licameli
I am very tardily (sorry) figuring out linux builds for myself, and these
pages still look very dated.
http://wiki.audacityteam.org/wiki/Developing_On_Linux
I'm stalled at running ./configure. I am told there are syntax errors
starting at line 30.
Help please?
There are lots of ./configure... (under lib-src) I assume you mean the
top-level one.
I just pulled the current master, not having this issue. If configure is
bad, then I immediately suspect configure.ac or one of the macros under m4/
I added some support for portmidi to my crosscompile branch, but only for
linking with non-libsrc/external version. Needed that for the windows build.
At the time I was unable to crosscompile portmidi from the lib-src copy.
https://github.com/audacity/audacity/pull/161/commits/208b5cbdc4a1bbb0d5ecb1023a96098e7bea1781
Note this may be broken, I haven't rebased or compiled this branch for a
while.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Paul Licameli
2017-07-01 00:57:24 UTC
Permalink
Post by Steve the Fiddle
../configure CXXFLAGS="-std=gnu++11" --disable-dynamic-loading
--enable-debug
https://forum.audacityteam.org/viewtopic.php?f=19&t=88922
Steve
What says pwd when you type ../ there?

PRL
Post by Steve the Fiddle
Post by Darrell Walisser
Post by Paul Licameli
I am very tardily (sorry) figuring out linux builds for myself, and
these
Post by Darrell Walisser
Post by Paul Licameli
pages still look very dated.
http://wiki.audacityteam.org/wiki/Developing_On_Linux
I'm stalled at running ./configure. I am told there are syntax errors
starting at line 30.
Help please?
There are lots of ./configure... (under lib-src) I assume you mean the
top-level one.
I just pulled the current master, not having this issue. If configure is
bad, then I immediately suspect configure.ac or one of the macros under
m4/
Post by Darrell Walisser
I added some support for portmidi to my crosscompile branch, but only for
linking with non-libsrc/external version. Needed that for the windows
build.
Post by Darrell Walisser
At the time I was unable to crosscompile portmidi from the lib-src copy.
https://github.com/audacity/audacity/pull/161/commits/
208b5cbdc4a1bbb0d5ecb1023a96098e7bea1781
Post by Darrell Walisser
Note this may be broken, I haven't rebased or compiled this branch for a
while.
------------------------------------------------------------
------------------
Post by Darrell Walisser
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Steve the Fiddle
2017-07-01 09:24:03 UTC
Permalink
Post by Paul Licameli
Post by Steve the Fiddle
../configure CXXFLAGS="-std=gnu++11" --disable-dynamic-loading --enable-debug
https://forum.audacityteam.org/viewtopic.php?f=19&t=88922
Steve
What says pwd when you type ../ there?
I'm not sure what you are asking.
If the root of the Audacity source code is at:

/home/my-user-name/sourcecode/audacity

then I create a sub-directory "build".

/home/my-user-name/sourcecode/audacity/build

I then navigate into the build directory, for example

cd "/home/my-user-name/sourcecode/audacity/build"

and run the config command from there with two dots.
The "build" directory is in the same folder as "src", "lib-src",
"include" and the rest.
(and remember that Linux is fully case-sensitive)

The purpose of the "build" directory is to avoid littering the source
code with object files.

Steve
Post by Paul Licameli
PRL
Post by Steve the Fiddle
Post by Darrell Walisser
Post by Paul Licameli
I am very tardily (sorry) figuring out linux builds for myself, and these
pages still look very dated.
http://wiki.audacityteam.org/wiki/Developing_On_Linux
I'm stalled at running ./configure. I am told there are syntax errors
starting at line 30.
Help please?
There are lots of ./configure... (under lib-src) I assume you mean the
top-level one.
I just pulled the current master, not having this issue. If configure is
bad, then I immediately suspect configure.ac or one of the macros under m4/
I added some support for portmidi to my crosscompile branch, but only for
linking with non-libsrc/external version. Needed that for the windows build.
At the time I was unable to crosscompile portmidi from the lib-src copy.
https://github.com/audacity/audacity/pull/161/commits/208b5cbdc4a1bbb0d5ecb1023a96098e7bea1781
Note this may be broken, I haven't rebased or compiled this branch for a
while.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Paul Licameli
2017-07-01 14:11:40 UTC
Permalink
I thought I just type ./configure. But I am told
bash: ./configure: Permission denied

Then I try chmod +x configure but ls -l still tells me it is not
executable. I am trying to reuse the same external storage device that I
also used from the Windows partition to build the source tree. I don't
know if something in the file system denies me using chmod.

I try
sh configure

Now it appears that sh is interpreting the file, but I get

: not found14: configure:
configure: 30: configure: Syntax error: newline unexpected (expecting ")")

Does anyone know how to interpret these symptoms?

How do I find out if I have the right version of sh?

PRL


On Fri, Jun 30, 2017 at 7:44 PM, Pokechu22 <
I also have a portmidi automake file (based off of the ones that were
present at 932ca88255), which is currently on my midi-out-2 branch (not
finished yet, and the config does seem to be somewhat broken right now but
I'll detail that later).
One thing that the article is confusing about: you need to run autoreconf
--no-recursive -i *before* you run ./configure; autoreconf regenerates
the configure script.
--Poke
Post by Paul Licameli
I am very tardily (sorry) figuring out linux builds for myself, and these
pages still look very dated. http://wiki.audacityteam.org/
wiki/Developing_On_Linux
I'm stalled at running ./configure. I am told there are syntax errors
starting at line 30.
Help please?
Once over this hump, I imagine I could figure out how to get portmidi to
compile and link by analogy with the other libraries.
PRL
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Paul Licameli
2017-07-01 14:17:17 UTC
Permalink
man sh brings up a man page for dash
Post by Paul Licameli
I thought I just type ./configure. But I am told
bash: ./configure: Permission denied
Then I try chmod +x configure but ls -l still tells me it is not
executable. I am trying to reuse the same external storage device that I
also used from the Windows partition to build the source tree. I don't
know if something in the file system denies me using chmod.
I try
sh configure
Now it appears that sh is interpreting the file, but I get
configure: 30: configure: Syntax error: newline unexpected (expecting ")")
Does anyone know how to interpret these symptoms?
How do I find out if I have the right version of sh?
PRL
I also have a portmidi automake file (based off of the ones that were
present at 932ca88255), which is currently on my midi-out-2 branch (not
finished yet, and the config does seem to be somewhat broken right now but
I'll detail that later).
One thing that the article is confusing about: you need to run autoreconf
--no-recursive -i *before* you run ./configure; autoreconf regenerates
the configure script.
--Poke
Post by Paul Licameli
I am very tardily (sorry) figuring out linux builds for myself, and
these pages still look very dated. http://wiki.audacityteam.org/
wiki/Developing_On_Linux
I'm stalled at running ./configure. I am told there are syntax errors
starting at line 30.
Help please?
Once over this hump, I imagine I could figure out how to get portmidi to
compile and link by analogy with the other libraries.
PRL
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Paul Licameli
2017-07-01 14:25:51 UTC
Permalink
aclocal then autoconf modified configure for me, now I can sh it, but now I
am stopped here:
checking whether we are cross compiling...
configure: error: cannot run C compiled programs.
If you meant to cross compile, use '--host'.

config.log tells me that configure tried running gcc to make a small
executable, then run it, but permission was denied to run it.

PRL
Post by Paul Licameli
man sh brings up a man page for dash
Post by Paul Licameli
I thought I just type ./configure. But I am told
bash: ./configure: Permission denied
Then I try chmod +x configure but ls -l still tells me it is not
executable. I am trying to reuse the same external storage device that I
also used from the Windows partition to build the source tree. I don't
know if something in the file system denies me using chmod.
I try
sh configure
Now it appears that sh is interpreting the file, but I get
configure: 30: configure: Syntax error: newline unexpected (expecting ")")
Does anyone know how to interpret these symptoms?
How do I find out if I have the right version of sh?
PRL
I also have a portmidi automake file (based off of the ones that were
present at 932ca88255), which is currently on my midi-out-2 branch (not
finished yet, and the config does seem to be somewhat broken right now but
I'll detail that later).
One thing that the article is confusing about: you need to run autoreconf
--no-recursive -i *before* you run ./configure; autoreconf regenerates
the configure script.
--Poke
Post by Paul Licameli
I am very tardily (sorry) figuring out linux builds for myself, and
these pages still look very dated. http://wiki.audacityteam.org/
wiki/Developing_On_Linux
I'm stalled at running ./configure. I am told there are syntax errors
starting at line 30.
Help please?
Once over this hump, I imagine I could figure out how to get portmidi
to compile and link by analogy with the other libraries.
PRL
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Paul Licameli
2017-07-01 14:38:50 UTC
Permalink
I think I identified the problem -- I have an external drive that Ubuntu
can read and write, but it silently fails to add +x permission to
anything. I don't know why that is, but I can copy the source tree
elsewhere onto the internal drive and I don't have that problem, and I can
run the unchanged configure file.

Good! Now I must figure out other lesser difficulties, like getting the
right version of gcc.

PRL
Post by Paul Licameli
aclocal then autoconf modified configure for me, now I can sh it, but now
checking whether we are cross compiling...
configure: error: cannot run C compiled programs.
If you meant to cross compile, use '--host'.
config.log tells me that configure tried running gcc to make a small
executable, then run it, but permission was denied to run it.
PRL
Post by Paul Licameli
man sh brings up a man page for dash
Post by Paul Licameli
I thought I just type ./configure. But I am told
bash: ./configure: Permission denied
Then I try chmod +x configure but ls -l still tells me it is not
executable. I am trying to reuse the same external storage device that I
also used from the Windows partition to build the source tree. I don't
know if something in the file system denies me using chmod.
I try
sh configure
Now it appears that sh is interpreting the file, but I get
configure: 30: configure: Syntax error: newline unexpected (expecting ")")
Does anyone know how to interpret these symptoms?
How do I find out if I have the right version of sh?
PRL
On Fri, Jun 30, 2017 at 7:44 PM, Pokechu22 <
I also have a portmidi automake file (based off of the ones that were
present at 932ca88255), which is currently on my midi-out-2 branch (not
finished yet, and the config does seem to be somewhat broken right now but
I'll detail that later).
One thing that the article is confusing about: you need to run autoreconf
--no-recursive -i *before* you run ./configure; autoreconf regenerates
the configure script.
--Poke
Post by Paul Licameli
I am very tardily (sorry) figuring out linux builds for myself, and
these pages still look very dated. http://wiki.audacityteam.org/
wiki/Developing_On_Linux
I'm stalled at running ./configure. I am told there are syntax errors
starting at line 30.
Help please?
Once over this hump, I imagine I could figure out how to get portmidi
to compile and link by analogy with the other libraries.
PRL
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
edgar
2017-07-01 16:00:51 UTC
Permalink
Am Sat, 1 Jul 2017 10:38:50 -0400
Post by Paul Licameli
I think I identified the problem -- I have an external drive that
Ubuntu can read and write, but it silently fails to add +x permission
to anything. I don't know why that is, but I can copy the source tree
elsewhere onto the internal drive and I don't have that problem, and
I can run the unchanged configure file.
Windows usues different file permission bits than Linux. This means that
if you have checked out the code under Windows, Linux will interpret the
file permissions wrong. Also Windows checkouts have CRLF linebreaks,
while Linux needs LF-only linebreaks.
Post by Paul Licameli
Good! Now I must figure out other lesser difficulties, like getting
the right version of gcc.
PRL
On Sat, Jul 1, 2017 at 10:25 AM, Paul Licameli
Post by Paul Licameli
aclocal then autoconf modified configure for me, now I can sh it,
checking whether we are cross compiling...
configure: error: cannot run C compiled programs.
If you meant to cross compile, use '--host'.
config.log tells me that configure tried running gcc to make a small
executable, then run it, but permission was denied to run it.
PRL
On Sat, Jul 1, 2017 at 10:17 AM, Paul Licameli
Post by Paul Licameli
man sh brings up a man page for dash
On Sat, Jul 1, 2017 at 10:11 AM, Paul Licameli
Post by Paul Licameli
I thought I just type ./configure. But I am told
bash: ./configure: Permission denied
Then I try chmod +x configure but ls -l still tells me it is not
executable. I am trying to reuse the same external storage
device that I also used from the Windows partition to build the
source tree. I don't know if something in the file system denies
me using chmod.
I try
sh configure
Now it appears that sh is interpreting the file, but I get
configure: 30: configure: Syntax error: newline unexpected
(expecting ")")
Does anyone know how to interpret these symptoms?
How do I find out if I have the right version of sh?
PRL
On Fri, Jun 30, 2017 at 7:44 PM, Pokechu22 <
I also have a portmidi automake file (based off of the ones that
were present at 932ca88255), which is currently on my midi-out-2
branch (not finished yet, and the config does seem to be
somewhat broken right now but I'll detail that later).
One thing that the article is confusing about: you need to run
autoreconf --no-recursive -i *before* you run ./configure;
autoreconf regenerates the configure script.
--Poke
On Fri, Jun 30, 2017 at 3:53 PM, Paul Licameli
Post by Paul Licameli
I am very tardily (sorry) figuring out linux builds for myself,
and these pages still look very dated.
http://wiki.audacityteam.org/ wiki/Developing_On_Linux
I'm stalled at running ./configure. I am told there are syntax
errors starting at line 30.
Help please?
Once over this hump, I imagine I could figure out how to get
portmidi to compile and link by analogy with the other
libraries.
PRL
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
--
The author of this email does not necessarily endorse the following
advertisements, which are the sole responsibility of the advertiser:
Paul Licameli
2017-07-01 16:23:10 UTC
Permalink
Post by edgar
Am Sat, 1 Jul 2017 10:38:50 -0400
Post by Paul Licameli
I think I identified the problem -- I have an external drive that
Ubuntu can read and write, but it silently fails to add +x permission
to anything. I don't know why that is, but I can copy the source tree
elsewhere onto the internal drive and I don't have that problem, and
I can run the unchanged configure file.
Windows usues different file permission bits than Linux. This means that
if you have checked out the code under Windows, Linux will interpret the
file permissions wrong. Also Windows checkouts have CRLF linebreaks,
while Linux needs LF-only linebreaks.
I think there's something more fundamental than that. It's not just git.
From the command line, I can't change the x permission on any files on that
drive.

So maybe I must repartition it and let Linux reformat a part of it, or some
such thing. Or, as I did, just copy the tree to partition of the internal
drive I made when I set up my dual boot.

PRL
Post by edgar
Post by Paul Licameli
Good! Now I must figure out other lesser difficulties, like getting
the right version of gcc.
PRL
On Sat, Jul 1, 2017 at 10:25 AM, Paul Licameli
Post by Paul Licameli
aclocal then autoconf modified configure for me, now I can sh it,
checking whether we are cross compiling...
configure: error: cannot run C compiled programs.
If you meant to cross compile, use '--host'.
config.log tells me that configure tried running gcc to make a small
executable, then run it, but permission was denied to run it.
PRL
On Sat, Jul 1, 2017 at 10:17 AM, Paul Licameli
Post by Paul Licameli
man sh brings up a man page for dash
On Sat, Jul 1, 2017 at 10:11 AM, Paul Licameli
Post by Paul Licameli
I thought I just type ./configure. But I am told
bash: ./configure: Permission denied
Then I try chmod +x configure but ls -l still tells me it is not
executable. I am trying to reuse the same external storage
device that I also used from the Windows partition to build the
source tree. I don't know if something in the file system denies
me using chmod.
I try
sh configure
Now it appears that sh is interpreting the file, but I get
configure: 30: configure: Syntax error: newline unexpected (expecting ")")
Does anyone know how to interpret these symptoms?
How do I find out if I have the right version of sh?
PRL
On Fri, Jun 30, 2017 at 7:44 PM, Pokechu22 <
I also have a portmidi automake file (based off of the ones that
were present at 932ca88255), which is currently on my midi-out-2
branch (not finished yet, and the config does seem to be
somewhat broken right now but I'll detail that later).
One thing that the article is confusing about: you need to run
autoreconf --no-recursive -i *before* you run ./configure;
autoreconf regenerates the configure script.
--Poke
On Fri, Jun 30, 2017 at 3:53 PM, Paul Licameli
Post by Paul Licameli
I am very tardily (sorry) figuring out linux builds for myself,
and these pages still look very dated.
http://wiki.audacityteam.org/ wiki/Developing_On_Linux
I'm stalled at running ./configure. I am told there are syntax
errors starting at line 30.
Help please?
Once over this hump, I imagine I could figure out how to get
portmidi to compile and link by analogy with the other
libraries.
PRL
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
--
The author of this email does not necessarily endorse the following
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Darrell Walisser
2017-07-01 17:34:33 UTC
Permalink
Post by Paul Licameli
Post by edgar
Am Sat, 1 Jul 2017 10:38:50 -0400
Post by Paul Licameli
I think I identified the problem -- I have an external drive that
Ubuntu can read and write, but it silently fails to add +x permission
to anything. I don't know why that is, but I can copy the source tree
elsewhere onto the internal drive and I don't have that problem, and
I can run the unchanged configure file.
Windows usues different file permission bits than Linux. This means that
if you have checked out the code under Windows, Linux will interpret the
file permissions wrong. Also Windows checkouts have CRLF linebreaks,
while Linux needs LF-only linebreaks.
I think there's something more fundamental than that. It's not just git.
From the command line, I can't change the x permission on any files on that
drive.
So maybe I must repartition it and let Linux reformat a part of it, or
some such thing. Or, as I did, just copy the tree to partition of the
internal drive I made when I set up my dual boot.
​The CRLF will definitely trip up shell scripts like configure. This
explains why regenerating configure corrected one issue. To avoid future
mishaps, us a separate git clone on each system.

Your shell should be bash normally. In theory the build system is sh
compatible but I doubt anyone has validated that, the default shell is bash
in most distros.

As for the non-execute thing, probably the drive was auto-mounted with
"noexec" flag as a default security measure. You can override that, but I
recommend instead to use a separate clone. Also solves the CRLF issue.
Paul Licameli
2017-07-01 18:28:23 UTC
Permalink
Post by Darrell Walisser
Post by Paul Licameli
Post by edgar
Am Sat, 1 Jul 2017 10:38:50 -0400
Post by Paul Licameli
I think I identified the problem -- I have an external drive that
Ubuntu can read and write, but it silently fails to add +x permission
to anything. I don't know why that is, but I can copy the source tree
elsewhere onto the internal drive and I don't have that problem, and
I can run the unchanged configure file.
Windows usues different file permission bits than Linux. This means that
if you have checked out the code under Windows, Linux will interpret the
file permissions wrong. Also Windows checkouts have CRLF linebreaks,
while Linux needs LF-only linebreaks.
I think there's something more fundamental than that. It's not just
git. From the command line, I can't change the x permission on any files
on that drive.
So maybe I must repartition it and let Linux reformat a part of it, or
some such thing. Or, as I did, just copy the tree to partition of the
internal drive I made when I set up my dual boot.
​The CRLF will definitely trip up shell scripts like configure. This
explains why regenerating configure corrected one issue. To avoid future
mishaps, us a separate git clone on each system.
Your shell should be bash normally. In theory the build system is sh
compatible but I doubt anyone has validated that, the default shell is bash
in most distros.
configure starts with #!/bin/sh so that is the shell that it really uses.

Yes, I suppose line endings explain the syntax errors from sh, and checking
configure out again from the git repository fixed that, but the noexec was
another obstacle.

PRL
Post by Darrell Walisser
As for the non-execute thing, probably the drive was auto-mounted with
"noexec" flag as a default security measure. You can override that, but I
recommend instead to use a separate clone. Also solves the CRLF issue.
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Darrell Walisser
2017-07-01 18:48:29 UTC
Permalink
/bin/sh is usually symlinked to one of the sh-compatible shells. On my
system that appears to be /bin/dash. I could swear it was bash at one point.
On Sat, Jul 1, 2017 at 1:34 PM, Darrell Walisser <
Post by Darrell Walisser
Post by Paul Licameli
Post by edgar
Am Sat, 1 Jul 2017 10:38:50 -0400
Post by Paul Licameli
I think I identified the problem -- I have an external drive that
Ubuntu can read and write, but it silently fails to add +x permission
to anything. I don't know why that is, but I can copy the source tree
elsewhere onto the internal drive and I don't have that problem, and
I can run the unchanged configure file.
Windows usues different file permission bits than Linux. This means that
if you have checked out the code under Windows, Linux will interpret the
file permissions wrong. Also Windows checkouts have CRLF linebreaks,
while Linux needs LF-only linebreaks.
I think there's something more fundamental than that. It's not just
git. From the command line, I can't change the x permission on any files
on that drive.
So maybe I must repartition it and let Linux reformat a part of it, or
some such thing. Or, as I did, just copy the tree to partition of the
internal drive I made when I set up my dual boot.
​The CRLF will definitely trip up shell scripts like configure. This
explains why regenerating configure corrected one issue. To avoid future
mishaps, us a separate git clone on each system.
Your shell should be bash normally. In theory the build system is sh
compatible but I doubt anyone has validated that, the default shell is bash
in most distros.
configure starts with #!/bin/sh so that is the shell that it really uses.
Yes, I suppose line endings explain the syntax errors from sh, and
checking configure out again from the git repository fixed that, but the
noexec was another obstacle.
PRL
Post by Darrell Walisser
As for the non-execute thing, probably the drive was auto-mounted with
"noexec" flag as a default security measure. You can override that, but I
recommend instead to use a separate clone. Also solves the CRLF issue.
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Richard Ash
2017-07-02 13:03:35 UTC
Permalink
On Sat, 1 Jul 2017 10:38:50 -0400
Post by Paul Licameli
I think I identified the problem -- I have an external drive that
Ubuntu can read and write, but it silently fails to add +x permission
to anything. I don't know why that is, but I can copy the source tree
elsewhere onto the internal drive and I don't have that problem, and
I can run the unchanged configure file.
Your external drive almost certainly isn't formatted with a file system
that supports the POSIX permissions model (especially if it was
formatted from Windows). As you found, you need a fully POSIX file
system in order for the build tools (notably make) to run. Even if you
got round the execute bit problem you would have hit problems with file
name case later on.

Added note, you should check out the source code with git under Linux,
not use a git tree which was checked out under Windows, because git
will do some things (like setting end of line characters and execute
bits) which are specific to the platform you are checking out on.
https://help.github.com/articles/dealing-with-line-endings/
Most of the Audacity source tree is fairly tolerant, but we don't
support building copied trees so I'm sure there will be issues hiding.

If the 'c++' executable in your PATH isn't the c++ compiler you want to
use, then you can set the compiler on the configure command line, e.g.
./configure CC=/usr/i686-pc-linux-gnu/gcc-bin/5.4.0/gcc
CXX=/usr/i686-pc-linux-gnu/gcc-bin/5.4.0/g++

doing the command in this order means that the values are cached and
will be re-used in the future.

Richard

Loading...