Getting stuck building on Linux

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Getting stuck building on Linux

Gale
Administrator
Ubuntu 14.04.

I use default

./configure CXXFLAGS="-std=gnu++11"

Even on a fresh checkout, running make I get stuck on the following

audacity-AudioIO.o: In function `AudioIO::MidiTime()':
/home/gale/audacityHEAD/audacity/src/AudioIO.cpp:3984: undefined
reference to `PaUtil_GetTime'
collect2: error: ld returned 1 exit status
make[2]: *** [audacity] Error 1
make[2]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
make: *** [all-recursive] Error 1

Can anyone give some pointers how to get round this?

Thank you.


Gale

------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Getting stuck building on Linux

Paul Licameli


On Sat, Jul 15, 2017 at 12:43 PM, Gale Andrews <[hidden email]> wrote:
Ubuntu 14.04.

I use default

./configure CXXFLAGS="-std=gnu++11"

Even on a fresh checkout, running make I get stuck on the following

audacity-AudioIO.o: In function `AudioIO::MidiTime()':
/home/gale/audacityHEAD/audacity/src/AudioIO.cpp:3984: undefined
reference to `PaUtil_GetTime'
collect2: error: ld returned 1 exit status
make[2]: *** [audacity] Error 1
make[2]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
make: *** [all-recursive] Error 1

Can anyone give some pointers how to get round this?

Thank you.


Gale

A link, not a compilation error.

Can you help us, Poke?

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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Getting stuck building on Linux

Pokechu22
I've seen this before, and it's an odd one.  It happens on some machines but not others.

Midi synchronization uses PaUtil_GetTime, which isn't part of portaudio's public API but instead is one of the methods declared in pa_util.h.  On some machines, this is still fine, but on others it doesn't link.  I'm not sure why.  In both cases, the method seems to be present in the binary: My pi has it as "000000c0 T PaUtil_GetTime" in pa_unix_util.o and my main computer, via windows subsystem for Linux, has it as "00000000000000f0 T PaUtil_GetTime" also in pa_unix_util.o.  So I don't get why it links on my computer but not my pi, and it's not something that I can easily test because compiling on my pi takes a very long time.

--Poke

On Sat, Jul 15, 2017 at 9:49 AM, Paul Licameli <[hidden email]> wrote:


On Sat, Jul 15, 2017 at 12:43 PM, Gale Andrews <[hidden email]> wrote:
Ubuntu 14.04.

I use default

./configure CXXFLAGS="-std=gnu++11"

Even on a fresh checkout, running make I get stuck on the following

audacity-AudioIO.o: In function `AudioIO::MidiTime()':
/home/gale/audacityHEAD/audacity/src/AudioIO.cpp:3984: undefined
reference to `PaUtil_GetTime'
collect2: error: ld returned 1 exit status
make[2]: *** [audacity] Error 1
make[2]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
make: *** [all-recursive] Error 1

Can anyone give some pointers how to get round this?

Thank you.


Gale

A link, not a compilation error.

Can you help us, Poke?

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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Getting stuck building on Linux

Paul Licameli
I think I see the problem, see commit 38fd97b8e26060332ab3e9e000a8882326a70ba7

This touches lib-src.  Can we put this small change upstream?  Roger?

I think the problem is that you can compile portaudio either as C or as C++, and if as C, then your build is fine, but if as C++, then the missing function was not given "C" linkage agreeing with the header file.

Or the other way to fix it is to make sure the makefiles always compile with C not C++.

PRL


On Sat, Jul 15, 2017 at 1:19 PM, Pokechu22 <[hidden email]> wrote:
I've seen this before, and it's an odd one.  It happens on some machines but not others.

Midi synchronization uses PaUtil_GetTime, which isn't part of portaudio's public API but instead is one of the methods declared in pa_util.h.  On some machines, this is still fine, but on others it doesn't link.  I'm not sure why.  In both cases, the method seems to be present in the binary: My pi has it as "000000c0 T PaUtil_GetTime" in pa_unix_util.o and my main computer, via windows subsystem for Linux, has it as "00000000000000f0 T PaUtil_GetTime" also in pa_unix_util.o.  So I don't get why it links on my computer but not my pi, and it's not something that I can easily test because compiling on my pi takes a very long time.

--Poke

On Sat, Jul 15, 2017 at 9:49 AM, Paul Licameli <[hidden email]> wrote:


On Sat, Jul 15, 2017 at 12:43 PM, Gale Andrews <[hidden email]> wrote:
Ubuntu 14.04.

I use default

./configure CXXFLAGS="-std=gnu++11"

Even on a fresh checkout, running make I get stuck on the following

audacity-AudioIO.o: In function `AudioIO::MidiTime()':
/home/gale/audacityHEAD/audacity/src/AudioIO.cpp:3984: undefined
reference to `PaUtil_GetTime'
collect2: error: ld returned 1 exit status
make[2]: *** [audacity] Error 1
make[2]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
make: *** [all-recursive] Error 1

Can anyone give some pointers how to get round this?

Thank you.


Gale

A link, not a compilation error.

Can you help us, Poke?

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Getting stuck building on Linux

Paul Licameli
What I did may be the minimal fix for the Audacity build, but the correct fix for portaudio upstream might enlarge the extern "C" block to include other functions declared "C" but not used by Audacity.

PRL


On Sat, Jul 15, 2017 at 1:34 PM, Paul Licameli <[hidden email]> wrote:
I think I see the problem, see commit 38fd97b8e26060332ab3e9e000a8882326a70ba7

This touches lib-src.  Can we put this small change upstream?  Roger?

I think the problem is that you can compile portaudio either as C or as C++, and if as C, then your build is fine, but if as C++, then the missing function was not given "C" linkage agreeing with the header file.

Or the other way to fix it is to make sure the makefiles always compile with C not C++.

PRL


On Sat, Jul 15, 2017 at 1:19 PM, Pokechu22 <[hidden email]> wrote:
I've seen this before, and it's an odd one.  It happens on some machines but not others.

Midi synchronization uses PaUtil_GetTime, which isn't part of portaudio's public API but instead is one of the methods declared in pa_util.h.  On some machines, this is still fine, but on others it doesn't link.  I'm not sure why.  In both cases, the method seems to be present in the binary: My pi has it as "000000c0 T PaUtil_GetTime" in pa_unix_util.o and my main computer, via windows subsystem for Linux, has it as "00000000000000f0 T PaUtil_GetTime" also in pa_unix_util.o.  So I don't get why it links on my computer but not my pi, and it's not something that I can easily test because compiling on my pi takes a very long time.

--Poke

On Sat, Jul 15, 2017 at 9:49 AM, Paul Licameli <[hidden email]> wrote:


On Sat, Jul 15, 2017 at 12:43 PM, Gale Andrews <[hidden email]> wrote:
Ubuntu 14.04.

I use default

./configure CXXFLAGS="-std=gnu++11"

Even on a fresh checkout, running make I get stuck on the following

audacity-AudioIO.o: In function `AudioIO::MidiTime()':
/home/gale/audacityHEAD/audacity/src/AudioIO.cpp:3984: undefined
reference to `PaUtil_GetTime'
collect2: error: ld returned 1 exit status
make[2]: *** [audacity] Error 1
make[2]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
make: *** [all-recursive] Error 1

Can anyone give some pointers how to get round this?

Thank you.


Gale

A link, not a compilation error.

Can you help us, Poke?

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Getting stuck building on Linux

Pokechu22
That fixes building on my pi.  Though, if the system version of portaudio is used, it probably won't make a difference; probably the m4 checklib file for portaudio needs to be changed to check if the system version is usable, which I can try to do.  In the mean time, using ./configure CXXFLAGS="-std=gnu++11" --with-portaudio=local should work.

--Poke

On Sat, Jul 15, 2017 at 10:37 AM, Paul Licameli <[hidden email]> wrote:
What I did may be the minimal fix for the Audacity build, but the correct fix for portaudio upstream might enlarge the extern "C" block to include other functions declared "C" but not used by Audacity.

PRL


On Sat, Jul 15, 2017 at 1:34 PM, Paul Licameli <[hidden email]> wrote:
I think I see the problem, see commit 38fd97b8e26060332ab3e9e000a8882326a70ba7

This touches lib-src.  Can we put this small change upstream?  Roger?

I think the problem is that you can compile portaudio either as C or as C++, and if as C, then your build is fine, but if as C++, then the missing function was not given "C" linkage agreeing with the header file.

Or the other way to fix it is to make sure the makefiles always compile with C not C++.

PRL


On Sat, Jul 15, 2017 at 1:19 PM, Pokechu22 <[hidden email]> wrote:
I've seen this before, and it's an odd one.  It happens on some machines but not others.

Midi synchronization uses PaUtil_GetTime, which isn't part of portaudio's public API but instead is one of the methods declared in pa_util.h.  On some machines, this is still fine, but on others it doesn't link.  I'm not sure why.  In both cases, the method seems to be present in the binary: My pi has it as "000000c0 T PaUtil_GetTime" in pa_unix_util.o and my main computer, via windows subsystem for Linux, has it as "00000000000000f0 T PaUtil_GetTime" also in pa_unix_util.o.  So I don't get why it links on my computer but not my pi, and it's not something that I can easily test because compiling on my pi takes a very long time.

--Poke

On Sat, Jul 15, 2017 at 9:49 AM, Paul Licameli <[hidden email]> wrote:


On Sat, Jul 15, 2017 at 12:43 PM, Gale Andrews <[hidden email]> wrote:
Ubuntu 14.04.

I use default

./configure CXXFLAGS="-std=gnu++11"

Even on a fresh checkout, running make I get stuck on the following

audacity-AudioIO.o: In function `AudioIO::MidiTime()':
/home/gale/audacityHEAD/audacity/src/AudioIO.cpp:3984: undefined
reference to `PaUtil_GetTime'
collect2: error: ld returned 1 exit status
make[2]: *** [audacity] Error 1
make[2]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
make: *** [all-recursive] Error 1

Can anyone give some pointers how to get round this?

Thank you.


Gale

A link, not a compilation error.

Can you help us, Poke?

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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Getting stuck building on Linux

Gale
Administrator
On 15 July 2017 at 21:28, Pokechu22
<[hidden email]> wrote:
> That fixes building on my pi.  Though, if the system version of portaudio is
> used, it probably won't make a difference; probably the m4 checklib file for
> portaudio needs to be changed to check if the system version is usable,
> which I can try to do.  In the mean time, using ./configure
> CXXFLAGS="-std=gnu++11" --with-portaudio=local should work.

Yes that enables me to link. Thank you.

Having imported a MIDI track I can't play it with the play button (OK
I have not
researched this yet). But no further audio generation or playback/recording
is then possible, as if MIDI playback were still running.

This seems poor, if it is supposed to be like this on Linux.


 Gale

> --Poke
>
> On Sat, Jul 15, 2017 at 10:37 AM, Paul Licameli <[hidden email]>
> wrote:
>>
>> What I did may be the minimal fix for the Audacity build, but the correct
>> fix for portaudio upstream might enlarge the extern "C" block to include
>> other functions declared "C" but not used by Audacity.
>>
>> PRL
>>
>>
>> On Sat, Jul 15, 2017 at 1:34 PM, Paul Licameli <[hidden email]>
>> wrote:
>>>
>>> I think I see the problem, see commit
>>> 38fd97b8e26060332ab3e9e000a8882326a70ba7
>>>
>>> This touches lib-src.  Can we put this small change upstream?  Roger?
>>>
>>> I think the problem is that you can compile portaudio either as C or as
>>> C++, and if as C, then your build is fine, but if as C++, then the missing
>>> function was not given "C" linkage agreeing with the header file.
>>>
>>> Or the other way to fix it is to make sure the makefiles always compile
>>> with C not C++.
>>>
>>> PRL
>>>
>>>
>>> On Sat, Jul 15, 2017 at 1:19 PM, Pokechu22
>>> <[hidden email]> wrote:
>>>>
>>>> I've seen this before, and it's an odd one.  It happens on some machines
>>>> but not others.
>>>>
>>>> Midi synchronization uses PaUtil_GetTime, which isn't part of
>>>> portaudio's public API but instead is one of the methods declared in
>>>> pa_util.h.  On some machines, this is still fine, but on others it doesn't
>>>> link.  I'm not sure why.  In both cases, the method seems to be present in
>>>> the binary: My pi has it as "000000c0 T PaUtil_GetTime" in pa_unix_util.o
>>>> and my main computer, via windows subsystem for Linux, has it as
>>>> "00000000000000f0 T PaUtil_GetTime" also in pa_unix_util.o.  So I don't get
>>>> why it links on my computer but not my pi, and it's not something that I can
>>>> easily test because compiling on my pi takes a very long time.
>>>>
>>>> --Poke
>>>>
>>>> On Sat, Jul 15, 2017 at 9:49 AM, Paul Licameli <[hidden email]>
>>>> wrote:
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Jul 15, 2017 at 12:43 PM, Gale Andrews <[hidden email]>
>>>>> wrote:
>>>>>>
>>>>>> Ubuntu 14.04.
>>>>>>
>>>>>> I use default
>>>>>>
>>>>>> ./configure CXXFLAGS="-std=gnu++11"
>>>>>>
>>>>>> Even on a fresh checkout, running make I get stuck on the following
>>>>>>
>>>>>> audacity-AudioIO.o: In function `AudioIO::MidiTime()':
>>>>>> /home/gale/audacityHEAD/audacity/src/AudioIO.cpp:3984: undefined
>>>>>> reference to `PaUtil_GetTime'
>>>>>> collect2: error: ld returned 1 exit status
>>>>>> make[2]: *** [audacity] Error 1
>>>>>> make[2]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
>>>>>> make[1]: *** [all] Error 2
>>>>>> make[1]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
>>>>>> make: *** [all-recursive] Error 1
>>>>>>
>>>>>> Can anyone give some pointers how to get round this?
>>>>>>
>>>>>> Thank you.
>>>>>>
>>>>>>
>>>>>> Gale
>>>>>
>>>>>
>>>>> A link, not a compilation error.
>>>>>
>>>>> Can you help us, Poke?
>>>>>
>>>>> 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
>>>>>> [hidden email]
>>>>>> 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
>>>>> [hidden email]
>>>>> 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
>>>> [hidden email]
>>>> 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
>> [hidden email]
>> 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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Getting stuck building on Linux

Pokechu22
Hm, no; that's not normal.  If you don't have any MIDI devices set up, it should give you a notification of that and cancel playback; you shouldn't get stuck with playback disabled.

--Poke

On Sat, Jul 15, 2017 at 3:06 PM, Gale Andrews <[hidden email]> wrote:
On 15 July 2017 at 21:28, Pokechu22
<[hidden email]> wrote:
> That fixes building on my pi.  Though, if the system version of portaudio is
> used, it probably won't make a difference; probably the m4 checklib file for
> portaudio needs to be changed to check if the system version is usable,
> which I can try to do.  In the mean time, using ./configure
> CXXFLAGS="-std=gnu++11" --with-portaudio=local should work.

Yes that enables me to link. Thank you.

Having imported a MIDI track I can't play it with the play button (OK
I have not
researched this yet). But no further audio generation or playback/recording
is then possible, as if MIDI playback were still running.

This seems poor, if it is supposed to be like this on Linux.


 Gale

> --Poke
>
> On Sat, Jul 15, 2017 at 10:37 AM, Paul Licameli <[hidden email]>
> wrote:
>>
>> What I did may be the minimal fix for the Audacity build, but the correct
>> fix for portaudio upstream might enlarge the extern "C" block to include
>> other functions declared "C" but not used by Audacity.
>>
>> PRL
>>
>>
>> On Sat, Jul 15, 2017 at 1:34 PM, Paul Licameli <[hidden email]>
>> wrote:
>>>
>>> I think I see the problem, see commit
>>> 38fd97b8e26060332ab3e9e000a8882326a70ba7
>>>
>>> This touches lib-src.  Can we put this small change upstream?  Roger?
>>>
>>> I think the problem is that you can compile portaudio either as C or as
>>> C++, and if as C, then your build is fine, but if as C++, then the missing
>>> function was not given "C" linkage agreeing with the header file.
>>>
>>> Or the other way to fix it is to make sure the makefiles always compile
>>> with C not C++.
>>>
>>> PRL
>>>
>>>
>>> On Sat, Jul 15, 2017 at 1:19 PM, Pokechu22
>>> <[hidden email]> wrote:
>>>>
>>>> I've seen this before, and it's an odd one.  It happens on some machines
>>>> but not others.
>>>>
>>>> Midi synchronization uses PaUtil_GetTime, which isn't part of
>>>> portaudio's public API but instead is one of the methods declared in
>>>> pa_util.h.  On some machines, this is still fine, but on others it doesn't
>>>> link.  I'm not sure why.  In both cases, the method seems to be present in
>>>> the binary: My pi has it as "000000c0 T PaUtil_GetTime" in pa_unix_util.o
>>>> and my main computer, via windows subsystem for Linux, has it as
>>>> "00000000000000f0 T PaUtil_GetTime" also in pa_unix_util.o.  So I don't get
>>>> why it links on my computer but not my pi, and it's not something that I can
>>>> easily test because compiling on my pi takes a very long time.
>>>>
>>>> --Poke
>>>>
>>>> On Sat, Jul 15, 2017 at 9:49 AM, Paul Licameli <[hidden email]>
>>>> wrote:
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Jul 15, 2017 at 12:43 PM, Gale Andrews <[hidden email]>
>>>>> wrote:
>>>>>>
>>>>>> Ubuntu 14.04.
>>>>>>
>>>>>> I use default
>>>>>>
>>>>>> ./configure CXXFLAGS="-std=gnu++11"
>>>>>>
>>>>>> Even on a fresh checkout, running make I get stuck on the following
>>>>>>
>>>>>> audacity-AudioIO.o: In function `AudioIO::MidiTime()':
>>>>>> /home/gale/audacityHEAD/audacity/src/AudioIO.cpp:3984: undefined
>>>>>> reference to `PaUtil_GetTime'
>>>>>> collect2: error: ld returned 1 exit status
>>>>>> make[2]: *** [audacity] Error 1
>>>>>> make[2]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
>>>>>> make[1]: *** [all] Error 2
>>>>>> make[1]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
>>>>>> make: *** [all-recursive] Error 1
>>>>>>
>>>>>> Can anyone give some pointers how to get round this?
>>>>>>
>>>>>> Thank you.
>>>>>>
>>>>>>
>>>>>> Gale
>>>>>
>>>>>
>>>>> A link, not a compilation error.
>>>>>
>>>>> Can you help us, Poke?
>>>>>
>>>>> 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
>>>>>> [hidden email]
>>>>>> 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
>>>>> [hidden email]
>>>>> 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
>>>> [hidden email]
>>>> 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
>> [hidden email]
>> 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
> [hidden email]
> 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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Getting stuck building on Linux

Paul Licameli


On Sat, Jul 15, 2017 at 6:29 PM, Pokechu22 <[hidden email]> wrote:
Hm, no; that's not normal.  If you don't have any MIDI devices set up, it should give you a notification of that and cancel playback; you shouldn't get stuck with playback disabled.

--Poke

Gale does not have all of your work if he builds audacity/master

And that is my fault, for not catching up yet in review and pushing of your stuff.

Please needle me to do that.

PRL

 

On Sat, Jul 15, 2017 at 3:06 PM, Gale Andrews <[hidden email]> wrote:
On 15 July 2017 at 21:28, Pokechu22
<[hidden email]> wrote:
> That fixes building on my pi.  Though, if the system version of portaudio is
> used, it probably won't make a difference; probably the m4 checklib file for
> portaudio needs to be changed to check if the system version is usable,
> which I can try to do.  In the mean time, using ./configure
> CXXFLAGS="-std=gnu++11" --with-portaudio=local should work.

Yes that enables me to link. Thank you.

Having imported a MIDI track I can't play it with the play button (OK
I have not
researched this yet). But no further audio generation or playback/recording
is then possible, as if MIDI playback were still running.

This seems poor, if it is supposed to be like this on Linux.


 Gale

> --Poke
>
> On Sat, Jul 15, 2017 at 10:37 AM, Paul Licameli <[hidden email]>
> wrote:
>>
>> What I did may be the minimal fix for the Audacity build, but the correct
>> fix for portaudio upstream might enlarge the extern "C" block to include
>> other functions declared "C" but not used by Audacity.
>>
>> PRL
>>
>>
>> On Sat, Jul 15, 2017 at 1:34 PM, Paul Licameli <[hidden email]>
>> wrote:
>>>
>>> I think I see the problem, see commit
>>> 38fd97b8e26060332ab3e9e000a8882326a70ba7
>>>
>>> This touches lib-src.  Can we put this small change upstream?  Roger?
>>>
>>> I think the problem is that you can compile portaudio either as C or as
>>> C++, and if as C, then your build is fine, but if as C++, then the missing
>>> function was not given "C" linkage agreeing with the header file.
>>>
>>> Or the other way to fix it is to make sure the makefiles always compile
>>> with C not C++.
>>>
>>> PRL
>>>
>>>
>>> On Sat, Jul 15, 2017 at 1:19 PM, Pokechu22
>>> <[hidden email]> wrote:
>>>>
>>>> I've seen this before, and it's an odd one.  It happens on some machines
>>>> but not others.
>>>>
>>>> Midi synchronization uses PaUtil_GetTime, which isn't part of
>>>> portaudio's public API but instead is one of the methods declared in
>>>> pa_util.h.  On some machines, this is still fine, but on others it doesn't
>>>> link.  I'm not sure why.  In both cases, the method seems to be present in
>>>> the binary: My pi has it as "000000c0 T PaUtil_GetTime" in pa_unix_util.o
>>>> and my main computer, via windows subsystem for Linux, has it as
>>>> "00000000000000f0 T PaUtil_GetTime" also in pa_unix_util.o.  So I don't get
>>>> why it links on my computer but not my pi, and it's not something that I can
>>>> easily test because compiling on my pi takes a very long time.
>>>>
>>>> --Poke
>>>>
>>>> On Sat, Jul 15, 2017 at 9:49 AM, Paul Licameli <[hidden email]>
>>>> wrote:
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Jul 15, 2017 at 12:43 PM, Gale Andrews <[hidden email]>
>>>>> wrote:
>>>>>>
>>>>>> Ubuntu 14.04.
>>>>>>
>>>>>> I use default
>>>>>>
>>>>>> ./configure CXXFLAGS="-std=gnu++11"
>>>>>>
>>>>>> Even on a fresh checkout, running make I get stuck on the following
>>>>>>
>>>>>> audacity-AudioIO.o: In function `AudioIO::MidiTime()':
>>>>>> /home/gale/audacityHEAD/audacity/src/AudioIO.cpp:3984: undefined
>>>>>> reference to `PaUtil_GetTime'
>>>>>> collect2: error: ld returned 1 exit status
>>>>>> make[2]: *** [audacity] Error 1
>>>>>> make[2]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
>>>>>> make[1]: *** [all] Error 2
>>>>>> make[1]: Leaving directory `/home/gale/audacityHEAD/audacity/src'
>>>>>> make: *** [all-recursive] Error 1
>>>>>>
>>>>>> Can anyone give some pointers how to get round this?
>>>>>>
>>>>>> Thank you.
>>>>>>
>>>>>>
>>>>>> Gale
>>>>>
>>>>>
>>>>> A link, not a compilation error.
>>>>>
>>>>> Can you help us, Poke?
>>>>>
>>>>> 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
>>>>>> [hidden email]
>>>>>> 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
>>>>> [hidden email]
>>>>> 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
>>>> [hidden email]
>>>> 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
>> [hidden email]
>> 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
> [hidden email]
> 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
[hidden email]
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
[hidden email]
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-devel
Loading...