problem with weak external declaration