building 4.0.7 may early fail: bzr

Bug #1748576 reported by Franck78
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Invalid
Undecided
Unassigned

Bug Description

Hello

Kicad 4.0.7

On some distro, building the stable release (4.0.7) may fail with error

TypeError: first argument must be string or compiled pattern

It happens at the very beginning of the process with calls to the 'removed' baazar tool.

This is a bug from the host distro fixed with a small change :

https://bugs.launchpad.net/bzr/+bug/1644003
https://code.launchpad.net/~vila/bzr/1657238-wrong-import/

or getting rid of bazaar.

Franck

Revision history for this message
Nick Østergaard (nickoe) wrote :

We don't use bazaar anymore. I don't even think 4.0.7 is in bazaar. So I don't know what you are really trying to do. And what distro are you talking about.

http://kicad-pcb.org/post/git-announcement/

Changed in kicad:
status: New → Invalid
Revision history for this message
Franck78 (fbourdonnec) wrote :
Download full text (9.2 KiB)

@Nick,

Just open files from 4.0 branch

root/CMakeModules/download_boost.cmake

and learn how Kicad is built.

"building the stable release" => do you need a translation ? building is NOT downloading or synchronising a tree.

YES KICAD 4 (the only valid release) IS USING BAAZAR

The distro it occurs on is irrelevant. It happens and it is the distro's bug.
Now you know.
And you can also finish your job of bzr removal.

or grep bzr .....
CreateBzrVersionHeader.cmake:macro( create_bzr_version_header _bzr_src_path )
CreateBzrVersionHeader.cmake: # If bzr is not found or an error occurs using the bzr commands to determine the repo
CreateBzrVersionHeader.cmake: # version, set the build version string to "no-bzr"
CreateBzrVersionHeader.cmake: set( KICAD_BUILD_VERSION "no-bzr" )
CreateBzrVersionHeader.cmake: COMMAND ${Bazaar_EXECUTABLE} revno --tree ${_bzr_src_path}
CreateBzrVersionHeader.cmake: OUTPUT_VARIABLE _bzr_TREE_DATE
CreateBzrVersionHeader.cmake: RESULT_VARIABLE _bzr_revno_result
CreateBzrVersionHeader.cmake: if( ${_bzr_revno_result} EQUAL 0 )
CreateBzrVersionHeader.cmake: COMMAND ${Bazaar_EXECUTABLE} log -r${_bzr_TREE_DATE} ${_bzr_src_path}
CreateBzrVersionHeader.cmake: OUTPUT_VARIABLE _bzr_LAST_CHANGE_LOG
CreateBzrVersionHeader.cmake: ERROR_VARIABLE _bzr_log_error
CreateBzrVersionHeader.cmake: RESULT_VARIABLE _bzr_log_result
CreateBzrVersionHeader.cmake: if( ${_bzr_log_result} EQUAL 0 )
CreateBzrVersionHeader.cmake: "\\2" Kicad_REPO_REVISION "${_bzr_LAST_CHANGE_LOG}" )
CreateBzrVersionHeader.cmake: "\\2" Kicad_REPO_LAST_CHANGED_AUTHOR "${_bzr_LAST_CHANGE_LOG}" )
CreateBzrVersionHeader.cmake: "\\2" Kicad_REPO_LAST_CHANGED_DATE "${_bzr_LAST_CHANGE_LOG}" )
CreateBzrVersionHeader.cmake: # Check to make sure 'bzr log' command did not fail. Otherwise, default
CreateBzrVersionHeader.cmake: # to "no-bzr" as the revision.
CreateBzrVersionHeader.cmake: _kicad_bzr_date ${Kicad_REPO_LAST_CHANGED_DATE} )
CreateBzrVersionHeader.cmake: set( KICAD_BUILD_VERSION "(${_kicad_bzr_date} BZR ${Kicad_REPO_REVISION})" )
download_boost.cmake:# easily, simply by editing the working tree in <SOURCE_DIR> and doing "bzr diff" in there.
download_boost.cmake:# repo = "${headers_src}/../.bzr" = "<SOURCE_DIR>/.bzr"
download_boost.cmake: # Revert the branch to pristine before applying patch sets as bzr patch
download_boost.cmake: PATCH_COMMAND bzr revert
download_boost.cmake: # bzr revert is insufficient to remove "added" files:
download_boost.cmake: COMMAND bzr clean-tree -q --force
download_boost.cmake: # tell bzr about "added" files by last patch:
download_boost.cmake: COMMAND bzr add libs/context/src/asm/jump_i386_x86_64_sysv_macho_gas.S
download_boost.cmake: COMMAND bzr add libs/context/src/asm/make_i386_x86_64_sysv_macho_gas.S
download_boost.cmake: # tell bzr about "added" files by last patch:
download_boost.cmake: COMMAND bzr add libs/context/src/asm/make_i386_ms_pe_gas.S
download_boo...

Read more...

Revision history for this message
Nick Østergaard (nickoe) wrote :

Firstly I don't understand what spits our the error you mention in the description.
"TypeError: first argument must be string or compiled pattern"

Secondly what are you trying to say?
"The distro it occurs on is irrelevant. It happens and it is the distro's bug.
Now you know.
And you can also finish your job of bzr removal."

So if it is a bug in your distro, then it is not a bug in kicad. We do not depend on bzr anymore and the next release is imminent. No new updates are made for the 4.0 branch. Depending on how broken your distro is, you can skip the boost option. Look in the source. This is the only of those things you show that are enabled by default in the 4.0 series of releases IIRC.

Revision history for this message
Franck78 (fbourdonnec) wrote :

"Firstly I...."

building the package, eg download tallball unzip make make install

It is a bug in my distro (opensuse 42.2), yes, not Kicad as I said.

Also stop saying bzr is removed when obviously it is not.

Can you say every builder choose the 'soon to be the v5 is the next future, I swear' over the known stable v4 ?
Can you tell how much builder will encounter this error and just pass their way ?

-it is not easy to track/fix this bzr bug (at leat someone will find it here)
-you strongly advise to use YOUR version+patches of boost.

Until v5 is released v4 is the active version and need some (small) attention.
And when v5 is out, there will be an overlap time. Still some maintenance to do.

Revision history for this message
Nick Østergaard (nickoe) wrote :

No, I just advised you to skip building boost to fix your issue. But if this fix works or not really depends on what boost version your system comes with. I could tell you that, but you were reluctant to tell me which system you were on in the first place. Now I will let that be an exercise for the reader.

By using the term "anymore" in #3 I of course mean the current master branch and not the 4.0 branch.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.