error building ardour - scons: *** [libs/pbd/path.os] Error 1

Hello! :slight_smile:

This is my first post! I’ve just joined the ardour community and I’m very happy for that! :slight_smile:

I’m on slackware-current with gcc-4.7.0 and I’m trying to build ardour-2.8.12 from source but the building unfortunately terminates because of errors. I’ve tried to build ardour with or without the LV2 support (by passing LV2=1 or LV2=0) but I get the same error message…

libs/pbd/ In member function ‘bool PBD::Path::readable_directory(const string&)’:
libs/pbd/ error: ‘R_OK’ was not declared in this scope
libs/pbd/ In function ‘bool PBD::find_file_in_path(const PBD::Path&, const string&, std::string&)’:
libs/pbd/ error: ‘R_OK’ was not declared in this scope
scons: *** [libs/pbd/path.os] Error 1
scons: building terminated because of errors.

@fourstrings: this particular issue is fixed in 2.0-ongoing in svn. You are using a brand new version of gcc. There will likely be many more errors like this. If you plan to continue attempting to build ardour2 with gcc 4.7, you should (1) check out the code frm svn (2) open a bug report for “compile issues with gcc 4.7” and continue to add new details there as these bugs show up.

ardour2 is in maintainance mode now, and there are no developers that I know of building ardour with 4.7 (and certainly not ardour2).

Thanks for your answer! The above issue was fixed, but building the “2.0-ongoing” with the gcc 4.7.0 unfortunately reported another error message.

libs/rubberband/src/main.cpp: In function ‘int main(int, char**)’:
libs/rubberband/src/main.cpp:497:25: error: ‘usleep’ was not declared in this scope
scons: *** [libs/rubberband/src/main.os] Error 1

According to your instruction I opened the bug report “compile issues with gcc 4.7.0” reporting the new issue.
(In the meantime I’m trying to compile the “Ardour 3.0 svn” with the gcc 4.7.0)


Why don’t you save yourself a lot of time and headaches and just install gcc 4.6 which has worked fabulously with both A3 and A2 for several months. This kind of stuff takes time for the devs to fix which is far better spent on improving the app itself especially at this point in Ardour 3 development… Compilers don’t take up much room and although I don’t use Slackware you should be able to run several versions of gcc on the same system.

You should be able to tell the shell you’re building in which compiler to use before compiling with a command like this:

export CC=/usr/bin/gcc-4.6

This is assuming you have both 4.6 and 4.7 on the system. Export the compiler in the terminal before you build Ardour.


…a brief feedback:
no problem compiling “Ardour 3.0 svn” wth the gcc 4.7.0!!!